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

    Copiare file da altro server

    Salve a tutti,
    so che l'ìargomento è già stato trattato in altri topic, ma non ho trovato la soluzione al mio problema. Dunque, chiedo aiuto su uno script per copiare file da un server al mio dominio.

    So usando al momento questo script (ne ho usati altri, ma non mi funzionano...ora spiego il perché sto continuando ad usare questo).
    codice:
    $url = "http://www.***.***/***..jpg";
    $path = "images";
    $ch = curl_init($url);
    curl_setopt($ch,CURLOPT_HEADER,0);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch,CURLOPT_BINARYTRANSFER,1);
    $res = curl_exec($ch);
    curl_close($ch);
    $name = "***.jpg";
    $fp = fopen($path."/".$name,"w");
    fwrite($fp,$res);  fclose($fp);
    Ecco, degli script usati, questo è l'unico che realmente mi copia il file nella cartella giusta e col nome giusto...o meglio, crea il file, ma ogni file che "copia" (secondo me non lo fa) ha dimensione 26 byte. Non riesco proprio a capire l'errore.

    Se qualcuno potesse aiutarmi, infinitamente grazie
    Sam Solution
    http://www.samsolution.it

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Potrebbe anche essere che il server dal quale cerchi di recuperare il file sia impostato per non rispondere a questo tipo di chiamate.

    Hai un tuo sito online?
    Prova lo script con un'immagine che hai su quel sito e vedi se funziona, così si vede se il problema è lo script o no.

  3. #3
    Intanto grazie della risposta.
    Ho appena provato con un altro sito. Niente da fare, mi salva sempre l'immagine di 26 byte
    Sam Solution
    http://www.samsolution.it

  4. #4
    Provato per sicurezza il file anche in un altro server e...funziona!!!
    Quindi il problema non è dello script, ma del server residente...secondo voi cosa dovrei controllare a questo punto? I permessi della cartella destinataria sono già 777
    Sam Solution
    http://www.samsolution.it

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Prova così
    Codice PHP:
    $url "http://www.*****.***/****.jpg";

    $ch curl_init();

    curl_setopt($chCURLOPT_URL$url);
    curl_setopt($chCURLOPT_HEADERfalse);
    curl_setopt($chCURLOPT_BINARYTRANSFERtrue);
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);

    set_time_limit(300);
    curl_setopt($chCURLOPT_TIMEOUT300);

    $path 'images';

    $outfile fopen($path.'/****.jpg''wb');
    curl_setopt($chCURLOPT_FILE$outfile);

    curl_exec($ch);
    fclose($outfile);

    curl_close($ch); 

  6. #6
    Niente, stesso risultato...file da 26 bytes memorizzato
    Cosa può essere, dall'altra parte mi funziona...e tutti e due gli spazi montano Php5
    Sam Solution
    http://www.samsolution.it

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Allora non dipende dallo script, anche io l'ho provato e mi funziona correttamente, e se non dipende dallo script, non saprei dirti quale possa essere la causa.

  8. #8
    Redirect? Se ben ricordo c'è un'opzione curl per "seguire" eventuali redirect...
    In ogni caso hai provato a vedere cosa contiene quel file da 26 bit? (tipo con "cat" via shell?)

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.