Foros del Web » Programando para Internet » PHP »

Problema con upload de archivos

Estas en el tema de Problema con upload de archivos en el foro de PHP en Foros del Web. Hola a todos! Tengo un problemón con un upload de archivos que ya tenía armado. Resulta que en uno de mis servidores funciona perfectamente y ...
  #1 (permalink)  
Antiguo 19/11/2008, 08:10
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 6 meses
Puntos: 1
Problema con upload de archivos

Hola a todos! Tengo un problemón con un upload de archivos que ya tenía armado. Resulta que en uno de mis servidores funciona perfectamente y cuando lo pasé a otro server, me sale este error:

Warning: move_uploaded_file(m.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/sitedesa/public_html/proyectos/fotos/uploadok.php on line 18

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpbBDhon' to 'm.jpg' in /home/sitedesa/public_html/proyectos/fotos/uploadok.php on line 18

Problems with upload

El archivo upload es este y la línea q tira el error es la que tiene el asterisco *:

Código PHP:
        if(isset($_POST['action'])) {
//      if ($_POST["action"] == "upload") {
          
$tmpfile $_FILES['archivo']['tmp_name'];
          
$tmpname $_FILES['archivo']['name'];
          
$ftpuser "usuario";
          
$ftppass "pass";
          
$ftppath "ftp.misitio.com/public_html/proyectos/fotos/";
          
$ftpurl "ftp://".$ftpuser.":".$ftppass."@".$ftppath;


//places files into same dir as form resides
foreach ($_FILES["archivo"]["error"] as $key => $error) {
   if (
$error == UPLOAD_ERR_OK) {
       echo
"$error_codes[$error]";
       
move_uploaded_file(
         
$_FILES["archivo"]["tmp_name"][$key],
*         
$_FILES["archivo"]["name"][$key]) or die("Problems with upload");
   }
}
}
    
header("location: ../../dpanel/06uploadfiles.php");
    exit; 
Nunca me pasó esto... me podrían decir que es lo que hace que no suba los archivos?
Muchas gracias. MArx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #2 (permalink)  
Antiguo 19/11/2008, 08:14
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 18 años, 3 meses
Puntos: 70
Respuesta: Problema con upload de archivos

Hola marx-pola

Cita:
Warning: move_uploaded_file(m.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/sitedesa/public_html/proyectos/fotos/uploadok.php on line 18
Pues por los errores que te arroja, no tienes permiso para acceder desde php... Revisa eso, que tenga 0777 la carpeta "fotos".

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 19/11/2008, 09:16
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Problema con upload de archivos

Pero una cosa es que tengas los permisos desde el servidor y otra cosa es que tengas los permisos de "upload" para el usuario de ftp.

Revisa si tu usuario en el ftp puede subir archivos (por ejemplo conectandote desde algun cliente ftp y subiendo un txt a la carpeta donde quieres guardar los archivos)

Tambien seria bueno que si ya estas conectado, hicieras el movimiento de archivos desde ftp directamente, como por ejemplo con esta funcion:
Código php:
Ver original
  1. <?
  2. //archivo ftp_config.php
  3.  
  4.     $hostFTP    = "xxx.xxx.xxx.xxx";
  5.     $userFTP    = "username";
  6.     $passFTP    = "password";
  7.  
  8. ?>
  9.  
  10. //funcion para subir archivos en ftp
  11. <?
  12. function ftp_upload($archivoDestino,$archivoFuente){
  13.     require('ftp_config.php');
  14.     // establecer una conexion basica
  15.     $FTPconn = ftp_connect($hostFTP);
  16.     // inicio de sesion con nombre de usuario y contraseña
  17.     $loginFTP = ftp_login($FTPconn, $userFTP, $passFTP);
  18.    
  19.     // chequear la conexion
  20.     if ((!$FTPconn) || (!$loginFTP)) {
  21.         return "error";
  22.     } else {
  23.         // conectamos pasivamente
  24.         if(ftp_pasv($FTPconn,true)){
  25.             // cargar el archivo como el move_uploaded_file()
  26.             $carga = ftp_put($FTPconn,$archivoDestino,$archivoFuente,FTP_BINARY);
  27.             // chequear el status de la carga
  28.             if(!$carga){
  29.                 return "error";
  30.             }else{
  31.                 return "ok";
  32.             }
  33.             // cierra la secuencia FTP
  34.             ftp_close($FTPconn);
  35.         }else{
  36.             ftp_close($FTPconn);
  37.             return "conexion perdida";
  38.         }
  39.     }
  40. }
  41.  
  42. //manera de usarlo
  43. $archivo = '/carpetaDestino/'.date("m-d-Y_His").'_'.$_FILES['archivo']['name'];
  44. //cambio el nombre del archivo (por ej. test.jpg)
  45. //por el nombre con la fecha mes-dia-año_horaMinutoSegundo (ej. 11-19-2008_121235_test.jpg
  46. if(ftp_upload_video($archivo,$_FILES['archivo']['tmp_name']) == "ok"){
  47.     //archivo en ftp
  48.     echo "el archivo subio super!";
  49. }else{
  50.     //error
  51.     echo "may-day!!may-day!! (Houston, we have a problem!)";
  52. }
Puse la mayor cantidad de comentarios para que sirva.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #4 (permalink)  
Antiguo 19/11/2008, 10:01
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 6 meses
Puntos: 1
Respuesta: Problema con upload de archivos

Cita:
Iniciado por Marvin Ver Mensaje
Pero una cosa es que tengas los permisos desde el servidor y otra cosa es que tengas los permisos de "upload" para el usuario de ftp.

Revisa si tu usuario en el ftp puede subir archivos (por ejemplo conectandote desde algun cliente ftp y subiendo un txt a la carpeta donde quieres guardar los archivos)
Bueno... veamos:

Mediante el cuteftp puedo hacer todo tipo de subidas y de borrado tambien. Eso sin ningún problema a las carpetas designadas.

Ahora, probé tu código y me sale este error en la linea del require:
Parse error: syntax error, unexpected T_STRING in /home/sitedesa/public_html/ftpup.php on line 5

Lo modifique de todos lados y no engancha. Lo que no entiendo es como si tiene los mismos permisos ambos servidores en uno funcione y en el otro no... cosa rara.

Gracias por tu ayuda.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #5 (permalink)  
Antiguo 19/11/2008, 10:07
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Problema con upload de archivos

Cita:
Iniciado por marx-pola
Bueno... veamos:

Mediante el cuteftp puedo hacer todo tipo de subidas y de borrado tambien. Eso sin ningún problema a las carpetas designadas.
Ok, esto implica que si puedes subir archivos a esa carpeta tanto desde el server como del ftp. Excelente!

Cita:
Iniciado por marx-pola
Ahora, probé tu código y me sale este error en la linea del require:
Parse error: syntax error, unexpected T_STRING in /home/sitedesa/public_html/ftpup.php on line 5

Lo modifique de todos lados y no engancha. Lo que no entiendo es como si tiene los mismos permisos ambos servidores en uno funcione y en el otro no... cosa rara.

Gracias por tu ayuda.
Ok, "probé tu código" que quiere decir?
1.- Copiaste todo el codigo a una pagina y revisaste si funcionaba?
2.- Leiste los comentarios para ir poniendo los pedazos de codigo donde corresponde?

El error que te tira es porque hay un problema en la sintaxis del codigo, eso quiere decir que debe haber algun problema con lo que esta escrito en esa linea (o en la anterior)

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #6 (permalink)  
Antiguo 19/11/2008, 10:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Problema con upload de archivos

Recuerda que aunque en un servidor sirva y en otro no puede ser por una diferencia de como esta instalado PHP, en un servidor puede estar como CGI y en otro como modulo por lo que siempre es recomendable tener la carpeta como 777.

Saludos
  #7 (permalink)  
Antiguo 19/11/2008, 11:04
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 6 meses
Puntos: 1
Respuesta: Problema con upload de archivos

Estuve leyendo acerca de tener las carpetas con permisos 777, pero desde el ftp no me lo deja cambiar... o sea, marco todas las opciones, me dice permisos 777, acepto y cuando vuelvo a ver los permisos, está igual que antes.
Encima este trabajo ya está online y los encargados tienen q subir si o si archivos de información para otros usuarios y justo me pasa esto... me quiero matar porque no le encientro la vuelta y nos están presionando de todos lados. Realmente creo que no estoy haciendo bien lo que me dice Marvin porque no le encientro la vuelta y acá estan bastante nerviosos. Estoy poniendo y sacando código y no le encuentro la vuelta.

No sé... voy a seguir viendo pero estoy con la soga al cuello la PTM...

Gracias igualmente. MArx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #8 (permalink)  
Antiguo 19/11/2008, 11:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Problema con upload de archivos

Contacta con tu servicio de hosting y ve porque no puedes cambiar los permisos, es más rapido a que muevas el código que si funciona correctamente.

Saludos.
  #9 (permalink)  
Antiguo 19/11/2008, 11:30
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 6 meses
Puntos: 1
Respuesta: Problema con upload de archivos

Es verdad GatorV. Ya voy a ver por ese lado, urgente. Gracias.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #10 (permalink)  
Antiguo 20/11/2008, 08:28
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 6 meses
Puntos: 1
Respuesta: Problema con upload de archivos

Bueno... efectivamente era problema de permisos de servidor y ya pude arreglarlo, pero me surgió otro problema y es que no me suben archivos de mas de 1mb. Traté de subir un archivo.rar de 2.3mb y parece que sube pero cuando voy a ver el mismo en el servidor, no está.

¿Por qué es esto?

Gracias nuevamente.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #11 (permalink)  
Antiguo 20/11/2008, 08:40
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Problema con upload de archivos

Eso es porque el php.ini tiene esa configuracion... y eso tienes que tambien hablarlo con la gente del hosting para que puedas subir archivos de mayor tamaño para que lo reconfiguren.

(Basicamente son un par de lineas que tienen q cambiar y eso no deberia ser un problema)

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #12 (permalink)  
Antiguo 20/11/2008, 08:42
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 6 meses
Puntos: 1
Respuesta: Problema con upload de archivos

Genial Marvin. Nuevamente muchas gracias.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
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 14:06.