Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di zakros
    Registrato dal
    Oct 2000
    Messaggi
    509

    fopen da web e da locale

    Ciao a tutti,

    ho un file php (che ha dentro connessioni a google maps) che apro e copio in un altro file usando fopen, il problema nasce da fatto che usando l URL assoluto il file viene processato, mentre ora avendo cambiato server non posso piu' usare l URL assoluto e usando l'indirizzo locale il file non viene processato ma copiato.

    Esiste una funzione php che processa un file php restituendo solo output HTML ?

    Grazie

  2. #2
    Non son sicuro di aver capito bene ma, se ho capito giusto, potresti provare con eval():

    Codice PHP:
    $miofile 'PERCORSO_DEL_FILE_LOCALE';
    if (
    is_file($miofile)) {
        eval(
    ' ?>'.file_get_contents($miofile).'<_?_php ');

    Ho dovuto modificare il tag <?php perché avevo problemi nell'inviare il post...
    Comunque, sta' attento agli spazi prima e dopo i tag all'interno della funzione eval(), ci vanno!
    Michele
    King Of The Kill

  3. #3
    Utente di HTML.it L'avatar di zakros
    Registrato dal
    Oct 2000
    Messaggi
    509
    Grazie per la risposta , pero' io devo memorizzare l output in una variabile , ed eval non mi permette di farlo

    posto il codice funzionante che mi processa il file (ma che non posso piu' usare perche il nuovo server non permette fopen con indirizzi assoulti)


    Codice PHP:
    $fl fopen("http://miosito/origine.php""r"); 
    $contents =  stream_get_contents($fl); 
    fclose($fl);      
    $fp fopen ("destinazione.php""w+");  
    fwrite($fp$contents);  
    fclose($fp); 

    codice non funzionante , in pratica copia esattamente il codice e non l output di origine.php

    Codice PHP:
    $fl fopen("origine.php""r"); 
    $contents =  stream_get_contents($fl); 
    fclose($fl);     
    $fp fopen ("destinazione.php""w+");  
    fwrite($fp$contents);  
    fclose($fp); 

  4. #4
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Prova con exec:
    http://it.php.net/manual/en/function.exec.php
    invocando direttamente l'interprete php
    Codice PHP:
    <pre
    <?php
    exec
    ('php /path/al/file/origine.php',$buffer);
    var_dump($buffer);
    ?>
    </pre>
    valuta anche l'uso di
    http://it.php.net/manual/en/function...t-contents.php (fopen,fwrite,fclose)
    http://it.php.net/manual/en/function...t-contents.php (fopen,stream_get_contents, fclose)

  5. #5
    Ripropongo con qualche modifica la mia soluzione

    Codice PHP:
    $miofile 'PERCORSO_DEL_FILE_LOCALE';
    if (
    is_file($miofile)) {
        
    ob_start();
        eval(
    ' ?>'.file_get_contents($miofile).'<_?php '); # attento al _!!!!! (agginuto per postare correttamente questo post)
        
    $content ob_get_contents();
        
    ob_end_clean();

        
    # ora con la variabile $content puoi farci quello che ti pare
        
    echo  $content;

    Michele
    King Of The Kill

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.