Buenas a tod@s, tengo el siguiente problema. Tengo un pequeño formulario para seleccionar un archivo y que este se suba al servidor que hasta ahora ha funcionado perfectamente. Voy a trasladar la página a un servidor nuevo (Windows Server 2012 con PHP 7.0.7) y al hacer pruebas he visto que ha dejado de funcionar dando el siguiente error:
Notice: Undefined variable: HTTP_POST_FILES in D:\Intranetweb\Serviciosonline\enlaces_extranet\su bir.php on line 9
El código es el siguiente:
Código PHP:
Ver original<?php
$ruta = $_POST['ruta'] ;
$nombre=$_POST['contador'] ;
$tablon=$_POST['tablon'] ;
$circu=$_POST['circu'] ;
$N = 1; //Número de archivos a Subir
for($i=0; $i<$N; $i++) {
$split_path = split("/", $HTTP_POST_FILES['userfile']['name'][$i]); $split_path = end ($split_path); $extension = split("[/.]", $split_path);
if (end($extension) == "php" || end($extension) == "php3") { echo "tipo de archivo invalido";
} else {
$RUTA_UPLOADED = $ruta;
// echo $RUTA_UPLOADED;
$NOMBRE_FILE = $split_path;
if ($i==0) {
if (end($extension) == "rar" || end($extension) == "docx" || end($extension) == "xlsx" || end($extension) == "pptx" || end($extension) == "zip" || end($extension) == "pdf" || end($extension) == "doc" || end($extension) == "xls" || end($extension) == "ppt" ) { $NOMBRE_FILE = $nombre . $extension;
} else {
header("Location: default.asp?tablon=1&error=2"); }
}
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'][$i], $RUTA_UPLOADED . $nombre . "." . end($extension));
}
}
}
echo "subido";
//header("Location: subido.asp?subido=1&circu=" . $circu . "&tablon=" . $tablon ."&contador=" . $nombre . "&ext=" . end($extension));
?>
Y el error lo da justamente en la linea que pone if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'][$i]))
Imagino que se deberá a algún cambio en las diferentes versiones de php, pero no se que debo poner para que vuelva a funcionar.
Salu2 y gracias por adelantado.