[Php-avanzado] consulta subir archivos
Maximiliano Lizondo
lizondomaximiliano en gmail.com
Mar Nov 5 17:36:55 ART 2013
Hay líneas comentadas con "//", aclaro PORQUE me olvidé de sacarlas y no
hay que tenerlas en cuenta.
El 5 de noviembre de 2013 17:35, Maximiliano Lizondo <
lizondomaximiliano en gmail.com> escribió:
> Hay líneas comentadas con "//", aclaro por que me olvidé de sacarlas y no
> hay que tenerlas en cuenta.
>
>
> El 5 de noviembre de 2013 17:30, Maximiliano Lizondo <
> lizondomaximiliano en gmail.com> escribió:
>
> Hola, tengo una duda con respecto a un ejercicio sobre subir archivos y
>> listarlos. El enunciado era el siguiente:
>>
>> "Realice un script que permita subir archivos a un directorio y luego los
>> muestre listados en una página con un link para su descarga."
>>
>> Pego el código para facilitar la explicación de mi duda:
>>
>> *<?php*
>> * $directorio="subidas/";*
>> * if (ISSET($_POST['btn_enviar']))*
>> * {*
>> * $archivo=$_FILES['userfile']['name'];*
>> * if (is_uploaded_file($_FILES['userfile']['tmp_name']))*
>> * {*
>> * $path=$directorio.$archivo;*
>> * //$path=$directorio.$_FILES['userfile']['name'];*
>> * //$archivo=$_FILES['userfile']['name'];*
>> * $msg="El archivo {$archivo} fue cargado satisfactoriamente";*
>> * //print('<br><br>El archivo '.'<b>'.$archivo.'</b>'.' fue cargado
>> satisfactoriamente.');*
>> * move_uploaded_file($_FILES['userfile']['tmp_name'],$path);*
>> * }*
>> * else*
>> * {*
>> * $msg="Posible ataque durante la subida de archivos. Nombre de archivo:
>> {$archivo}";*
>> * //print('Posible ataque durante la subida de archivos. Nombre de
>> archivo: '.$archivo); *
>> * }*
>> * }*
>> * if(isset($_POST['Borrar']))*
>> * {*
>> * unlink($directorio.$_POST['a']);*
>> * $msg = "Archivo borrado: {$_POST['a']}";*
>> * }*
>> * $contenido=scandir($directorio);*
>> * array_shift($contenido);*
>> * array_shift($contenido);*
>> *?>*
>>
>> *<!DOCTYPE html>*
>>
>> *<html>*
>> * <head>*
>> * <title> GUIA 3 - Ejercicio 1</title>*
>> * </head>*
>> * <body>*
>> * <div><h1>Ejercicio sobre UPLOAD</h1></div>*
>> * <form enctype="multipart/form-data" action="avanz_3_1.php"
>> method="post">*
>> * <fieldset>*
>> * <input type="hidden" name="MAX_FILE_SIZE" value="100000"/>*
>> * Enviar este archivo:<input name="userfile" type="file"/>*
>> * <input type="submit" name="btn_enviar" value="Subir archivo"/>*
>> * </fieldset> *
>> * </form>*
>> * <hr>*
>> * <br>*
>> * <ul>*
>> * <?php*
>> * foreach ($contenido as $nombre_archivo)*
>> * {*
>> * ?> *
>> * <li>*
>> * Archivo: <a
>> href="<?=$directorio?><?=$nombre_archivo?>"><?=$nombre_archivo?></a>*
>> * <form id="b" name="b" method="post">*
>> * <input name="a" id="a" type="hidden" value="<?=$nombre_archivo?>" />*
>> * <input type="submit" name="Borrar" value="Borrar" />*
>> * </form>*
>> * </li> *
>> * <?php *
>> * }*
>> * ?> *
>> * </ul>*
>> * </body>*
>> *</html>*
>>
>> La duda es la siguiente: por cada archivo subido se genera un link y un
>> formulario con un botón *"Borrar" *para borrar dicho archivo y un
>> "input" de tipo "hidden" (*name="a"*) que contiene el nombre de dicho
>> archivo. Pero noté que todos los formularios e inputs que se generan,
>> tienen los mismos nombres para cada archivo subido. El tema es que cuando
>> se hace click en algún botón* "Borrar"*, se borra el archivo
>> correspondiente a dicho botón. ¿Cómo hace el intérprete PHP para saber a
>> qué input *"a"* me estoy refiriendo, cuando le paso el parámetro la
>> variable *$_POST['a']*? se entiende la duda?
>>
>> --
>> *Ing. Maximiliano Andrés Lizondo*
>>
>> - *Teléfonos: **0223-493-5488* (particular) - *2236-321708* (móvil)
>> - *Perfil profesional en LinkedIn: *
>> http://ar.linkedin.com/pub/maximiliano-andr%C3%A9s-lizondo/61/906/344
>>
>>
>
>
> --
> *Ing. Maximiliano Andrés Lizondo*
>
> - *Teléfonos: **0223-493-5488* (particular) - *2236-321708* (móvil)
> - *Perfil profesional en LinkedIn: *
> http://ar.linkedin.com/pub/maximiliano-andr%C3%A9s-lizondo/61/906/344
>
>
--
*Ing. Maximiliano Andrés Lizondo*
- *Teléfonos: **0223-493-5488* (particular) - *2236-321708* (móvil)
- *Perfil profesional en LinkedIn: *
http://ar.linkedin.com/pub/maximiliano-andr%C3%A9s-lizondo/61/906/344
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20131105/f817b0c9/attachment-0001.html>
Más información sobre la lista de distribución Php-avanzado