Foros del Web » Programando para Internet » PHP »

move_uploaded_file, no copia archivo donde debería ser!

Estas en el tema de move_uploaded_file, no copia archivo donde debería ser! en el foro de PHP en Foros del Web. <?php $directorio = 'img_/' ; $nombre_archivo = $ _FILES [ 'file' ][ 'name' ]; $uploaddir = "$directorio/$cve_avaluo/" ; $uploadfile = "$uploaddir/$nombre_archivo" ; (! is_dir ( ...
  #1 (permalink)  
Antiguo 15/12/2008, 21:10
Avatar de Yamilskate  
Fecha de Ingreso: septiembre-2006
Mensajes: 94
Antigüedad: 17 años, 7 meses
Puntos: 0
Pregunta move_uploaded_file, no copia archivo donde debería ser!

<?php
$directorio = 'img_/';
$nombre_archivo = $_FILES['file']['name'];

$uploaddir = "$directorio/$cve_avaluo/";
$uploadfile = "$uploaddir/$nombre_archivo";

(!is_dir('C:/wamp/www/subir_archivos/img_/'.$cve_avaluo))? mkdir($uploaddir, 0777) : $mess_error .='Error la carpeta ya existe <br>';//crea el directorio
if (is_dir('C:/wamp/www/subir_archivos/img_/'.$cve_avaluo)) echo "existe el directorio"; else echo "no existe";

if (is_uploaded_file(@$_FILES['file']['tmp_name']))
move_uploaded_file(@$_FILES['file']['tmp_name'], $uploadfile);

?>

El problema es:
Hay un comportamiento extraño pués este código me crea correctamente la carpeta con el valor de "$cve_avaluo" pero mi archivo no lo carga en dicha carpeta, sino que lo pone en el directorio padre, osea en 'C:/wamp/www/subir_archivos/img_/

Última edición por Yamilskate; 15/12/2008 a las 21:16
  #2 (permalink)  
Antiguo 15/12/2008, 21:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: move_uploaded_file, no copia archivo donde debería ser!

entonces... no crees que debes poner la ruta completa en $directorio = 'img_/'; también ???




has un echo del getcwd() ... así averiguas en que ruta estas, y si puedes... usa su ruta absoluta

demás, para que estas usando C:/wamp/www/subir_archivos/img_/ ???

y después... estas creando $uploaddir (y no tiene la ruta comparada C:/wamp/...) !!!


PDTA: usa [php][/php] para el color automático, no te gastes!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 15/12/2008 a las 21:26
  #3 (permalink)  
Antiguo 15/12/2008, 22:05
Avatar de Yamilskate  
Fecha de Ingreso: septiembre-2006
Mensajes: 94
Antigüedad: 17 años, 7 meses
Puntos: 0
Hola amigo, ya había intentado eso de poner la ruta completa antes, pero no funciona, de igual forma el script pasa cómo si no existiera la carpeta que acabo de crear. (Osea si crea la carpeta, pero la imagen la copia fuera de dicha carpeta a pesar de que especifico en el código que debe ir en esta carpeta:

Código PHP:
<?php
$directorio 
'C:/wamp/www/subir_archivos/img_/';
$nombre_archivo $_FILES['file']['name'];

$uploaddir "$directorio/$cve_avaluo/";
$uploadfile "$uploaddir/$nombre_archivo";

(!
is_dir($uploadfile))?    mkdir($uploaddir0777) : $mess_error .='Error la carpeta ya existe <br>';//crea el directorio
if (is_dir($uploadfile)) echo "existe el directorio"; else echo "no existe";

if (
is_uploaded_file(@$_FILES['file']['tmp_name']))
move_uploaded_file(@$_FILES['file']['tmp_name'], $uploadfile);

?>
Le hice el getcwd y estoy en el directorio C:\wamp\www\subir_archivos, eso ya lo sabía amigo, es por lo mismo q se me hace muy extraño, pues aparentemente mi código esta bien...

AYUDA!!!! A caso PHP esta loco?

PD: Gracias por la noticia, no sabía q tenian el mod de código php en el foro xD!!!

Creo q si es error de php... =(

De igual forma gracias, salu2!!!

Última edición por GatorV; 17/12/2008 a las 18:53
  #4 (permalink)  
Antiguo 17/12/2008, 18:09
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: move_uploaded_file, no copia archivo donde debería ser!

No, no es error de PHP. Las computadoras simplemente no "olvidan" las cosas, o no las hacen como deberian hacerlas.

Código PHP:
$uploaddir "$directorio/$cve_avaluo/"
Fijate en esa linea, dices que $uploaddir es $directorio/$cve_avaluo.
Pero $directorio es: C:/wamp/www/subir_archivos/img_/
Entonces te quedaria algo como:
$uploaddir = C:/wamp/www/subir_archivos/img_//loqueseaquecontengaavaluo....

-_-
  #5 (permalink)  
Antiguo 17/12/2008, 18:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: move_uploaded_file, no copia archivo donde debería ser!

claro...

si no, has un echo de tu variable $uploadfile ¿¿haber si se equivoca???
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 17/12/2008, 18:59
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: move_uploaded_file, no copia archivo donde debería ser!

Código:
if (is_uploaded_file(@$_FILES['file']['tmp_name']))
move_uploaded_file(@$_FILES['file']['tmp_name'], $uploadfile);
No entiendo muy bien esto, pero antes de mover el archivo podrias ver si $_FILES['file']['error'] es cero.

Código PHP:
if($_FILES['file']['error'] == 0) {
    if(
move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile))
        echo 
'Todo bien';
    else
        echo 
'No se pudo mover el archivo';
} else
    echo 
'El archivo no se subio correctamente.'
__________________
- León, Guanajuato
- GV-Foto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:06.