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 2006
    Messaggi
    472

    lo stesso che INCLUDE ma con pagina esterna

    In una pagina del mio sito ho bisogno di fare un'operazione tipo

    include ("prova.php");

    ma la pagina prova.php si trova su un altro sito, in pratica sarebbe a dire

    include ("http://www.altrosito.it/prova.php");

    ma una cosa così non si può fare pertanto chiedo come fare.


    Tengo a precisare che la pagina "prova.php" fa dei calcoli, non stampa niente a video e ottengo solo il risultato di 2 variabili.

    Grazie per l'aiuto

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    472
    Ho provato a utilizzare

    include ("http://www.altrosito.it/prova.php");

    e a attivare (tramite il pannello di controllo del sito) la voce

    "allow url fopen"

    Mi dà comunque 3 messaggi di errore:

    Warning: include() [function.include]: http:// wrapper is disabled in the server configuration by allow_url_include=0 in ...

    Warning: include(http://www.altrosito.it/prova.php) [function.include]: failed to open stream: no suitable wrapper could be found in...

    Warning: include() [function.include]: Failed opening http://www.altrosito.it/prova.php for inclusion (include_path='./:/usr/share/php/') in

  3. #3
    Utente di HTML.it L'avatar di _debo
    Registrato dal
    Mar 2012
    residenza
    London, UK
    Messaggi
    858
    Detto che quello che chiedi si può fare benissimo, tutto dipende da come php è configurato sul server che stai usando (vedi documentazione http://uk3.php.net/manual/en/function.include.php)

    Ma ipotizzando che data la tua configurazione non si possa fare, hai diverse possibilità alternative che mi vengono in mente.

    1. Duplicare/Copiare/Ricreare la funzionalità presente in remoto sul server che stai usando.
    2. Sperare che chi ha creato la funzionalità sul server remoto abbia anche deciso di esporre i suoi metodi esternamente sotto forma di web services di qualche natura.
    3. Utilizzare http://uk3.php.net/file_get_contents
    4. Utilizzare http://uk3.php.net/manual/en/functio...ext-create.php

    Nota bene che se come dici tu il file remoto di cui parli ti restituisce il risultato di un calcolo numerico, deve, idealmente, stampare per forza qualcosa a video altrimenti non riuscirai mai ad accedere al suo contenuto.

    Se puoi elaborare meglio quello che effettivamente vuoi fare ed ottenere ed in che situazione ti trovi posso cercare di essere più preciso e specifico.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    472
    Per il momento ti ringrazio moltissimo, domani, a mente più lucida vedrò di mettere in pratica i tuoi suggerimenti


  5. #5
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365
    Se la pagina prova.php è tua (e sempre ammesso che abbia capito bene)... puoi fare qualcosa del genere

    prova.php

    Codice PHP:
    $var1 'variabile 1';
    $var2 'variabile 2';

    echo 
    json_encode(array(
        
    'var_1' => $var1,
        
    'var_2' => $var2
    ); 
    e al posto di include usa

    Codice PHP:
    $result json_decode(file_get_contents('http://xxx/prova.php'), true);
    echo 
    $result['var_1'];
    echo 
    $result['var_2']; 
    ovviamente modificala e mettici dei controlli appropriati.
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    472
    Ho seguito l'aiuto di Secta: hai capito tutto perfettamente.

    Però c'è ancora qualcosa che non va.

    Nel file "prova.php" ho scritto
    codice:
    echo json_encode(array(
             'ultimo_conc' => $ultimo_conc,
             'ultimo_anno' => $ultimo_anno)
             );
    e al posto di include ho usato
    codice:
    $result = json_decode(file_get_contents('http://www.altrosito.it/prova.php'), true); 
    echo  $result['ultimo_conc'];
    echo  $result['ultimo_anno'];
    Se vado ad eseguire la pagina "prova.php" mi dà questo risultato:
    {"ultimo_conc":33,"ultimo_anno":2012}
    e va bene

    ma se eseguo la pagina principale mi dà bianco

  7. #7
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365
    Scrivi questo e posta il risultato

    Codice PHP:
    $x file_get_contents('http://prova.php');
    $y json_decode($xtrue);
    var_dump($x);
    var_dump($y); 
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    472
    string(256) " {"ultimo_conc":33,"ultimo_anno":2012} " NULL

  9. #9
    Utente di HTML.it L'avatar di _debo
    Registrato dal
    Mar 2012
    residenza
    London, UK
    Messaggi
    858
    Prova a modificare l'encode in questo modo:
    Codice PHP:
    echo '[' 
        
    json_encode(array(
            
    'ultimo_conc' => $ultimo_conc,
            
    'ultimo_anno' => $ultimo_anno)
        ) . 
    ']'

  10. #10
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365
    Aggiungi questo a quanto ti ho detto di scrivere prima

    Codice PHP:
    var_dump(json_last_error()) 
    che corrispondono a

    codice:
    0 = JSON_ERROR_NONE
    1 = JSON_ERROR_DEPTH
    2 = JSON_ERROR_STATE_MISMATCH
    3 = JSON_ERROR_CTRL_CHAR
    4 = JSON_ERROR_SYNTAX
    5 = JSON_ERROR_UTF8
    vediamo se c'è qualche errore.
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

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.