Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    1,011

    file_get_contents con il Curl ?

    Sapete come si fa ?

  2. #2
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    1,011
    Codice PHP:
    ...
    ...
    ...

    while($thisGal = mysql_fetch_array($galsResult)) {


    $filename = "http://".$_SERVER["HTTP_HOST"].$thisGal["galleryUrl"];
    $ch = curl_init();  
    $timeout = 5; 
    curl_setopt ($ch, CURLOPT_URL, $filename);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $file_contents = curl_exec($ch);
    curl_close($ch);



        ?>
            <item>
            <title><?= htmlspecialchars($thisGal["galleryName"]) ?></title>
            <link>[url]http://[/url]<?= $_SERVER["HTTP_HOST"?><?= $thisGal["galleryUrl"?></link>
            <content:encoded><![CDATA[
            <?= return $file_contents?>
            ]]></content:encoded>
            </item>
        <? ?>
        </channel>
    </rss>
    Così non funziona perchè mi dà un errore qui

    <?= return $file_contents; ?> (syntax error, unexpected T_RETURN, expecting ',' or '

    Se lo modifico così funziona:

    <?= $file_contents ?>

    il problema è che non vedo il codice XML ma il codice HTML che mi sputa fuori da $file_contents

  3. #3
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    1,011
    Ho provato così e mi butta fuori il codice HTML

    <content:encoded><![CDATA[<?= include($_SERVER['DOCUMENT_ROOT'].$thisGal["galleryUrl"]); ?>]]></content:encoded>


    Perchè non mi mostra il codice XML ??

  4. #4
    <?= return $file_contents; ?>

    togli return che non serve a niente

    <?=$file_contents?>

    poi non ho capito esattamente il tuo problema

  5. #5
    poi ho notato che non utilizzi nessuna opzione avanzata delle librerie curl quindi puoi operare anche direttamente con file o file_get_contents per aprire file remoti, probabilmente sono funzioni + comode nel tuo caso, un solo comando e non devi utilizzare librerie particolari che potrebbero non essere presenti su alcuni server.

    Ciao

  6. #6
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    1,011
    Ho dovuto usare il Curl perchè file_get_contents sul mio server non è consentito per chiamare file remoti, quindi ho usato l'absolute path però non mi eseguiva il codice PHP al suo interno quindi non andava bene...pensavo che il problema fosse che andando a prendere un file tramite l'aboslute path non mi eseguisse il codice al suo interno, invece usando solamente una riga funziona:

    <?php include($_SERVER['DOCUMENT_ROOT'].$thisGal["galleryUrl"]) ?>

    ma perchè in questo caso il codice php viene eseguito mentre col file_get_contents no ?

  7. #7
    semplicemente perché file_get_contents non esegue il codice, il codice viene eseguito con include, require, require_once e include_once

    ciao

  8. #8
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    1,011
    Originariamente inviato da bubu77
    semplicemente perché file_get_contents non esegue il codice, il codice viene eseguito con include, require, require_once e include_once

    ciao
    E tu dove l'hai letto questo ?


    <?= include($_SERVER['DOCUMENT_ROOT'].$thisGal["galleryUrl"]) ?>

    Cmq mi spieghi gentilmente perchè se uso <?= alla fine mi mette un "1" dopo l'inclusione, mentre invece così <?php no ? Che difefrenza c'è tra le due scritture ?

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.