Foros del Web » Programando para Internet » PHP »

en windows si pero linux no

Estas en el tema de en windows si pero linux no en el foro de PHP en Foros del Web. Hola compañeros, me he quebrado la cabeza como muchos de ustedes alguna vez... Ahora acudo por una duda... tengo mi código, simple para envío de ...
  #1 (permalink)  
Antiguo 04/03/2008, 14:08
 
Fecha de Ingreso: junio-2004
Mensajes: 4
Antigüedad: 19 años, 10 meses
Puntos: 0
en windows si pero linux no

Hola compañeros, me he quebrado la cabeza como muchos de ustedes alguna vez...

Ahora acudo por una duda... tengo mi código, simple para envío de archivos al servidor, instalando en windows todo funciona bien (que raro) y en mi servidor linux, el mismo código, los mismos archivos fallan no encuentro razón.

<?php
//tomo el valor de un elemento de tipo texto del formulario
$cadenatexto = $_POST["cadenatexto"];
echo "Escribió en el campo de texto: " . $cadenatexto . "<br><br>";

//datos del arhivo
$nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
$tipo_archivo = $HTTP_POST_FILES['userfile']['type'];
$tamano_archivo = $HTTP_POST_FILES['userfile']['size'];

if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $nombre_archivo)){
echo "El archivo ha sido cargado correctamente.";
}else{
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
}
?>


ya saben es el clásico, solo que en linux se va misteriosamente a else y me sale este mensaje "ocurrió algún error al subir el fichero. No puede guardarse." y luego? no hay nada de documentación al respecto..

Espero me puedan ayudar... porque ya se cerró mi cerebro..

saludos
  #2 (permalink)  
Antiguo 04/03/2008, 14:17
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: en windows si pero linux no

Creo que te falta especificar la ruta de la carpeta donde subiras el archivo

Código PHP:
if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $ruta_directorio.$nombre_archivo)){ 
echo 
"El archivo ha sido cargado correctamente."
}else{ 
echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse."

Saludos.
  #3 (permalink)  
Antiguo 04/03/2008, 14:18
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Re: en windows si pero linux no

solo veo que mueves un archivo en:

contestaron antes y mejor,
yo es que primero guardo un archivo en una carpeta temporal
y cuando esta terminado de cargar lo guardo, pero tiene razon Carlojas
  #4 (permalink)  
Antiguo 04/03/2008, 16:10
 
Fecha de Ingreso: junio-2004
Mensajes: 4
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: en windows si pero linux no

Caballeros, muchas gracias pero.... entiendo la cuestión que me plantean y trato de resolverla pero me surge otra duda...

la carpeta por default es donde se encuentra mi archivo? todo esta cargado en esta ruta: /var/www/html/prueba/formulariophp/06 este será el contenido de mi variable??

$ruta_directorio = "/var/www/html/prueba/formulariophp/06/"

y para copiarlo...

if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $ruta_directorio.$nombre_archivo))

agradezco su atención
  #5 (permalink)  
Antiguo 04/03/2008, 16:26
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: en windows si pero linux no

En $ruta_directorio estara el directorio(valga la redundancia) donde deseas que queden alojados tus archivos en el servidor.




Saludos.
  #6 (permalink)  
Antiguo 05/03/2008, 12:49
 
Fecha de Ingreso: junio-2004
Mensajes: 4
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: en windows si pero linux no

Ya hice e intente una y otra opción pero.. no, incluso alguien me dijo acerca de los permisos de las carpetas y, las modifiqué a 777 en mi intento desesperado pero, sigue saliendo el mismo error...

<?php
$cadenatexto = $_POST["cadenatexto"];
echo "Escribió en el campo de texto: " . $cadenatexto . "<br><br>";

$nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
$tipo_archivo = $HTTP_POST_FILES['userfile']['type'];
$tamano_archivo = $HTTP_POST_FILES['userfile']['size'];
$ruta_directorio = "/var/www/html/pruebas/formulariophp/06/";

if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $ruta_directorio.$nombre_archivo)){
echo "El archivo ha sido cargado correctamente.";
}else{
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
}
?>

gracias...
  #7 (permalink)  
Antiguo 05/03/2008, 12:52
 
Fecha de Ingreso: junio-2004
Mensajes: 4
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: en windows si pero linux no

LISTO..

REINICIÉ EL SERVICIO DE APACHE Y AHORA TODO FUNCIONA CORRECTAMENTE MUCHAS GRACIAS COMPAÑEROS...

SALUDOS
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 00:20.