Foros del Web » Programando para Internet » PHP »

PHP OO Que error hay aqui - no puedo hacer upload

Estas en el tema de Que error hay aqui - no puedo hacer upload en el foro de PHP en Foros del Web. Hola, bueno primero el codigo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original class upload {     private function obtener_extencion ( $string ) {     ...
  #1 (permalink)  
Antiguo 30/01/2013, 19:55
Avatar de kendall00  
Fecha de Ingreso: septiembre-2011
Ubicación: $Ubicacion => ['Costa Rica'];
Mensajes: 85
Antigüedad: 8 años, 6 meses
Puntos: 5
Que error hay aqui - no puedo hacer upload

Hola, bueno primero el codigo:
Código PHP:
Ver original
  1. class upload{
  2.     private function obtener_extencion($string){
  3.     $new_array = explode(".",$string);
  4.     $extencion = end($new_array);
  5.     return $extencion; 
  6.     }
  7.     public function doit($tipo,$usuario){
  8.         $ip = $_SERVER['REMOTE_ADDR'];
  9.             $fecha = date('l jS \of F Y h:i:s A P ').' GMT';
  10.             $navegador = $_SERVER['HTTP_USER_AGENT'];
  11.             #########################################################################################################
  12.             $nombre_original = $_FILES['archivo']['name'];
  13.             $temporal = $FILES['archivo']['tmp_name'];
  14.             $directorio_de_carga = "u/imagenes/";
  15.             $nombre_nuevo_1 = $directorio_de_carga.$nombre_original;
  16.             move_uploaded_file($temporal,$nombre_nuevo_1);
  17.             $solo = "perfil_".$usuario.".".$this->obtener_extencion($nombre_original);
  18.             $nombre_nuevo_2 = $directorio_de_carga . $solo;
  19.             rename($nombre_nuevo_1,$nombre_nuevo_2);
  20.             #rename($nombre_nuevo,$nombre_nuevo);
  21.             mysql_query("INSERT INTO uploads (archivo_original,archivo_renombrado,directorio,usuario,ip,navegador,fecha)
  22.                         VALUES('$nombre_original','$nombre_nuevo','$directorio_de_carga','$usuario','$ip','$navegador','$fecha')");
  23.             mysql_query("UPDATE usuarios SET foto='$solo' WHERE usuario='$usuario'");
  24.     }
  25. }
Todo el script funciona perfectamente, me registra la subida en la 1era base de datos y me actualiza en la 2da, el problema radica en que al parecer me carga el archivo pero no me aparece en la carpeta "imagenes" del servidor.
Notas:
- El directorio de subida tiene permisos 777
- Se que no hay validaciones eso lo agrego despues..!
- Puedo tener acceso al nombre y los detalles del archivo, creo el problema es en move_uploaded_file, pero no se en que.
Gracias! de antemano, toda ayuda sirve.
P.D la clase la llamo desde un archivo llamado 'send.php' esta en el mismo directorio que la carpeta 'u' y el archivo con la clase del codigo anterior esta en la carpeta 'cyf' igual en el mismo directorio que send.php
__________________
El limite es la imaginacion... con Dios todo es posible.

Última edición por kendall00; 30/01/2013 a las 20:16
  #2 (permalink)  
Antiguo 31/01/2013, 06:13
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 11 años, 8 meses
Puntos: 1532
Respuesta: Que error hay aqui - no puedo hacer upload

revise:

1 - que el form tenga el enctype adecuado
2 - que el archivo no exceda la directiva upload_max_filesize y post_max_filesize

además no entiendo el porque haces rename si desde move_uploaded_file le puedes cambiar el nombre directamente.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 31/01/2013, 16:52
Avatar de kendall00  
Fecha de Ingreso: septiembre-2011
Ubicación: $Ubicacion => ['Costa Rica'];
Mensajes: 85
Antigüedad: 8 años, 6 meses
Puntos: 5
Respuesta: Que error hay aqui - no puedo hacer upload

Con la primera enctype es multipart/form-data tal como dice en la documentacion..! Y con la segunda todo esta correcto :l
__________________
El limite es la imaginacion... con Dios todo es posible.

Etiquetas: kendall00, poo, upload
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 06:05.