[Php-avanzado] Problemas con upload de imagen

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Vie Sep 11 20:43:58 ART 2009


Hola Carolina,

	las porciones de código que enviás no tienen ningún error evidente.
	Una cosa que veo es que según esto, estás guardando los archivos que se
suben en el mismo directorio del script, lo cual es "raro", ya que
generalmente se mandan a un directorio aparte para que no se mezcle con
el código (salvo que cleanlink() haga más de lo que su nombre sugiere).

	Yo haría:
1) un print_r($_FILES['img']) para estar seguro de que lo que llega
tiene sentido.
2) print de $img para ver si cleanlink() deja el nombre correcto.
3) poner move_uploaded_file() en un if para ver si lo hace o no lo hace.

	Después contanos!

El vie, 11-09-2009 a las 19:01 -0300, Silverzero escribió:
> Tengo un problema con este script, que localmente me andaba perfecto y
> lo subi al hosting no funciona. Graba en la DB el path en la DB, me
> muestra todos los prints de $_FILES cuando lo debuggeo, no me da FALSE
> is_uploaded_file, pero no me guarda la imagen en el servidor. Pregunté
> en el hosting si estana safe_mode en on, pero me fijeron que no.
> 
> ¿Alguien se da cuenta de algo?
> Gracias de antemano.
> Saludos a todos.
> 
> Este es el script:
> 
> 
>    <?php
>         
>         if(isset($_POST['publicar'])){
>             
>             $sec=($_POST['sec']);
>             $tit=cleantxt($_POST['tit']);
>             $det=cleantxt($_POST['det']);
>                 
>                 if (is_uploaded_file($_FILES['img']['tmp_name'])){
>                 
>                     $img=cleanlink($_FILES['img']['name']);
>                 
>                     move_uploaded_file($_FILES['img']['tmp_name'],
> $img);
> 
>                         }
>                         else{
>                             $img=("");
>                             }
>                 
>                     if (($det!="")&&($tit!="")){
>     
>                         $sql="INSERT INTO novedades SET
>                             idioma='$sec',
>                             titulo='$tit',
>                             detalle='$det',
>                             imagen='$img',
>                             fecha=NOW()";
> 
>                             $result=mysql_query($sql,$link)or
> die(mysql_error());?>
>                             
>                             <p class="warning"><?php print("La entrada
> se ingres&oacute; con &eacute;xito.");?></p>
> 
> Este es el form:
> 
>     <form enctype="multipart/form-data" action="" method="post"
> name="novedades">
>         <label>Elegir el idioma del sitio en d&oacute;nde ser&aacute;
> publicada esta entrada.</label>
>         <select name="sec" id="sec">
>           <option value="esp">Novedades en espa&ntilde;ol</option>
>           <option value="ing">Novedades en ingl&eacute;s</option>
>         </select>
>         <label>T&iacute;tulo de la novedad</label>
>         <input name="tit" type="text" class="jsrequired" id="tit" />
>         <label>Detalle</label>
>         <textarea name="det" rows="15" wrap="virtual" id="det"
> class="jsrequired"></textarea>
>         <label>Adjuntar imagen principal (Tama&ntilde;o m&aacute;ximo
> 1 mega)</label>
>         <input type="hidden" name="MAX_FILE_SIZE" value="1048576"
> class="hidden"/><br />
>         <input name="img" type="file" size="32" />
>         <input name="publicar" type="submit" class="boton"
> value="Publicar" />
>         </form>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
-- 

Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-avanzado