PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Php-Datei auslesen



Lukas
18.03.2005, 22:09
Moin,

ich habe folgendes Problem:
für mein Projekt muss/will ich an einer Stelle eine andere Php-datei includen. Das Problem ist, dass ich erst alles, was ausgegeben werden soll, in einen String schreibe, und diesen dann ausgebe. Also muss ich die Datei praktisch öffnen und auslesen, aber nicht den Php-Code, sondern das Ergebnis, dass ich bei einem normalen Aufruf der Php-Seite kriegen würde. Ist das möglich?

Crash-Override
18.03.2005, 22:31
Mhm, ich habs ma getestet:



<?
$file = fopen("http://forum.rpg-ring.com/forum/newreply.php?do=newreply&noquote=1&p=949939","r");
$data = fread($file,100);
fclose($file);
echo $data;
?>


funktioniert, allerdings weiß ich nicht wie man die Dateigröße ausließt...

für die Spammer:

filesize() funktioniert nur local...

dadie
18.03.2005, 22:32
$test = file_get_contents("./test.php") ;

Das müsste klappen sicher bin ich nicht müsste aber klappen.

Ich weiss zwar nett wo da steht das er wissen will wie man die Dateigrösse liesst naja Wayne hier meine Lösung



function Get_data_size2($URL)
{
$Groesse = filesize($URL);
if($Groesse<1000)
{
return number_format($Groesse, 0, ",", ".")." Bytes";
}
elseif($Groesse<1000000)
{
return number_format($Groesse/1024, 1, ",", ".")." kB";
}
else
{
return number_format($Groesse/1048576, 2, ",", ".")." MB";
}
}

function Get_data_size2($URL)


Boa ich bin Heute aber Gut drauf ^^

Jesus_666
18.03.2005, 23:20
Mann kann auch einfach eval(string) (http://de3.php.net/manual/de/function.eval.php) benutzen...

Dingsi
18.03.2005, 23:30
<?php
ob_start();
include("deinephpdatei.php");
$result = ob_get_contents();
ob_end_clean();

// ... mach was mit $result ...
?>Dürfte deinem Problem am nähsten kommen.

Crashs Lösung würde die Datei einfach wiedergeben.
dadies Lösung würde einfach den Datei Inhalt in eine Variable packen (übrigens nur in PHP5)
Jeez' Lösung würde das Skript zwar evaluieren, aber das Ergebnis auch einfach ausgeben.
Meine Lösung speichert das Ergebnis in einer Varaiable.

Hey, jeder Ansatz kam der endgültigen Lösung näher.

BTW: dadie: Dein zweites Skript benutzt auch im Grunde nur filesize(), welches Crash ja schon gepostet hat.

P.P.S: Mein Skript setzt vorraus, dass auf dem Server Output-Buffering nutzbar ist.

dead_orc
19.03.2005, 08:28
@Dingsi:
Guck dir mal den Link von Jeez an. Bei richtigem Gebrauch kann man den evaluierten Code auch in eine Variable schreiben (wie im Beispiel gezeigt). Und die Methode setzt nur PHP 3-5 vorraus ;)

Lukas
19.03.2005, 13:12
Ich hab den Thread überflogen und Dingsis Lösung genommen, die funktioniert. Danke an alle.
Das mit dem Output-Buffering ist auch kein Problem, zumindest auf meinen drei Test-Webspaces (localhost, funpic, 1&1).