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

    Recuperare l'output di un altro file php?

    Salve a tutti! E' possibile in qualche modo all'interno di uno script PHP, inviare una request ad un altro file PHP e recuperare l'output generato? Insomma una sorta di include o require, con la differenza che devo poter catturare l'output in una variabile e utilizzarla quando e come voglio...

    Grazie mille!

  2. #2
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Non è farina del mio sacco, lo trovi sul manuale

    Codice PHP:
    <?php
    $homepage 
    file_get_contents('http://www.example.com/');
    echo 
    $homepage;
    ?>
    http://it.php.net/manual/en/function...t-contents.php

  3. #3
    Originariamente inviato da Grino
    Non è farina del mio sacco, lo trovi sul manuale

    Codice PHP:
    <?php
    $homepage 
    file_get_contents('http://www.example.com/');
    echo 
    $homepage;
    ?>
    http://it.php.net/manual/en/function...t-contents.php
    L'ho provato, ma non so perchè non mi funziona bene! Il file che ho importato ha estensione .phtml, e riesce a recuperare bene tutto l'html, ma mi ignora il codice php!
    Quindi mi sono creato una semplice funzioncina che mi elabora anche il codice php:

    codice:
        function get_php_output($file) {
            $output = eval("include '$file';");
            return $output;
        }

  4. #4
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Tu chiedevi di recuperare l'output generato, non il sorgente dello script. E' normale che quello che ti torna è solo HTML perché il server web si è preoccupato di farlo elaborare prima di restituirtelo.

    se poi ti torna il codice PHP senza averlo eseguito è perchè .phtml non è registrata nel server web come estensione da dare in pasto a php.

    Comunque sono cose un po' strane. Perché fai una simile operazione?

  5. #5
    Originariamente inviato da Grino
    Tu chiedevi di recuperare l'output generato, non il sorgente dello script. E' normale che quello che ti torna è solo HTML perché il server web si è preoccupato di farlo elaborare prima di restituirtelo.

    se poi ti torna il codice PHP senza averlo eseguito è perchè .phtml non è registrata nel server web come estensione da dare in pasto a php.

    Comunque sono cose un po' strane. Perché fai una simile operazione?
    Scusa forse non mi sono spiegato bene: io importo questo file .phtml all'interno del quale trovo del semplice codice HTML insieme anche a del codice PHP.
    Ho provato con file_get_contents() ma mi tira fuori solo il codice HTML, e non anche l'output dato dall'elaborazione del codice php, che invece riesco ad avere con la funzione che ho creato.
    Comunque sì può sembrare un pò strano, ma mi serve per creare un framework.

  6. #6
    Originariamente inviato da Dreamer89
    Scusa forse non mi sono spiegato bene: io importo questo file .phtml all'interno del quale trovo del semplice codice HTML insieme anche a del codice PHP.
    Ho provato con file_get_contents() ma mi tira fuori solo il codice HTML, e non anche l'output dato dall'elaborazione del codice php, che invece riesco ad avere con la funzione che ho creato.
    Comunque sì può sembrare un pò strano, ma mi serve per creare un framework.
    in che senso non riesci ad avere l'output generato dal php? se fai il get_contents solo sul .phtml, troverai sia html che php. se fai il get_contents come suggeritoti, ovvero con http://blabla, allora avrai il contenuto completo. Se ti serve il contenuto elaborato ma senza usare il get_contents, puoi fare:

    Codice PHP:

    ob_start
    ();

    include 
    "path_del_tuo_file/tuo_file.phtml";

    $output ob_get_clean(); 
    ovviamente, essendo in include, l'ambiente in cui includerai tuo_file.phtml deve essere inizializzato opportunamente in maniera che il codice scritto in tuo_file.phtml venga eseguito senza errori. Nel senso, se tuo_file.phtml si aspetta che $pippo esista, prima dell'include devi creare $pippo
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    in parole povere:

    file_get_contents() restituisce il sorgente di un file qual'ora questo si trovi si trovi sullo stesso server/macchina di rete e viene richiesto tramite PATH .
    viceversa se viene richiesto tramite chiamata WEB (http:// bla bla bla) restituisce l'eventuale output da questo generato.

    ad ogni modo leggiti bene http://it.php.net/manual/en/function...t-contents.php


    molte, troppe parole sono state spese per qualcosa spiegato 100 000 volte meglio della documentazione ufficiale, che non tutti si prendono la briga di leggere
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  8. #8
    [QUOTE]Originariamente inviato da dottwatson
    in parole povere:

    file_get_contents() restituisce il sorgente di un file qual'ora questo si trovi si trovi sullo stesso server/macchina di rete e viene richiesto tramite PATH .
    viceversa se viene richiesto tramite chiamata WEB (http:// bla bla bla) restituisce l'eventuale output da questo generato.

    ad ogni modo leggiti bene http://it.php.net/manual/en/function...t-contents.php


    ciao,

    devo cercare una stringa su una pagina esterna al mio sito.
    utilizzo file_get_contents() ed effettuo il confronto. con la maggior parte dei siti funziona

    con un particolare sito che richiama una funzione js che visualizza un riquadro con le informazioni che cerco file_get_contents() non riesce a leggere il generato ma solo il sorgente.

    infatti se vado su firefox con visualizza sorgente non vedo la stringa che cerco, con visualizza sorgente generato si.

    idee per come incluedere in una stringa il sorgente generato?

    ciao

  9. #9
    ho provato anche con curl ma non riesco

    la pagina da cui non riesco a prelevare il codice generato è ad esempio questa:

    http://www.yourmusic.it/home.asp?pkcd=2045052104


    il valore da cercare nella stringa è 779 (il prezzo)

  10. #10
    i contenuti della pagina sono generati con ajax... quindi nell'output la stringa che cerchi non esite.

    Devi individuare la pagina verso cui avviene la chiamata ajax... ed eseguire il file_get_contents su quella.

    EDIT:
    Te l'ho trovata io...

    http://www.yourmusic.it/serversideAS...052104&lang=IT
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

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.