Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Convertire link dinamico in statico

    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..

    Ora, se gli dò in input un url del tipo http://www.miosito.com/miofile.zip funziona
    ma se gli dò un link dinamico tipo ad esempio http://download.simplemachines.org/i...-0_install.zip

    non funziona...
    C'è un sistema per convertire via php questi link dinamici in statici?

    Grazie!

    ecco il mio script "upextract.php"

    codice:
    <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']:""?>" /> 
     <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[sizeof($path) - 1]; ?> <?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 "
     
    Extracted files
    "; for ($i=0; $i<sizeof($list); $i++) { if(!$list[$i]['folder']) $bytes = " - ".$list[$i]['size']." bytes"; else $bytes = ""; echo "".$list[$i]['fileName']."$bytes
    "; } echo "
    Tutto fatto
    "; unlink('pclzip.lib.php'); unlink('upextract.php'); unlink($fileName); endif; ?> </article> <?php endif; ?> </section>

  2. #2
    up

  3. #3
    uop

  4. #4
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    Non può funzionare perchè il secondo non è un link ad una file zip, ma ad una pagina html che dopo pochi secondi te lo fa scaricare.

    Il vero indirizzo del file è quello che trovi dentro la pagina http://download.simplemachines.org/i...-0_install.zip

  5. #5
    Originariamente inviato da Luke70
    Non può funzionare perchè il secondo non è un link ad una file zip, ma ad una pagina html che dopo pochi secondi te lo fa scaricare.

    Il vero indirizzo del file è quello che trovi dentro la pagina http://download.simplemachines.org/i...-0_install.zip
    Se è così, si può fare un explode per ricavare il nome del file.

    Codice PHP:
    $exp explode('filename='$link); // $link conterrà l' url dell' archivio
    $filename $exp[1];

    $link_archivio 'http://download.simplemachines.org/index.php/'.$filename// Ecco l' indirizzo dell' archivio 
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  6. #6

    Re: Convertire link dinamico in statico

    Originariamente inviato da gnappoman
    ...
    Ora, se gli dò in input un url del tipo http://www.miosito.com/miofile.zip funziona
    ma se gli dò un link dinamico tipo ad esempio http://download.simplemachines.org/i...-0_install.zip
    ...
    Scusa, mi ripeteresti il tuo concetto di link statico e dinamico?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Innanzitutto grazie delle risposte

    ri scrivo il codice senza tag CODE così ci intendiamo meglio

    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 /?boohwihdwiedh?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 /?boohwihdwiedh?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']:""?>" />

    <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[sizeof($path) - 1];
    ?>
    <?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 "

    Extracted files
    ";
    for ($i=0; $i<sizeof($list); $i++) {
    if(!$list[$i]['folder'])
    $bytes = " - ".$list[$i]['size']." bytes";
    else
    $bytes = "";
    echo "".$list[$i]['fileName']."$bytes
    ";
    }
    echo "
    Tutto fatto
    ";
    unlink('pclzip.lib.php');
    unlink('upextract.php');
    unlink($fileName);
    endif; ?>
    </article>
    <?php endif; ?>
    </section>

  8. #8
    eddai..

  9. #9

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.