Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    far scaricare un file a php

    Chiedo scusa la domanda e' banale ma con la funzione cerca mi imbatto inevitabilmente nei contatori di download...

    A me serve far scaricare al mio server php un file da un url remoto...

    Che funzione devo usare?
    -_-"

  2. #2
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Via FTP o HTTP?

    Devi far emulare a PHP uno dei due protocolli di cui sopra.

    Vedi fsockopen();

    [.:: JaguarXF ::.]
    __________________

  3. #3
    http

    Che figo devo incapsulare una richiesta http a mano?

    lol

    Qualche esempio gia' fatto?
    -_-"

  4. #4
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    pare..

    [.:: JaguarXF ::.]
    __________________

  5. #5
    Ho provato ma non ci sono riuscito :/

    Qualcuno ha un esempio?

    Devo scaricare un file di testo da un sito esterno.... via http.
    -_-"

  6. #6
    con un semplice fopen() nn ci riesci?

  7. #7
    Scusa sara' una cazzata ma non riesco a salvarmi poi il file html su un altro file.

    In pratica sono arrivato a scaricare il file tramite http, ma non posso farci le normali operazioni dei file perche' giustamente non e' una "valid resource".

    codice:
    // prendo sto file da web
    $fileT = file("http://sito/file.txt","r");
    
    // provo a salvarlo su di un altro...
    $handle=fopen("prova.txt","w");
    fwrite($handle, ???);
    Al posto dei punti di domanda (???) ho provato a mettere qualche funzione per leggere un file ma mi dice che non e' una risorsa valida.

    Scusate per l'idiozia ma ste cose mi mandano via di testa
    -_-"

  8. #8
    allora, qst così:
    $fileT = file("http://sito/file.txt","r");
    è sbagliato, dovrebbe essere:
    $fileT = file("http://sito/file.txt");

    poi al posto dei punti interrogativi dovresti mettere ciò ke vuoi scrivere nel file, in qst caso:
    fwrite($handle,implode('', $fileT));

    implode è una funzione che serve ad unire in una sola stringa tutti i valori di un array, e in qst caso è necessario xkè la funzione file() restituisce un array incui ogni elemento rappresenta un rigo del file letto.

  9. #9
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    NO, non basarti su file() o fread() per scambiare dati in HTTP.

    Ecco un esempio.

    codice:
    <?
    
    // Lettura via HTTP
    $server_url = "preview.mediabros.it";
    $pagina_url = "/archidemo/__documentazione/ArchinizerDepliant.pdf";
    $plain_response = "";
    
    $fp = fsockopen($server_url, 80);
      fputs($fp, "GET ".$pagina_url." HTTP/1.1\r\n");
      fputs($fp, "Host: ".$server_url."\r\n");
      fputs($fp, "Cache-Control: max-age=10000\r\n");
      fputs($fp, "Connection: Close\r\n\r\n");
    
      while (!feof($fp)) $plain_response .= fgets($fp);
    fclose($fp);
    
    // Scrittura su filesystem locale
    $fd = fopen("man.pdf","w");
      fwrite($fd, $plain_response);
    fclose($fd);
    
    ?>

    [.:: JaguarXF ::.]
    __________________

  10. #10
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Se dai un occhio approfondito al codice di cui sopra puoi capire meglio i "meccanismi" che regolano Internet.

    Ti consiglio di dare un occhio al protocollo HTTP, cerca su Internet stesso. Ti si aprirà un mondo...

    Ciao.

    [.:: JaguarXF ::.]
    __________________

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.