Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    8

    Alternativa alla funzione copy()

    In sostanza:
    Devo copiare un file all'interno del mio spazio web; l'uso di copy() non è possibile in quanto il gestore ha settato allow_url_fopen='Off' e io non posso modificarlo (non ho accesso al php.ini, e ini_set() non funziona).
    Esiste un'alternativa a copy()?
    Vi sarei veramente molto grato della risposta.

  2. #2
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    764
    Codice PHP:
    <?php
        
    function copyemz($file1,$file2){
              
    $contentx =@file_get_contents($file1);
                       
    $openedfile fopen($file2"w");
                       
    fwrite($openedfile$contentx);
                       
    fclose($openedfile);
                        if (
    $contentx === FALSE) {
                        
    $status=false;
                        }else 
    $status=true;
                       
                        return 
    $status;
        }
    ?>
    http://www.php.net/manual/en/function.copy.php#93245
    eXvision

  3. #3
    ciao toxxx
    vedi se può andarti bene questo

    Codice PHP:
    <?php
    $file1 
    "prova_originale.php";
    $file2 "prova_copiata.php";
    $contentx =@file_get_contents($file1);
    $openedfile fopen($file2"w");
    fwrite($openedfile$contentx);
    fclose($openedfile);
    if (
    $contentx === FALSE) {
    echo 
    "Operazione fallita";
    }else {
    echo 
    "Operazione eseguita";
    }
    ?>
    Tieni conto che in $file1 è memorizzato il file originale ed in $file2 il file di destinazione (entrambi completi di eventuali percorsi)


  4. #4
    Pardon sono arrivato secondo.
    comunque la mia fonte è la stessa con la differenza che le istruzioni le ho tirate fuori dalla funzione

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    8
    Intanto grazie per le risposte
    Anche io avevo trovato e provato quel codice; putroppo non funziona per lo stesso motivo per cui non funziona copy: l'allow_url_fopen è settato a off e quindi mi restituisce sempre un messaggio di errore del genere "Warning: fopen() [function.fopen]: URL file-access is disabled in ...(path)". E' la stessa cosa succede con copy.
    Avevo letto da qualche parte di utilizzare in alternativa curl; ma anche lì riesco ad aprire uno stream di dati dal file di origine ma non riesco a scrivere questo stream in un file di destinazione sul mio spazio web.

  6. #6
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    nn puoi usare exec o shell_exec?
    Per gli Spartani e Sparta usa spartan Il mio github

  7. #7
    prova anche con diversi path magari la root è htdocs/ e non es.(/var/www/htdocs/),

    se chiedi al tuo hosting ti sapranno rispondere

  8. #8
    Altra alternativa sarebbe intervenire sul chmod come suggerito a questo link

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    8
    Danke danke per i suggerimenti

    Originariamente inviato da linoma
    nn puoi usare exec o shell_exec?
    In che modo? Potresti farmi un esempio?

    Originariamente inviato da robbi_gallo
    prova anche con diversi path magari la root è htdocs/ e non es.(/var/www/htdocs/),

    se chiedi al tuo hosting ti sapranno rispondere
    Uso il comando questo path "../nome_directory/nome_file"; in locale funziona correttamente, non dovrebbe fare lo stesso sul remoto?

    Originariamente inviato da micdas
    Altra alternativa sarebbe intervenire sul chmod come suggerito a questo link
    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.

  10. #10
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Cn i comandi della shell (cp), se il tuo problema e nn riuscire tramite PHP ad aprire il file.
    Credo che cm suggeritoti sia una questione di PATH.
    Per gli Spartani e Sparta usa spartan Il mio github

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