Hola foreros, tengo un problema con un formulario de upload de archivos debido a un cambio de servidor, en el antiguo servidor tenía "register_globals en off" y ahora las tengo "en On"... y no tengo ni idea de como cambiarlas.
Tengo en la página "form.htm" el siguiente formulario:
Titular: <input name="Titular" type="text" id="Titular" value="" size="50>
Texto:<textarea name="Texto" cols="40" rows="5" id="Texto"></textarea>
Foto asociada:<input name="file" type="file" class="campos"></input>
Y el script de recogida de datos es el siguiente:
<?php
session_start();
$_SESSION['texto']=str_replace("\n", "<br>", $_POST['Texto']);
$_SESSION['titular']=str_replace(""", "'", $_POST['Titular']);
$file_name = str_replace(' ','%20',$file_name);
if($file_name !="") //AQUI ESTÁ EL PROBLEMA, ESTA VARIABLE NO TOMA NINGUN VALOR Y ENTONCES NO HACE NADA
{
copy("$file", "/home/httpd/vhosts/midominio.com/httpdocs/images/noticias/$file_name")
or die("No se puedo copiar la imagen");
list($ancho, $altura, $tipo, $attr) = getimagesize("/home/httpd/vhosts/midominio.com/httpdocs/images/noticias/$file_name");
$height=(($altura*200)/$ancho);
if ($tipo==2){
$abc = imagecreatefromjpeg("../../images/noticias/$file_name"); //creamos una imagen nueva a partir de la que se menciona
$def = imagecreatetruecolor(200, $height); //creamos el marco de una imagen en blanco del tamaño referido
//echo "La imagen es un JPEG";
}
elseif ($tipo==1)
{
$abc = imagecreatefromgif("../../images/noticias/$file_name"); //creamos una imagen nueva a partir de la que se menciona
$def = imagecreate(200, $height); //creamos el marco de una imagen en blanco del tamaño referido
//echo "La imagen es un GIF";
}
else
{
$_SESSION['img_invalid']=true;
header("Location:../noticias.php");
exit;
}
imagecopyresized($def, $abc, 0, 0, 0, 0, 200, $height, $ancho, $altura); //copia una porción rectangular de la imagen $abc en $def desde las coordenadas tal y un tamaño pascual
imagejpeg($def, "../../images/noticias/$file_name", 85); //la imagen creada con el imagecopyresized es producida, se le da un nombre y una calidad 85%
ImageDestroy($abc); //destruye la imagen temporal para liberar recursos del server
ImageDestroy($def); //destruye la imagen temporal para liberar recursos del server
?>
El problema es que no me sube la imagen, debido a lo que comentaba de las register_globals, el resto del script funciona bien.
A ver si alguien me puede decir cómo recoger el valor del campo "file".
Muchas gracias.