Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/10/2004, 03:02
Avatar de damargon
damargon
 
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 386
Antigüedad: 20 años, 10 meses
Puntos: 3
Exclamación Problema con Upload de ficheros

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("&quot;", "'", $_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.

Última edición por damargon; 24/10/2004 a las 03:04