- Home
- Categorie
- Coding e Sistemistica
- PHP
- Trovare indirizzo vero di un file con php
-
Trovare indirizzo vero di un file con php
Ciao ragazzi,
mi sono fatto questo script per evitare di fare trambusto quando devo installare pacchetti zip sul mio hosting.
Il mio script copia direttamente il pacchetto zip dal server sorgente a quello di destinazione e poi lo scompatta..Il discorso è semplice:
questa pagina in php mi serve quando ad esempio devo installare un nuovo joomla su un hosting evitando di scaricare lo zip, scompattarlo e uploadare i singoli files via ftp.
Con il mio script il pacchetto zip viene scaricato sull'hosting direttamente dal server di origine (del progetto joomla in questo caso) e poi estratto.
Il mio problema è che se nel form della mia paginetta ci scrivo:www . indirizzo . com / posto dove sta il file / joomla.zip
funziona tutto,
ma con quelle porcherie di
www . indirizzo . com / index.php ? booh & ziop.zip
non funziona...
Quindi mi chiedevo:
c'è un sistema in php per capire quale sia l'effettivo vero reale indirizzo di un file?
e cioè che io gli dò
www . indirizzo . com / index.php ? booh & ziop.zip
e lui se lo traduce in
www . indirizzo . com / posto dove sta il file / joomla.zip
?
tipo wget con le virgolette (per chi mi intende!)
Ciao<section id='fileDownloader'><article id='urlForm'>
<form id='url' name='url' method='post' action=''>
<label for='urlInput'>The file to be downloaded (URL with http :// ) zip only: </label>
<input type='text' name='urlInput' id='urlInput' placeholder='URL' size='60' autofocus value="<?=($_POST['submit'])?$_POST['urlInput']:""?>" /><br />
<input type='submit' value='Download & extract' name='submit' /></form></article>
<?php if ($_POST['submit']): ?>
<article id='downloadStatus'>
<?php
if (empty($_POST['urlInput'])): die("Please enter a valid download URL"); endif;
$path = explode("/", $_POST['urlInput']);
$fileName = $path;
?>
<?php if (file_exists($fileName)): ?>
This file already downloaded.
<?php elseif (!copy($_POST['urlInput'], $fileName)): ?>
Download failed. Make sure that the URL is correct.
<?php else: ?>
Download completed. File:
<?php
require_once('pclzip.lib.php');
echo $fileName;
$archive = new PclZip($fileName);
if ($archive->extract() == 0)
die("<font color='red'>Error : Unable to unzip archive</font>");
$list = $archive->listContent();
echo "<br /> <br /><b>Extracted files</b><br />";
for ($i=0; $i<sizeof($list); $i++) {
if(!$list*['folder'])
$bytes = " - ".$list*." bytes";
else
$bytes = "";
echo "".$list*['fileName']."$bytes<br />";
}
echo "<br /><b>Tutto fatto</b><br />";
unlink('pclzip.lib.php');
unlink('upextract.php');
unlink($fileName);
endif; ?>
</article>
<?php endif; ?>
</section>
-
Ciao gnappoman,
nella maggior parte dei casi non è possibile, in quanto viene mandato proprio dalla pagina php in contenuto del file, può esserci anche qualche sito che invece fa un redirect ed in quel caso la situazione potrebbe essere diversa.