Foros del Web » Programando para Internet » PHP »

Seleccionar imagen desde una lista y copiar a otra carpeta.

Estas en el tema de Seleccionar imagen desde una lista y copiar a otra carpeta. en el foro de PHP en Foros del Web. Hola a tod@s, necesito ayuda para solucionar un problema, dado que soy novel en PHP y no veo la forma de resolver. Estoy tratando de ...
  #1 (permalink)  
Antiguo 08/07/2012, 14:52
 
Fecha de Ingreso: julio-2012
Mensajes: 5
Antigüedad: 11 años, 9 meses
Puntos: 0
Pregunta Seleccionar imagen desde una lista y copiar a otra carpeta.

Hola a tod@s, necesito ayuda para solucionar un problema, dado que soy novel en PHP y no veo la forma de resolver.

Estoy tratando de copiar un archivo (imagen.jpg) de su carpeta de origen (./logos) tras ser seleccionada por medios de una lista desplegable, a una destino carpeta (./logos/copias)

La fuente de código que uso para la lista desplegables es de esta mismo foro:

<?

error_reporting(E_ALL);
ini_set("display_errors", 1);
function listar()
{
$quitar_extension = array(".txt", ".php"); //Extensiones a quitar
$saltar_archivo = false;
echo '<select name="lista">';
$dir = opendir("./logos");

while($listar_d = readdir($dir))
{

if ($listar_d[0] != "." && $listar_d[0] != "..")
{
if(is_file($listar_d)){
foreach ($quitar_extension as $extension){
if(strstr($listar_d, $extension)) $saltar_archivo = true;
}
if($saltar_archivo){
$saltar_archivo = false;
continue;
} else {
echo "<option onclick='form.submit();' value=$listar_d>$listar_d</option>";
}
//echo "<option value=$listar_d>$listar_d</option>";
}
else { //Es directorio
echo "<option onclick='form.submit();' value=$listar_d>$listar_d</option>";
}
}


}
echo '</select>';
closedir($dir);
}

echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'?send">';
listar();
echo '</form>';
if(isset($_GET['send'])){
echo "Has seleccionado ".$_POST['lista']."";
}

?>

Y para la función de copiar:

<?
$file = ?;
$newfile = './copia/logo.jpg';
if (!copy($file, $newfile)) {
echo "falló la copia $file...<br/>";
}
else {
echo "se ha copiado correctamente<br/>";
}
?>

El caso es que no consigo averiguar como definir la variable $file que refiere al nombre del archivo que quiero copiar previamente seleccionado por medio de la lista.

Les agradeceria infinitamente su ayuda para poder avanzar en mi proyecto, gracias.
  #2 (permalink)  
Antiguo 08/07/2012, 23:46
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Seleccionar imagen desde una lista y copiar a otra carpeta.

Cuando seleccionas un archivo y el formulario se procesa, que te aparece?

echo "Has seleccionado ".$_POST['lista']."";

Ahí tienes un punto de partida.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 09/07/2012, 03:08
 
Fecha de Ingreso: julio-2012
Mensajes: 5
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Seleccionar imagen desde una lista y copiar a otra carpeta.

Me aparece el desplegable con la lista desplegable de archivos.

luego un mensaje...

Notice: Undefined index: lista in C:\AppServ\www\prueba\lista\lista1.php on line 47
falló la copia ...

En tiendo que se refiere a la existencia de una variable previamente no definida.
  #4 (permalink)  
Antiguo 10/07/2012, 10:56
 
Fecha de Ingreso: julio-2012
Mensajes: 5
Antigüedad: 11 años, 9 meses
Puntos: 0
Pregunta Respuesta: Seleccionar imagen desde una lista y copiar a otra carpeta.

Bien, replanteo la duda...

Como puedo generar una variable que contenga el archivo seleccionado previamente de una lista de archivos generada, para posteriormente gestionar dicha variable?

Agradeceria una breve orientación.
  #5 (permalink)  
Antiguo 10/07/2012, 19:58
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Seleccionar imagen desde una lista y copiar a otra carpeta.

Una cosa que me llama un poco la atención es que en todos los elementos tienes el atributo onclick, y todos con el mismo evento, sería más viable si lo usas directamente desde el select:

Código HTML:
Ver original
  1. <form id="form-lista" method="post" action="aquí la acción">
  2. <select name="lista" onchange="document.getElementById('form-lista').submit();">
  3. ...
  4. opciones
  5. ...
  6. </form>

Y no ovides que todos los valores para atributos HTML deben estar entre comillas, porque cualquier espacio o caracter "raro" puede romper tu HTML y causar efectos inesperados, ejemplo:

echo "<option onclick='form.submit();' value=$listar_d>$listar_d</option>";

Debería ser:

echo "<option value=\"$listar_d\">$listar_d</option>";

Si tienes alguna duda en cuanto a las comillas, revisa esto: http://www.forosdelweb.com/f18/como-...s-bien-588701/

Ahhh, por favor usa la opción Highlight para mostrar tu código, es más legible.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: lista, variables
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 17:54.