2010-11-20 26 views
0

Je souhaite lire un fichier PHP situé sur le même serveur que le script. Pourtant, je veux le lire comme s'il provenait d'un autre serveur afin qu'il affiche la sortie HTML du fichier.Lecture du fichier depuis le même serveur

Mais quand j'ai lu le fichier en utilisant file_get_contents() je viens d'obtenir le code PHP. REMARQUE: si cela aide, j'imprime le contenu du fichier dans fckEditor.

+0

Que transmettez-vous à file_get_contents()? –

+0

@Jim Lewis: Je passe le fichier .php. – sikas

+0

J'espérais que vous montriez la ligne de code réelle. Le transmettez-vous en tant que chemin d'accès, fichier: URL ou http: URL? Je m'attendrais à ce que les deux premières options retournent le code source, et l'option finale pour retourner la sortie HTML que vous recherchez. –

Répondre

2

CURL

function get_web_page($url) 
{ 
    $options = array(
     CURLOPT_RETURNTRANSFER => true,  // return web page 
     CURLOPT_HEADER   => false, // don't return headers 
     CURLOPT_FOLLOWLOCATION => true,  // follow redirects 
     CURLOPT_ENCODING  => "",  // handle all encodings 
     CURLOPT_USERAGENT  => "spider", // who am i 
     CURLOPT_AUTOREFERER => true,  // set referer on redirect 
     CURLOPT_CONNECTTIMEOUT => 120,  // timeout on connect 
     CURLOPT_TIMEOUT  => 120,  // timeout on response 
     CURLOPT_MAXREDIRS  => 10,  // stop after 10 redirects 
    ); 

    $ch  = curl_init($url); 
    curl_setopt_array($ch, $options); 
    $content = curl_exec($ch); 
    $err  = curl_errno($ch); 
    $errmsg = curl_error($ch); 
    $header = curl_getinfo($ch); 
    curl_close($ch); 

    $header['errno'] = $err; 
    $header['errmsg'] = $errmsg; 
    $header['content'] = $content; 
    return $header; 
} 

$ x = get_web_page ('http: //yourserver/the_script.php');

echo $ x ["content"];

0

Vous n'avez pas besoin de le lire, il suffit d'inclure à l'aide include(), par exemple:

$includefile="path/to/file.php"; 
if (file_exists($includefile)) 
    include($includefile); 

EDIT:

si vous devez attribuer la sortie à une variable, utilisez ob_start() et ob_get_clean()

ob_start(); 
include($includefile); 
$out = ob_get_clean(); 

regardant le site FCKeditor, vous l'utiliser comme ceci:

$FCKeditor->Value = $out; 
+0

Wimmel: Je ne veux pas l'inclure, je veux que l'utilisateur puisse l'éditer en utilisant fckEditor. Donc, y compris le fichier ne va pas aider. – sikas

+0

@sikas, je ne connais pas fckEditor, mais j'ai modifié ma réponse, en espérant que c'est ce que vous voulez dire. – wimh

+0

la mise à jour n'a pas fonctionné, car il y a un fichier inclus dans les deux. – sikas