Foros del Web » Programando para Internet » PHP »

Carga de Imagenes

Estas en el tema de Carga de Imagenes en el foro de PHP en Foros del Web. Tengo un problema que espero me puedan ayudar: Este es mi codigo que guarda las imagenes Código PHP:   for( $n = 1 ; $n ...
  #1 (permalink)  
Antiguo 13/08/2003, 00:00
Avatar de libiob  
Fecha de Ingreso: julio-2003
Ubicación: Lima
Mensajes: 125
Antigüedad: 14 años, 4 meses
Puntos: 1
Carga de Imagenes

Tengo un problema que espero me puedan ayudar:

Este es mi codigo que guarda las imagenes
Código PHP:
 for($n=1;$n<$5;$n++)
 {
       
$nomvar "imag$n";   //Creamos la "variable variable" contendra el nombre de la imagen
       
$valvar = ${$nomvar}; 
       
$nomfichero basename($valvar);   #Extraemos el nombre de la imagen sin la ruta
       
$nimg=substr ($nomfichero, -4);
       
$cod=$control;
       
$image=trim("pu".$cod.$nimg); // carga el nombre para el fichero codigo+extension
           
$imag[]=trim("pu".$cod.$nimg);    // carga el nombre para el DBase         
       
$newsite "../load_imgs/img_$n/".$image.""//direccionamos el lugar a guardar
       
if(!copy($valvar,$newsite))  #Lo copiamos
             

         echo 
"NO SE HA PODIDO SUBIR EL FICHERO// <br>";
         } 
         else
        {
         echo 
"Ok";
         } 
     } 
$link=conectarse(); // guarda texto al db y nombre de imagenes
   
mysql_query("UPDATE scj_imagenes SET cod_idioma='$cod_idioma',categoria='$area',subcategoria='$n_tipo',cont='$count',img1='$imag[0]',img2='$imag[1]',img3='$imag[2]',img4='$imag[3]',img5='$imag[4]',img6='$imag[5]',img7='$imag[6]',pie1='$pie1',pie2='$pie2',pie3='$pie3',pie4='$pie4',pie5='$pie5',pie6='$pie6',pie7='$pie7' WHERE codigo='$codimg'",$link);
   
mysql_query("UPDATE scj_news SET n_tipo='$n_tipo', n_titulo='$n_titulo', n_noticia='$n_noticia', n_fuente='$n_fuente', n_date='$n_date', n_actividad='$n_actividad', n_area='$area',n_user='$n_user' WHERE n_code='$n_code'",$link);
      echo 
"</b>Datos Actualizados a <b>$n_titulo</b> con exito... $ims xxx $pi";
   
mysql_close($link); 
En mi servidor local funciona perfectamente cargan las imagenes sin problema pero al subir el script a mi servidor internet al tratar de cargar sale el siguiente mensaje:
Código:
Warning: copy(E:\\062802drink_prv.gif): failed to open stream: No such file or directory in /home/libiob/public_html/_kingperu_adm/kp_newinformacion.php on line 16
NO SE HA PODIDO SUBIR EL FICHERO// 
2003-08-12 ::: Datos cargados con exito a Esta nueva prueba...
La imagen no carga al servidor pero si los textos se cargan al DB, en el tag del form donde cargo las imagenes no he adicionado esta lineas ENCTYPE="multipart/form-data" cuando lo hago en mi servidor local las imagenes que me guardan son colocadas con extension ("nw0000001.tmp") TMP, cosa que deja de suceder al quitar esta linea ENCTYPE="multipart/form-data".

Espero me puedan orientar amigos mas conocedores de estos temas de programacion.

Saludos

LIbio

Última edición por libiob; 13/08/2003 a las 00:18
  #2 (permalink)  
Antiguo 13/08/2003, 00:38
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
E:\\062802drink_prv.gif

??

Creo que debes cerciorarte de la ruta donde se guardan las imagenes... Ya que es probable que en tu server si exista E: pero no así en el remoto...
__________________
Manoloweb
  #3 (permalink)  
Antiguo 13/08/2003, 01:06
Avatar de libiob  
Fecha de Ingreso: julio-2003
Ubicación: Lima
Mensajes: 125
Antigüedad: 14 años, 4 meses
Puntos: 1
E:\\062802drink_prv.gif, Este es la ruta del archivo de donde estoy tratando de cargarlo, se supone que este nombre es remplazado por el dodigo de imagen y numero de ID.

Acabo de añadir esta linea al <FORM > esto: enctype="multipart/form-data" y la imagen ahora si carga al DataBase y a la carpeta del servidor pero con este nombre: nw00000005Z6cV, se supone que el nombre de la imagen debe de ser hasta el nw00000005 y lo resto "Z6cV" en este caso la extension ".GIF"

Me pregunto donde esta mi error, cual es el problema? please help me!

Última edición por libiob; 13/08/2003 a las 01:08
  #4 (permalink)  
Antiguo 13/08/2003, 18:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Dale permisos de escritura al directorio donde dejes ese archivo ..

Ademas asegurate que el directorio exista .. ahí veo que usas uno que accedes dinámicamente con un juego de variables .. Lo que no veo es la rutina/función que crea el directorio .. Copy() no crea directorios.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 13/08/2003, 20:33
Avatar de libiob  
Fecha de Ingreso: julio-2003
Ubicación: Lima
Mensajes: 125
Antigüedad: 14 años, 4 meses
Puntos: 1
Tienen permiso todas las carpetas que cree, el script solo envia a los directorios cada imagen cuando hace el for, la imagen como comento se guarda en el directorio creado pero con el nombre de nw00000005Z6cV , no esta recogiendo la extension que es juntada en
Código PHP:
$image=trim("pu".$cod.$nimg); 
se supone que antes coge los cuatro ultimos caracteres y los deposita en la variable $nimg pero si ves el archivo guardado le da otra cosa, despues del cinco es donde deberia estar la extension y no ese codigo "Z6cV" que son exactamente los 4 digitos que debe ser el punto y las 3 letras de la extension, help aiuta....
  #6 (permalink)  
Antiguo 20/08/2003, 00:47
Avatar de libiob  
Fecha de Ingreso: julio-2003
Ubicación: Lima
Mensajes: 125
Antigüedad: 14 años, 4 meses
Puntos: 1

No hay nadie que me pueda orientar de mi problema, por que me esta guardando la imagen con una extension rara, o mejor dicho sin extension...

  #7 (permalink)  
Antiguo 20/08/2003, 04:28
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
si te sirve de algo este ejemplo-.---
http://forosdelweb.com/showthread.ph...subir+ficheros
__________________
3w.valenciadjs.com
3w.laislatv.com
  #8 (permalink)  
Antiguo 20/08/2003, 23:59
Avatar de libiob  
Fecha de Ingreso: julio-2003
Ubicación: Lima
Mensajes: 125
Antigüedad: 14 años, 4 meses
Puntos: 1
He revizado mi problema y lo que encuentro claro es que cuando agrego al form enctype="multipart/form-data" los archivos que paso a cargar en mi server asumen una extension .tmp y al servidor de internet no le da extension a mi imagen cargada pero si mantiene la cantidad de caracteres que debe tener incluyendo la extension.

Alguien me podria indicar porque? y que debo hacer para que el archivo al guardarse tenga la misma extension.

Funciona perfectamente cuando quito del FORM enctype="multipart/form-data" en mi servidor personal, pero cuando lo paso a mi servidor Internet manda un mensaje:

Warning: copy(E:\\062802puke_prv.gif): failed to open stream: No such file or directory in /home/libiob/public_html/_kingperu_adm/record.php on line 213
NO SE HA PODIDO SUBIR EL FICHERO

Claramente indica que copy E:\\ (ubicacion de mi imagen a copiar en mi PC) no existe en mi server.

No entiendo bien aun sobre este tema pero se que debe funcionar, los permisos y toda cuanta cosa se necesite estan dadas, solo recalco el problema sucede al añadir en la linea del FORM enctype="multipart/form-data".
AQUI LES ENVIO EL CODIGO PARA QUE LO REVISEN Y ME DEN UNA AYUDA, DESDE YA GRACIAS...


Carga Imagenes:
carga.php
Código PHP:
<form method="post" action="rec.php?num=6" name="news" enctype="multipart/form-data">

<
input type="hidden" name="control" value="new00000022">

Imagen1: <INPUT TYPE="FILE" NAME="imag1" style="width:200">
Imagen2: <INPUT TYPE="FILE" NAME="imag2" style="width:200">
Imagen3: <INPUT TYPE="FILE" NAME="imag3" style="width:200">
Imagen4: <INPUT TYPE="FILE" NAME="imag4" style="width:200">
Imagen5: <INPUT TYPE="FILE" NAME="imag5" style="width:200">

<
input type="reset" value="Borrar Informacion">
<
input type="submit" name="enviado" value="Registrar Informacion">

</
form
Guarda las Imagenes:
rec.php
Código PHP:
<?
if(isset($enviado))// Load Imagenes ::::::::::::::::
  
{
     for(
$n=1;$n<$num;$n++)
    {
           
$nomvar "imag$n"//imagen segun numero orden
           
$valvar = ${$nomvar}; 
           
$nomfichero basename($valvar);//Quita la ruta de carga
    
$nimg=substr ($nomfichero, -4); //capturamos la extension de la imagen
    
$cod=$control//
    
$image=trim($cod.$nimg); // carga el nombre para el fichero codigo+extension
        
$newsite "img_$n/".$image.""//direccion de carga a carpetas de acuerdo a orden
        
if(!copy($valvar,$newsite))  #Lo copiamos
      

          echo 
"Error al cargar";
          } 
          else
      {
      echo 
"Archivo cargado con Exito";
          } 
  } 
?>
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 08:59.