Foros del Web » Programando para Internet » PHP »

Mostrar lista de archivos, seleccionar y mandarlos a otro script

Estas en el tema de Mostrar lista de archivos, seleccionar y mandarlos a otro script en el foro de PHP en Foros del Web. Bueno, antes que nada decir que soy bastante novato en esto de PHP. EStoy trabajando con modulos de XOOPS, echos en php y necesito modificarlos ...
  #1 (permalink)  
Antiguo 12/07/2006, 10:37
 
Fecha de Ingreso: junio-2006
Mensajes: 37
Antigüedad: 11 años, 5 meses
Puntos: 0
Mostrar lista de archivos, seleccionar y mandarlos a otro script

Bueno, antes que nada decir que soy bastante novato en esto de PHP. EStoy trabajando con modulos de XOOPS, echos en php y necesito modificarlos para hacer lo siguiente:

Tengo un módulo con archivos multimedia que puedo reproducir mediante streaming, y por otro lado, un modulo donde mostrar noticias. Lo que necesito es que al dar de alta una noticia, poder acceder a una lista de los archivos, seleccionar los que necesite, y que se vean en la noticia en forma de enlaces para que una vez que se pulse, te mande a la reproducción.

Basicamente lo que necesito y no se cómo hacerlo es:
+ mostrar la lista con los archivos,
+ seleccionar algunos si y otros no
+ pasarlos al principal en forma de enlace.

Acepto cualquier ayuda que podais darme, ya sea en forma de sugerencias, de script de ejemplos o milagros varios XD Muchas gracias de antemano
  #2 (permalink)  
Antiguo 12/07/2006, 11:00
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Para leer un directorio usas la funcion opendir().
http://www.php.net/manual/es/function.opendir.php

Para recorrer el directorio y obtener datos de los archivos usas la funcion readdir().

http://www.php.net/manual/es/function.readdir.php

A medida que obtienes el nombre de cada archivo creas checkbox para elegir los archivos, asi:

Código PHP:
<?php
    $dir
=opendir("ruta");
    while(
$archivo=readdir($dir))
    {
?>
<input type="checkbox" name="archivo[]" value="<?php echo $archivo;?>">
<label><?php echo $archivo;?></label>
<?php
    
}
?>

Una vez seleccionados los archivos pinchando en los checkbox y hecho el submit creas los links, asi:

Código PHP:
<?php
   
foreach ($_POST['archivo'] as $archivo)
   {
?>
   <a href="ruta/<?php echo $archivo;?>"><?php echo $archivo;?></a>
<?php
   
}
?>
  #3 (permalink)  
Antiguo 12/07/2006, 11:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
* Pero los archivos .. están en cierto directorio (y/o hay más sub-direcctorios)?. El nombre de esos archivos está en alguna BB.DD. o abría que leer directamente ese directorio en busca de los tipo de archivos que necesites?

* El tema de "seleccionar" unos si y otros no para pasarlos a otro script .. podrías usar la técnica que describe esta FAQ (aunque use BB.DD. recorra registros y tu no .. la filosofía es la misma: genera un "array" como sea ..):

http://www.forosdelweb.com/showthrea...710#post518710

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 12/07/2006, 12:14
 
Fecha de Ingreso: junio-2006
Mensajes: 37
Antigüedad: 11 años, 5 meses
Puntos: 0
En realidad los archivos estan en una base de datos. De ahi debo coger el nombre para mostrarlo, y la ID para luego hacer el enlace, pero eso mas o menos se cómo hacerlo. Lo que me interesa es lo que ponia antes. Gracias
  #5 (permalink)  
Antiguo 12/07/2006, 12:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por sober25
En realidad los archivos estan en una base de datos. De ahi debo coger el nombre para mostrarlo, y la ID para luego hacer el enlace, pero eso mas o menos se cómo hacerlo. Lo que me interesa es lo que ponia antes. Gracias
Para evitar este tipo de situaciones .. intenta aclarar tu situación siempre que preguntes.

La filosofía ese la misma .. de hecho tienes un ejemplo en la FAQ que te dejé .. la has visto?.. Intenta aplicarla y pregunta dudas concretas.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 13/07/2006, 12:11
 
Fecha de Ingreso: junio-2006
Mensajes: 37
Antigüedad: 11 años, 5 meses
Puntos: 0
Bueno, intente aplicar el códido de la FAQ que me dejaste, pero no me muestra los checkbox. Se ve que algo haré mal. Ahi dejo mi código:

Cita:
// Realizar la conexión a la BD .. Seleccionar la BD a usar.
// Ejecutar la consulta para obtener los datos de la BD.
$resultado=mysql_query("SELECT * FROM 3sict_debaser_files");
// Se inicial el formulario
echo "<form action='index.php?op=newarticle' method=\"post\"> \n";
// Extraemos y componemos los checbox dinámicos de los datos de nuestra tabla de la BD.
while ($row = mysql_fetch_array($resultado)){
echo "<input type=\"checkbox\" name=\"seleccion[]\" value=\"".$row['xfid']."\">".$row['title']."<br>";
}
// Cerramos el formulario y ponemos nuestro botón de Submit.
echo "<input type=\"submit\" name=\"Submit\" value=\"Enviar\">";
echo "</form>";
?>
He sustituido los nombres que he creido conveniente, pero como dije, no tengo mucha idea, y es posible que se me haya pasado algo. La página se me muestra bien,simplemente no me crea los checkboxes y pienso que sea porque no llega a leer de la BBDD. ¿que puedo hacer?
  #7 (permalink)  
Antiguo 13/07/2006, 12:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero tu consulta SQL arroja resultados? ..

Ese es el código completo que susas? .. (te conectas a tu BBDD ?)

Usa mysql_error() para ver otros problemas a nivel de SQL o de ejecución de la consulta:

$resultado=mysql_query("SELECT * FROM 3sict_debaser_files") or die (mysql_error());

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 13/07/2006, 13:20
 
Fecha de Ingreso: junio-2006
Mensajes: 37
Antigüedad: 11 años, 5 meses
Puntos: 0
Ya esta solucionado...es que no me conectaba a la base de datos...ya he dicho que soy el peor...no tengo mucha idea y he pecado de novato.

PEro ya funciona. Muchisimas gracias. Sois los mejores
  #9 (permalink)  
Antiguo 14/07/2006, 12:22
 
Fecha de Ingreso: junio-2006
Mensajes: 37
Antigüedad: 11 años, 5 meses
Puntos: 0
Hola, aqui de nuevo para seguir preguntando dudas:P

Ya consigo acceder bien a la BBDD y mostrar lo que tengo que mostrar.
Total, que en la pagina donde se supone que recibo tengo puesto esto:

if(isset($_POST['Submit']))

Entonces se supone que dentro ya podria usar lo que he recibido del formulario, pero...que recibo exactamente? Lo que quiero poner es dentro de un textarea enlaces a cada uno de las cajas que se haya seleccionado en el script anterior, de manera que saliera el nombre del archivo, pero que haciendo click, te mande a otra dirección. Por tanto, necesito el nombre del archivo y el id, que creo que lo recibo del formulario no?

Bueno, como siempre me lio un poco al explicarlo, asi que resumo lo que necesito:
* saber qué estoy recibiendo exactamente y como acceder a esos datos
* cómo usar esos datos para hacer un link con ellos.

Eso es todo(creo).Muchas gracias de antemano. OS debo la vida.
  #10 (permalink)  
Antiguo 14/07/2006, 12:48
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Un ejemplo, para ver si te aclaras:

Un formulario con un textbox en el cual escribir un enlace:

Código PHP:
<html>
<
body>
   <
form name="algo" action="otra.php" method="post">
       <
input type="text" name="enlace">
       <
input type="submit" name="enviar" value="Enviar">
   </
form>
</
body>
</
html
Otra pagina que muestra el enlace escrito en el textbox

otra.php
Código PHP:
<?php
    
if(isset($_POST['enviar']))
    {
          if(isset(
$_POST['enlace']))
          {
?>
   <a href="<?php echo $_POST['enlace'];?>" >Enlace</a>
<?php
          
}
    }
?>
Que recibes exactamente? los valores escritos y elegidos en el formulario, en variables como la que indico en el ejemplo: $_POST['enlace']
  #11 (permalink)  
Antiguo 15/07/2006, 14:15
 
Fecha de Ingreso: junio-2006
Mensajes: 37
Antigüedad: 11 años, 5 meses
Puntos: 0
Cita:
]<?while ($row = mysql_fetch_array($resultado)){ ?>


<TR>
<TD><?echo "<input type=\"checkbox\" name=\"seleccion[]\" value=\"".$row['xfid']."\">".$row['filename']."<br>";?> </TD>
Esto es lo que uso en lugar de tu type text. Entonces qué deberia de poner para recibir los datos? a mi lo que me interesaria usar seria el $row['xfid'] y el $row['filename'].

Gracias por tu ayuda
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 16:17.