Foros del Web » Programando para Internet » PHP »

Upload de archivos a servidor Apache en Linux..

Estas en el tema de Upload de archivos a servidor Apache en Linux.. en el foro de PHP en Foros del Web. Hola a todos espero que se encuentren muy bien mi problema es el siguiente tengo una aplicacion que funciona muy bien en Windows pero no ...
  #1 (permalink)  
Antiguo 12/02/2008, 08:11
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Pregunta Upload de archivos a servidor Apache en Linux..

Hola a todos espero que se encuentren muy bien mi problema es el siguiente tengo una aplicacion que funciona muy bien en Windows pero no en Linux ya que tengo una carpeta llamad "docs" que es donde subo los documentos que los usuarios desean funciona muy bien en Windows pero no en Linux y no se por que?? abra algun error en el direccionamiento..??

function upload()
{
if (is_uploaded_file($HTTP_POST_FILES['link']['tmp_name'])) {
$dir="{$_SERVER['DOCUMENT_ROOT']}/docs";
if(move_uploaded_file($_FILES['link']['tmp_name'], $dir."/".$_FILES['link']['name']))
{
$filename=basename($HTTP_POST_FILES['link']['name']);
}
else{
echo "The file could not be uploaded..";
}
}
else
{
echo "The file could not be uploaded..";
}
return $filename;
}

y en el formulario donde recojo los datos del archivo antes de guardarlo a la BD hago referencia a la funcion de la siguiente manera..

$filename = upload(); <-- Esta funcion esa en un archivo del mismo nombre en la misma carpeta..

Espero me de a entender tengo mi servidor para que me muestre los errores y aun asi no me tira error y no se por que sera..

Buenos dias..

Salu2..!!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #2 (permalink)  
Antiguo 12/02/2008, 09:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Upload de archivos a servidor Apache en Linux..

¿Haz checado que los permisos de tu folder docs estén bien especificados?

Saludos.
  #3 (permalink)  
Antiguo 12/02/2008, 11:00
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Upload de archivos a servidor Apache en Linux..

Pues mira no te sabria decir ya que lo cree en Windows y lo copie junto con toda la aplicacion al servidor no se si estara bien lo que hice??

Salu2.!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #4 (permalink)  
Antiguo 12/02/2008, 12:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Upload de archivos a servidor Apache en Linux..

Si estas en Linux, desde tu cliente FTP debes de asignarle los permisos a la carpeta docs para que el usuario sobre el que esta corriendo tu Apache pueda escribir en esa carpeta (por lo general son permisos 777).

Saludos.
  #5 (permalink)  
Antiguo 13/02/2008, 08:44
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Upload de archivos a servidor Apache en Linux..

Hola pues mira GatorV ya comprobe los permisos y estan bien estan en 755, y me permite crear y borrar archivos de esa carpeta no se que sera..?

no tendra algo que ver el direccionamiento de la carpetas??

Salu2..!!!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #6 (permalink)  
Antiguo 13/02/2008, 09:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Upload de archivos a servidor Apache en Linux..

Pues deberías de comprobar los paths, que estén correctos, recuerda que en Linux y en Windows las rutas cambian (para empezar no existe C:/).

Saludos.
  #7 (permalink)  
Antiguo 20/02/2008, 13:30
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Upload de archivos a servidor Apache en Linux..

Hola GatorV, pues te dire que aun sigo en lo mismo ya busque y no se si tendre algo mal

te mando mi codigo modificado para que veas si hay algun problema..

$directorio = "{$_SERVER['DOCUMENT_ROOT']}/aplicacion/docs/";
if(is_uploaded_file($HTTP_POST_FILES['link']['tmp_name'])){
if (move_uploaded_file($_FILES['link']['tmp_name'], $directorio . $_FILES['link']['name']))
{
$filename=basename($HTTP_POST_FILES['link']['name']);
}
else
{
echo "Error al intentar subir el archivo.";
}
}

SALU2..!!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #8 (permalink)  
Antiguo 20/02/2008, 13:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Upload de archivos a servidor Apache en Linux..

Prueba en lugar de usar $HTTP_POST_FILES usar el súper arreglo de $_FILES en todas tus operaciones, y verifica que $_SERVER['DOCUMENT_ROOT'] tiene el valor correcto.

Saludos.
  #9 (permalink)  
Antiguo 20/02/2008, 13:49
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Upload de archivos a servidor Apache en Linux..

Hola GatorV ya verifique $_SERVER['DOCUMENT_ROOT'] y si me da los valores correctos..

Intentare con el $_FILES a ver que me dice..
Lo raro es que en Windows me funciona a la perfeccion no se por que en Linux No..?

:s

Salu2..!!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #10 (permalink)  
Antiguo 20/02/2008, 13:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Upload de archivos a servidor Apache en Linux..

Versiones mas nuevas de PHP, desactivaron el uso de los arreglos viejos como $HTTP_POST_FILES.

Saludos.
  #11 (permalink)  
Antiguo 20/02/2008, 13:53
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Upload de archivos a servidor Apache en Linux..

Pues lamento informar que nada.. no se por que sera Linux en la configuracion del php.ini no tiene una direccion en upload_temp_dir pero dice que usa la default del sistema.. no se si sera algo?

Salu2..!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #12 (permalink)  
Antiguo 20/02/2008, 13:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Upload de archivos a servidor Apache en Linux..

Prueba imprimir el resultado de $_FILES['link']['error'] y comparalo con la lista de errores de PHP.

Saludos.
  #13 (permalink)  
Antiguo 20/02/2008, 14:07
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Upload de archivos a servidor Apache en Linux..

Notice: Undefined index: link in /var/www/html/aplicacion/files/pages/documents_rw.php on line 35

Pues nada GatorV pero me aparece este error desde que cambie mi forma de subir el archivo..

Salu2..!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #14 (permalink)  
Antiguo 20/02/2008, 15:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Upload de archivos a servidor Apache en Linux..

¿Te aparece ese notice al hacer echo $_FILES['link']['error']?

Saludos.
  #15 (permalink)  
Antiguo 20/02/2008, 19:34
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 225
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Upload de archivos a servidor Apache en Linux..

verifica las globals
  #16 (permalink)  
Antiguo 21/02/2008, 06:52
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Upload de archivos a servidor Apache en Linux..

No me aparece desde que cambie la forma de subir los archivos a mi servidor.. y las Globals estan en Off..

Con $_File['link']['error'] no me aparece nada..


salu2..!!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #17 (permalink)  
Antiguo 21/02/2008, 09:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Upload de archivos a servidor Apache en Linux..

Prueba hacer un var_dump( $_FILES ); y pega aqui el resultado que te da.

Saludos.
  #18 (permalink)  
Antiguo 21/02/2008, 10:14
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Upload de archivos a servidor Apache en Linux..

Hola amigos por fin me tiro un error

array(1) { ["link"]=> array(5) { ["name"]=> string(5) "3.jpg" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(14) "/tmp/php8ok212" ["error"]=> int(0) ["size"]=> int(588744) } }
Warning: move_uploaded_file(/var/www/html/item_master/docs/3.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /var/www/html/aplicacion/files/pages/documents_rw.php on line 45

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/php8ok212' to '/var/www/html/aplicacion/docs/3.jpg' in /var/www/html/item_master/files/pages/documents_rw.php on line 45
Error al intentar subir el archivo.

Espero puedan entender de que se trata..

Salu2..!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #19 (permalink)  
Antiguo 21/02/2008, 10:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Upload de archivos a servidor Apache en Linux..

El problema ahora es claro, no tienes los permisos en la carpeta donde quieres subir el archivo, tu carpeta tiene que tener permisos 777 para poder copiar los archivos.

Saludos.
  #20 (permalink)  
Antiguo 21/02/2008, 11:09
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Upload de archivos a servidor Apache en Linux..

Si era eso GatorV te agradezco la ayuda y a "talcual" por el apoyo ya lo resolvi y era eso.. mi codigo estaba bien lo unico malo eran los permisos ya que tenia permiso 775 y no 777 ya que no tenia permiso para copiar pero no para ejecutar scripts.. Buenos eso lei.. :s

Gracias a todos y

Salu2..!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:12.