Buongiorno ragazzi,
avrei un problema... Dovrei creare una pagina HTML/PHP di visualizzazione e download dei file presenti in una cartella sull'FTP ma non so proprio come fare...
Mi potete aiutare perfavore?...![]()
Buongiorno ragazzi,
avrei un problema... Dovrei creare una pagina HTML/PHP di visualizzazione e download dei file presenti in una cartella sull'FTP ma non so proprio come fare...
Mi potete aiutare perfavore?...![]()
Ciao, intanto dovresti essere certo che il tuo server dove posti il tuo sito abbia anche un server ftp per utilizzare questo servizio, nel caso in cui l'avesse le operazioni in php sono abbastanza banali. Ti posto un link ad un esempio di codice per download e upload via ftp http://free-script.it/post/Script_ph...con_php-64.htm.
Spero ti sia di aiuto![]()
Ciao, ho provato a studiarmenlo ma non riesco a trovare nulla che mi serva... Cioè a me serve soltanto leggere i file in un FTP e visualizzarlo come in una tabella con la possibilità di scaricare i file scelti!!... Non c'è nessun modo?Originariamente inviato da jcsnake
Ciao, intanto dovresti essere certo che il tuo server dove posti il tuo sito abbia anche un server ftp per utilizzare questo servizio, nel caso in cui l'avesse le operazioni in php sono abbastanza banali. Ti posto un link ad un esempio di codice per download e upload via ftp http://free-script.it/post/Script_ph...con_php-64.htm.
Spero ti sia di aiuto![]()
Come ti ha detto jcsnake va bene, puoi utilizzare quella fuzione del download per scaricare il file scelto. In prastica vorresti leggere il contenuto di una cartella?? e elencare i file??
Che mondo sarebbe senza Nutella.
PHP/MYSQL/HTML/CSS/JAVASCRIPT
Si esatto, elencare il contenuto della cartella FTP, e se ci sono delle cartelle dentro possibilità di aprirle e vedere cosa c'è dentro e poter scaricare...Originariamente inviato da CiRi..Cuber
Come ti ha detto jcsnake va bene, puoi utilizzare quella fuzione del download per scaricare il file scelto. In prastica vorresti leggere il contenuto di una cartella?? e elencare i file??
Questo è uno script trovato in rete che legge il contenuto di una cartella, e modificato a piacere con grafica ecc potrebbe andare bene, se vuoi una mano =)
Codice PHP:
function leggi_cartella($pagina_destinazione,$directory)
{
$dir=$directory;
if ($handle = opendir($dir))
{
while (false !== ($file = readdir($handle)))
{
$percorso="$dir/$file";
$size_file=filesize($percorso)/1000;
$size_file=round($size_file,1);
$size_file=" ( ".$size_file." Kb )";
// "." ".." = servono per non far viualiazzare i caratteri per tornare indietro
if ( ($file<> ".") & ($file<> "..") )
{
echo "
[*][url="$percorso"]$file$size_file[/url]";
}
}
}
else
{
echo "Cartella inesistente. Contattare l'AMMINISTRATORE";
}
}
Che mondo sarebbe senza Nutella.
PHP/MYSQL/HTML/CSS/JAVASCRIPT
Guarda ho fatto una paginetta che potrebbe andare bene per le tue esigenze, modificala come vuoi ho messo qualche commento =)
Per farla funzionare devi inserire il percorso del file e come GET così:Codice PHP:
<?
//funzione per aprire un cartella verra chiamata solo se la cartella esiste
function open_dir($nome_dir){
//apro la cartella
if (!$open_dir = opendir($nome_dir)){
echo "Cartella non trovata, controlla il percorso del file!";
}
else{
$percorso="$nome_dir";
$size_dir=filesize($percorso)/1000;
$size_dir=round($size_dir,1);
$size_dir=" ( ".$size_dir." Kb )";
echo "Cartella: [b]$nome_dir - $size_dir[/b]
";
while ($read=readdir($open_dir)){
if($read != "." && $read != "..") {
//se è un file
if (strstr($read, ".")){
echo "[*]$read";
}
else{
echo "[*]<a href=\"?dir=$nome_dir/$read\">$read</a>";
}
}
}
}
}
//funzione per andare indietro
function ind($dir){
$array = explode("/",$dir);
$dir = array_pop($array);
$dir = implode("/",$array);
header("location: ?dir=$dir");
}
//se ha inserito qualche directori da caricare ma non è andato indietro mostro il pulsanti
//e mostro la cartella
if (!empty($_GET['dir']) && empty($_GET['ind'])){
$dir = $_GET['dir'];
echo "
<input type=\"submit\" value=\"<\" onClick=\"location.href='?ind=ok&dir=$dir';\" />
";
open_dir($_GET['dir']);
}//se è piena la directori e ha schiacciato sul p0ulsante indietro
//prendo le variabili e faccio partire la funziona indietro
else if (!empty($_GET['dir']) && $_GET['ind'] == 'ok'){
$dir = $_GET['dir'];
ind($dir);
}
else{
echo "<script>alert(\"Errore di indirizzamento!\"); history.go(-1);</script>";
}
?>
percorso_del_file.php?dir=nome_cartella
Fammi sapere ok?
Che mondo sarebbe senza Nutella.
PHP/MYSQL/HTML/CSS/JAVASCRIPT
Guarda, dato che mi sono intrippato con questa cosa ti ho fatto anche l'impaginazione e il download =)
Leggi file/cartelle:
download.phpCodice PHP:
<?
//funzione per aprire un cartella verra chiamata solo se la cartella esiste
function open_dir($nome_dir){
//apro la cartella
if (!$open_dir = opendir($nome_dir)){
echo "Cartella non trovata, controlla il percorso del file!";
}
else{
$percorso="$nome_dir";
$size_dir=filesize($percorso)/1000;
$size_dir=round($size_dir,1);
$size_dir=" ( ".$size_dir." Kb )";
echo "Cartella: [b]$nome_dir - $size_dir[/b]
";
//inizio la tabella dei file e cartelle
echo "<table border=\"1\" cellpadding=\"5px\">
<tr>
<td>[b]TIPO[/b]</td>
<td>[b]NOME[/b]</td>
<td>[b]SIZE[/b]</td>
<td>[b]DOWNLOAD[/b]</td>
<td>[b]OPEN[/b]</td>
</tr>
";
while ($read=readdir($open_dir)){
if($read != "." && $read != "..") {
//se è un file
if (strstr($read, ".")){
//prendo la dimensione del file/directory
$percorso_="$nome_dir/$read";
$size_file=filesize($percorso_)/1000;
echo "
<tr>
<td>File</td>
<td>$read</td>
<td>($size_file) Kb</td>
<td><form action=\"download.php\" method=\"post\"><input type=\"submit\" value=\"download\" /><input type=\"hidden\" value=\"$read\" name=\"nome\" /><input type=\"hidden\" value=\"$size_file\" name=\"size\" /></form></td>
<td> - </td>
</tr>
";
}//se è una cartella
else{
echo "
<tr>
<td>Directory</td>
<td>$read</td>
<td> - </td>
<td> - </td>
<td><a href=\"?dir=$nome_dir/$read\">apri</a></td>
</tr>
";
}
}
}
echo "</table>";
}
}
//funzione per andare indietro
function ind($dir){
$array = explode("/",$dir);
$dir = array_pop($array);
$dir = implode("/",$array);
header("location: ?dir=$dir");
}
//se ha inserito qualche directori da caricare ma non è andato indietro mostro il pulsanti
//e mostro la cartella
if (!empty($_GET['dir']) && empty($_GET['ind'])){
$dir = $_GET['dir'];
echo "
<input type=\"submit\" value=\"<\" onClick=\"location.href='?ind=ok&dir=$dir';\" />
";
open_dir($_GET['dir']);
}//se è piena la directori e ha schiacciato sul p0ulsante indietro
//prendo le variabili e faccio partire la funziona indietro
else if (!empty($_GET['dir']) && $_GET['ind'] == 'ok'){
$dir = $_GET['dir'];
ind($dir);
}
else{
echo "<script>alert(\"Errore di indirizzamento!\"); history.go(-1);</script>";
}
?>
Se vuoi vederlo funzionante vai qui:Codice PHP:
<?
$nome_file=$_POST['nome'];
$size_file=$_POST['size'];
if (empty($nome_file) || empty($size_file)){
echo "<script>alert(\"Errore nel download!\"); history.go(-1);</script>";
}
else{
header("Content-type: Application/octet-stream");
header("Content-Disposition: attachment; filename=$nome_file");
header("Content-Description: Download PHP");
header("Content-Length: $size_file");
readfile($nome_file);
}
?>
http://wordsbank.altervista.org/prov...?dir=lib/touch
Fai qualche prova a levare la dir o a andare troppo indietro con le pagina =)
Che mondo sarebbe senza Nutella.
PHP/MYSQL/HTML/CSS/JAVASCRIPT
:O
CiRi..Cuber non so proprio come ringraziarti davvero... Mi stai facendo risparmiare tempo e denaro... Poi ti aggiungo su MSN o Skype ti voglio dare qualcosa in cash per l'aiuto davvero
Però una domanda, ho copiato ed incollato il primo pezzo della lettura e scrittura in una pagina index.php e il download l'ho messo sempre nella stessa cartella con download.php.
Senza modificare nulla l'ho fatto partire per provare, ma mi da errore di reindirizzamento....
Tranquilloti spiego, la pagina si basa su i dati presi da get, diciamo che in assenza di ?dir=nome_cartella giustamente non può cercare la tabella
.
Se al contrario vuoi che sia sempre una cartella te lo modifico.
Che mondo sarebbe senza Nutella.
PHP/MYSQL/HTML/CSS/JAVASCRIPT