Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Subir imágenes a directorio en servidor

Estas en el tema de Subir imágenes a directorio en servidor en el foro de PHP en Foros del Web. Hola, tengo el siguiente código en PHP para intentar subir imágenes a un directorio en mi servidor Web @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $fileName2 ...
  #1 (permalink)  
Antiguo 30/10/2014, 12:52
Avatar de Beuses  
Fecha de Ingreso: marzo-2009
Ubicación: Maracaibo
Mensajes: 132
Antigüedad: 15 años, 9 meses
Puntos: 5
Pregunta Subir imágenes a directorio en servidor

Hola, tengo el siguiente código en PHP para intentar subir imágenes a un directorio en mi servidor Web

Código PHP:
Ver original
  1. $fileName2 = time().$fileName;
  2. $lugar="fotosproyectos/";
  3. if(move_uploaded_file($_FILES['files']['tmp_name'],$lugar.$fileName2)){
  4.     $isertImagen = mysql_query("INSERT INTO tbl_foto_ideas_proyectos
  5.     (name, type, size, content, id_ip) VALUES
  6.     ('$fileName', '$fileType', '$fileSize', '$content', '$IdIp');");
  7. }

El problema es que no se que estoy haciendo mal que no me ha copiado la imagen en la carpeta de mi hosting. le di los permisos a esa carpeta quedando en 777 y nada..

Tampoco se depurar esa función para decir por ejemplo move_uploaded_file().error() y ver la causa de la falla.

Estoy intentando guardar imágenes para crear álbumes en mi web pero no he podido lograrlo!!

Actualmente funciona guandandose en la base de datos directamente la imagen. pero por problemas de trafico quiero cargarlas mejor a una carpeta y asi llamarlas desde esa direccion y mostrarlas. pero no he podido..

Ayuda por favoooor!!!
  #2 (permalink)  
Antiguo 30/10/2014, 13:14
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 6 meses
Puntos: 127
Respuesta: Subir imágenes a directorio en servidor

$lugar
debe ser una direccion absoluta


Código PHP:
    $fileName2 time().$fileName;
    
$lugar=dirname(__FILE__) . "/fotosproyectos/";
    if(
move_uploaded_file($_FILES['files']['tmp_name'],$lugar.$fileName2)){
        
$isertImagen mysql_query("INSERT INTO tbl_foto_ideas_proyectos
        (name, type, size, content, id_ip) VALUES
        ('$fileName', '$fileType', '$fileSize', '$content', '$IdIp');"
);
    } 
Prueba eso.
  #3 (permalink)  
Antiguo 30/10/2014, 16:13
Avatar de Beuses  
Fecha de Ingreso: marzo-2009
Ubicación: Maracaibo
Mensajes: 132
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Subir imágenes a directorio en servidor

Ya lo probé y lamento decir que aun nada
le di un echo a $lugar y me muestra esta direccion:

Código:
/home/usuariohosting/public_html/carpetadirectorio/fotosproyectos/
y la coloco en el navegador y me sale esto:

Código:
The system cannot find the path specified.
Que otra cosa puede ser?? La verdad primera vez que trato de subir un archivo al hosting así.

Última edición por Beuses; 30/10/2014 a las 16:39
  #4 (permalink)  
Antiguo 30/10/2014, 20:31
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 6 meses
Puntos: 127
Respuesta: Subir imágenes a directorio en servidor

debugea

Código PHP:
   $fileName2 time().$fileName;
var_dump($fileName);
    
$lugar=dirname(__FILE__) . "/fotosproyectos/";
var_dump($_FILES['files']);
    if(
move_uploaded_file($_FILES['files']['tmp_name'],$lugar.$fileName2)){
        
$isertImagen mysql_query("INSERT INTO tbl_foto_ideas_proyectos
        (name, type, size, content, id_ip) VALUES
        ('$fileName', '$fileType', '$fileSize', '$content', '$IdIp');"
);
    } 
  #5 (permalink)  
Antiguo 01/11/2014, 06:14
Avatar de Beuses  
Fecha de Ingreso: marzo-2009
Ubicación: Maracaibo
Mensajes: 132
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Subir imágenes a directorio en servidor

coloque la función que me dijiste y me arrojó esto:

Código:
string(11) "muestra.jpg" 

array(5) { ["name"]=> array(1) { [0]=> string(11) "muestra.jpg" } ["type"]=> array(1) { [0]=> string(10) "image/jpeg" } ["tmp_name"]=> array(1) { [0]=> string(14) "/tmp/phpYtPqxG" } ["error"]=> array(1) { [0]=> int(0) } ["size"]=> array(1) { [0]=> int(69979) } }
  #6 (permalink)  
Antiguo 03/11/2014, 05:50
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 6 meses
Puntos: 127
Respuesta: Subir imágenes a directorio en servidor

Prueba esto:
Código PHP:
   $fileName2 time().$fileName;
    
$lugar=dirname(__FILE__) . "/fotosproyectos/";
    if(
move_uploaded_file($_FILES['files']['tmp_name'],$lugar.$fileName2)){
     echo 
"entro";
        
$isertImagen mysql_query("INSERT INTO tbl_foto_ideas_proyectos
        (name, type, size, content, id_ip) VALUES
        ('$fileName', '$fileType', '$fileSize', '$content', '$IdIp');"
);
}else{
echo 
"NO entro";

  #7 (permalink)  
Antiguo 05/11/2014, 12:03
Avatar de Beuses  
Fecha de Ingreso: marzo-2009
Ubicación: Maracaibo
Mensajes: 132
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Subir imágenes a directorio en servidor

:-/ me sale "NO entro"

Ya no hallo que hacer... T.T
  #8 (permalink)  
Antiguo 05/11/2014, 15:19
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 6 meses
Puntos: 127
Respuesta: Subir imágenes a directorio en servidor

eso quiere decir que no esta moviendo el archivo
puede que no tenga permisoso 777 la carpeta donde lo quieres colocar

verifica que te dice esto:
Código PHP:
$fileName2 time().$fileName;
    
$lugar=dirname(__FILE__) . "/fotosproyectos/";
echo 
substr(sprintf('%o'fileperms(dirname(__FILE__) . "/fotosproyectos")), -4);
    if(
move_uploaded_file($_FILES['files']['tmp_name'],$lugar.$fileName2)){
     echo 
"entro";
        
$isertImagen mysql_query("INSERT INTO tbl_foto_ideas_proyectos
        (name, type, size, content, id_ip) VALUES
        ('$fileName', '$fileType', '$fileSize', '$content', '$IdIp');"
);
}else{
echo 
"NO entro";

  #9 (permalink)  
Antiguo 08/11/2014, 14:09
Avatar de Beuses  
Fecha de Ingreso: marzo-2009
Ubicación: Maracaibo
Mensajes: 132
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Subir imágenes a directorio en servidor

Me salio esto

Código:
0777
NO entro
Ya hace mucho días que intento y nada me funciona.. si muchos lo hacen por que a mi no me funciona?? :S

--------------
Edit:

He colocado este código antes de mandar a subir la imagen a la carpeta de mi directorio

Código PHP:
Ver original
  1. $ruta = "/home/usuariohosting/public_html/carpetadirectorio/fotosproyectos/";
  2. if (!file_exists($ruta)){
  3.     echo "NO EXISTE";
  4. }
  5. else{
  6.     echo "EXISTE";
  7. }

Y me muestra "NO EXISTE" Por lo que asumo la cuestión esta en la ruta de mi hosting Web.
Pero la carpeta si existe y tiene todos los permisos.

Que sera lo que debo hacer??

Última edición por Beuses; 08/11/2014 a las 16:10
  #10 (permalink)  
Antiguo 08/11/2014, 22:03
Avatar de Beuses  
Fecha de Ingreso: marzo-2009
Ubicación: Maracaibo
Mensajes: 132
Antigüedad: 15 años, 9 meses
Puntos: 5
Exclamación Respuesta: Subir imágenes a directorio en servidor

Wow...

Luego de tantos dias de dolor de cabeza, busqueda y demas.. Por fin he podido ver mi problema y el por que no estaba copiandose la imagen en mi directorio..

Código PHP:
Ver original
  1. while(isset($_FILES['files']['name'][$i]) && $_FILES['files']['name'][$i]!=""){
  2.     $fileName = $_FILES['files']['name'][$i];
  3.     $tmpName  = $_FILES['files']['tmp_name'][$i];
  4.     $fileSize = $_FILES['files']['size'][$i];
  5.     $fileType = $_FILES['files']['type'][$i];
  6.        
  7.     $fp = fopen($tmpName, 'r');
  8.     $content = fread($fp, $fileSize);
  9.     $content = addslashes($content);
  10.     fclose($fp);
  11.        
  12.     if(!get_magic_quotes_gpc()){
  13.         $fileName = addslashes($fileName);
  14.     }
  15.     if($fileSize<=524288){
  16.         echo $fileName2 = time().$fileName;
  17.         $lugar = realpath(__DIR__ . '/fotosproyectos/');
  18.         if(move_uploaded_file($_FILES['files']['tmp_name'][$i], $lugar."/".$fileName2)){
  19.             echo " - Entro";
  20.         }
  21.         else{
  22.             echo " - NO entro";
  23.         }
  24.     }
  25. }

Como podran ver ahora en mi codigo completo, yo estaba colocando asi

Código PHP:
Ver original
  1. if(move_uploaded_file($_FILES['files']['tmp_name'], $lugar."/".$fileName2))

Y jamas ni nunca iba a guardar.. porque estaba insertando es un array.
La forma correcta es

Código PHP:
Ver original
  1. if(move_uploaded_file($_FILES['files']['tmp_name'][$i], $lugar."/".$fileName2))

Y ahora si funciono perfectamente..

Realmente me disculpo por no haber colocado el codigo desde el while antes. seguro lo habrias visto mucho antes

Muchas gracias por tu ayuda

Etiquetas: imagenes, move_uploaded_file, sube
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 09:04.