Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 19 su 19
  1. #11
    Ma che c'entra allow_url_fopen? Copia i file usando i percorsi assoluti (/server/root/path/to/file/bla.ext) e non l'URL (http://sito/path/to/file/bla.ext).

  2. #12
    Il chmod non serve solo per cambiare le autorizzazioni? Io sul remoto ho tutte le autorizzazioni per il root, mentre i file di config sono gestiti esclusivamente dal gestore.
    Esatto. Il chmod serve per cambiare le autorizazioni.
    Sono d'accordo anche sul fatto che i files di config sono gestiti dal gestore.
    Il suggerimento mi è venuto spontaneo, vista questa ultima limitazione, per tentare di risolvere (tentare non significa necessariamente risolvere) il problema.
    Infatti se, come dici, alcuni problemi li rilevi in fase di scrittura,
    non funziona copy
    .......................
    non riesco a scrivere questo stream in un file di destinazione sul mio spazio web
    potresti valutare anche questa probabile soluzione.

    Male che vada puoi continuare a fare altri tentativi usando strade alternative.


  3. #13
    Ragazzi vi prego non diciamo stupidaggini, se URL Wrapper sono disabilitati qualsiasi funzione che non utilizzi librerie esterne non funzioneranno per l'uso che lui deve farne.

    Pertanto con gli URL Wrappers (ovvero il permesso di collegamenti http://) disabilitati le funzioni: fopen, file_get_contents, file, ecc su indirizzi del tipo http://, https://, ftp://, ecc non funzioneranno mai.

    Il mio consiglio è di utilizzare cURL per fare ciò che vuoi sempre che nel tuo spazio siano abilitate.

  4. #14
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    8
    Curl è abilitato, riesco ad aprire un file come stream di dati (ad esempio una immagine posso aprirla come stream e visualizzarla a video) ma non conosco il metodo per scrivere questo stream su un file di destinazione nel mio spazio web.
    Come path io uso path con url per i file esterni che sono la sorgente mentre per i file sul mio spazio web uso ../dir/file.
    Il copy() funzionava sulle prove che ho fatto in locale, mentre sul remoto non funziona perchè allow_url_fopen è off.
    Mettendo anche sul locale allow_url_fopen = off si sono presentati gli stessi errori.

  5. #15
    Usa questo:

    Codice PHP:
    <?php

    $file_src 
    "http://www.sito.ext/path/ecc/file.ext";
    $path_file "path_dove/memorizzare_il/file"// senza slash finale

    $ch curl_init($file_src);    
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
    $res curl_exec($ch);
    curl_close($ch);

    $f file_put_contents($path_file."/".basename($file_src),$res);

    if(
    $f){ echo "FILE COPIATO"; }else{ echo "FILE NON COPIATO"; }

    ?>

  6. #16
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    QUOTO! ... c-url RULEZ!!!!

    E cmq se allow_url_fopen e' settato a false non ci sono ne santi ne madonne nessuna funzione di php aprirà un file in remoto .

    Usa curl come suggerito.

  7. #17
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    8
    Originariamente inviato da MichelangeloSco
    Usa questo:

    Codice PHP:
    <?php

    $file_src 
    "http://www.sito.ext/path/ecc/file.ext";
    $path_file "path_dove/memorizzare_il/file"// senza slash finale

    $ch curl_init($file_src);    
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
    $res curl_exec($ch);
    curl_close($ch);

    $f file_put_contents($path_file."/".basename($file_src),$res);

    if(
    $f){ echo "FILE COPIATO"; }else{ echo "FILE NON COPIATO"; }

    ?>
    Purtoppo da lo stesso errore che genera con tutte le funzioni di tipo Filesystem:
    "Warning: file_put_contents(../cache/file.jpg) [function.file-put-contents]: failed to open stream: No such file or directory in..."
    Con allow_url_fopen non mi si aprono nemmeno i file del mio spazio web... non so proprio come fare

  8. #18
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    L'errrore lo da la file_put_contents ... controlla che il file bersaglio esiste e soprattutto che la cartella abbia i permessi di scrittura per le operazioni da server.

    dai una cosa del genere

    chmod($targetFile, 0777) ;
    file_put_contentes.....
    chmod($targetFile, 0664) ; // credo sia il valore di default a creazione di 1 file nn ricordo al volo per' correggetemi se e' sbagliato

    altrimenti se cosi' nn va dovrai fare il chmod direttamente sulla cartella

    chmod($targetDir, 0777) ;

    chmod($targetFile, 0777) ;
    file_put_contentes.....
    chmod($targetFile, 0664) ;

    chmod($targetDir, 0664) ;

  9. #19
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    8

    [Risolto]Alternativa alla funzione copy()

    Risolto:
    il path locale con davanti il "../" non veniva accettato, mentre indicando solo il percorso ora tutto funziona con il codice postato da MichelangeloSco.
    Grazie a tutti per l'aiuto!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.