idee..codice php per videogallery da database

  • Creatore Discussione Creatore Discussione fredd
  • Data di inizio Data di inizio

fredd

Nuovo Utente
1 Mar 2010
15
0
0
ciao a tutti,ho creato il mio bel form per l'upload di video da parte degli utenti sul mio sito.Il file in upload viene salvato in una cartella mentre sul database vengono salvate le informazioni ed il percorso relativi al file stesso.
Quello che devo realizzare poi e`una pagina che presenti i link ai file presenti nella cartella e che ovviamente me li restituisca associati al relativo player.
Premetto che per comodita` i video avranno come unica estensione '.flv'.
So che ci sono migliaia di thread che parlano di questo, per lo piu` consigliano pacchetti preconfezionati,ma niente a che fare con la basilarita` che sto cercando di ottenere.
Qualcuno ha qualche idea,qualche suggerimento,qualche esempio?

Grazie a chiunque perda un po` di tempo con questa mia richiesta.
Ciao
 
Puoi utilizzare le directory function del PHP per esplorare il filesystem:

PHP:
<?php
$ path = 'percorso directory da esplorare';

chdir($path); // Cambia directory

// Legge il contenuto della directory
$dir  = opendir(".");
while (false !== ($filename = readdir($dir))) {
    $files[] = $filename;
}
?>

Dai un'occhiata QUI
 
apprezzo l'aiuto,in realta` ho gia` attivato questo procedimento per una foto gallery.In questo caso particolare pero` il mio problema e` fare in modo che la lista dei file estratti venga stampata a video come link eseguibile.Poco chiaro.In sostanza ogni file deve essere non solo trovato ed estratto dalla cartella ma anche associato ad un player.Questo per ora e` il mio problema.

ciao
 
Nell'esempio che ti ho fatto nell'array $files[] avrai il nome di tutti i file contenuti in una particolare directory.
A questo punto puoi scorrere l'array tramite un ciclo e creare il codice html necessario.
Ad esempio creando degli opportuni link href.
Una cosa del genere:

PHP:
echo '<table width="100%">';
for ($i = 0; $i < count($files); $i++) {
	echo '<tr><td><a href="link opportuno">$files[$i]</a></td></tr>';
}
echo '</table>';
 
Beh,intanto ti ringrazio.
La pagina visual che sto cercando di addattare e` questa:
Codice:
<?php
include('config.php');
//contatore per l'impaginazione
$i = 0;
//query recupera informazioni immagini
$sql = 'SELECT * FROM gallery ORDER BY vid_id DESC';
$result = mysql_query($sql);

if (!$result)
   {
	   die(mysql_error());
   }
//memorizzo i risultati in un'array multidimensionale
while($row = mysql_fetch_array($result))
   {
	   $field[$i] = $row;
	   $i++;
   }
//informa lo script quale pagina si sta visualizzando
$page = empty($_GET['page']) ? 1 : $_GET['page'];
//numero totale di immagini equivale alle righe estratte dal database
$total_files = count($field);
//pagine totali dividendo il totale delle immagini fratto il numero d'immagini per pagina
$total_pages = ceil($total_files/$pagination);
//creo il menu di navigazione
$pages = array();
if($total_files > 0)
   {
	   for($p =1; $p <= $total_pages; $p++)
	    {
			$class = ($page == $p) ? 'active' : 'item';
			$pages[] = '<li class=" ' .$class . ' "><a href=" ' . $_SERVER['PHP_SELF'] . '?page=' .$p. ' ">' . $p . '</a></li>';
		}
		echo '<ul class="menu">';
		echo implode(" ", $pages);
		echo '</ul>';

//contatore per la tabella html che contiene le thumbs
$td = 0;
//contatore per immagini di ciascuna pagina
$file = 0;
?>
<div class="clear"></div>
<table align="center" class="table_gallery">
<?php

$upload = "./uploads/";
$caption = array();
 // il ciclo parte dalla prima immagine all'ultima della stessa pagina
 for($i = ($page - 1) * $pagination;  $i < $page * $pagination; $i++)
 {
  $caption[$i] = (!$field[$i][7]) ? $field[$i][6] : $field[$i][7];
  if ($td == 0) echo "<tr>";
  echo '<td class="thumber" align="center" valign="top">';
  echo '<div class="container">';
  echo '<div class="thumb">'; 
  echo '<a href="'. $upload . $field[$i][1] . $field[$i][5] .'" rel="shadowbox[gallery]" title="'.$caption[$i].'">';
  echo '<img src="'. $thumbs . $field[$i][1] . $field[$i][5] .'" width="'.$field[$i][3].'" height="'.$field[$i][4].'" />';
  echo '</a>';
  echo '</div>';
  echo '<div class="details">';
  echo '<div class="title">' . $field[$i][6] . '</div>';
  echo '<div class="time">'  . $field[$i][9] . '</div>';
  echo '<div class="author">Caricato da : <span>'  . $field[$i][8] . '</span></div>';
  echo '</div>';
  echo '</div>';
  echo '</td>';
  $td++;
  $file++;

if($td == $rows)
   {
	   $td = 0;
	   echo "</tr>";
   }
if(($i + 1) == $total_files)
   {
	   while($blank = $file % $rows)
	    {
			echo '<td> </td>';
			$file++;
		}
		echo "</tr>";
		break;
   }
		}
   }
   ?>

Devo sistituire la visualizzazione delle anteprime con i video della cartella $upload.

Devo percio` sostituire questa parte:
Codice:
echo '<img src="'. $thumbs . $field[$i][1] . $field[$i][5] .'" width="'.$field[$i][3].'" height="'.$field[$i][4].'" />';

Con un 'echo' che mi stampi a video piu` o meno questo:
Codice:
<div id="play">
  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="320" height="240" id="FLVPlayer">
    <param name="movie" value="FLVPlayer_Progressive.swf" />
    <param name="quality" value="high" />
    <param name="wmode" value="opaque" />
    <param name="scale" value="noscale" />
    <param name="salign" value="lt" />
    <param name="FlashVars" value="&amp;MM_ComponentVersion=1&amp;skinName=Clear_Skin_1&amp;streamName=uploads/sp11&amp;autoPlay=false&amp;autoRewind=false" />
    <param name="swfversion" value="8,0,0,0" />
    <!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don’t want users to see the prompt. -->
    <param name="expressinstall" value="Scripts/expressInstall.swf" />
    <!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
    <!--[if !IE]>-->
    <object type="application/x-shockwave-flash" data="FLVPlayer_Progressive.swf" width="320" height="240">
      <!--<![endif]-->
      <param name="quality" value="high" />
      <param name="wmode" value="opaque" />
      <param name="scale" value="noscale" />
      <param name="salign" value="lt" />
      <param name="FlashVars" value="&amp;MM_ComponentVersion=1&amp;skinName=Clear_Skin_1&amp;streamName=uploads/sp11&amp;autoPlay=false&amp;autoRewind=false" />
      <param name="swfversion" value="8,0,0,0" />
      <param name="expressinstall" value="Scripts/expressInstall.swf" />
      <!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
      <div>
        <h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
        <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
      </div>
      <!--[if !IE]>-->
    </object>
    <!--<![endif]-->
  </object>
</div>
<script type="text/javascript">
<!--
swfobject.registerObject("FLVPlayer");
//-->
</script>

..per ogniuno dei file estratti.

Il mio problema e` che proprio non ho idea di come questo debba essere scritto.

So che chiedo molto ma mi sono proprio perso.

Ciao
 

Discussioni simili