Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Webspace ohne file_get_contents Restriktion [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-consult PHP Entwicklung
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Webspace ohne file_get_contents Restriktion


 
goodlike
28-07-2008, 15:04 
 
Hallo alle zusammen,
wie es schon im Titel steht, ich suche aus Testzwecken einen kostenlosen Webspace ohne file_get_contents Beschränkung.
Leider muss ich als Vorgabe file_get_contents() benutzen.
Ich habe mittlerweile eine Menge kostenloser Webspaceanbieter ausprobiert, allerdings wurde da die Funktion gesperrt.
Vielleicht gibt es ja einen Ausreisser (ausser Paidspace) der die Funktion zulässt, den eventuell jemand kennt.

Vielen Dank.

 
jahlives
28-07-2008, 15:06 
 
file_get_contents() ist meist nicht deaktiviert, sondern nur auf lokale Dateien beschränkt. fsockopen() und Co können hier helfen. Einen konkreten Gratishoster kenne ich nicht aber setz dir doch einen eigenen Server zu Testzwecken auf (gibt ja fertige Pakete wie WAMPP oder LAMPP je nach Server-BS)

 
lennart
28-07-2008, 15:06 
 
Zum testen? localhost?

 
goodlike
28-07-2008, 15:19 
 
@lennart & jahlives
Danke für die schnellen Antworten.
Das ist bei mir schon der Fall, local teste ich es mit xampp.

Das Problem ist nur das file_get_contents die Eigenschaft hat, nach 60sek einen Timeout zu bekommen.
Bei meiner DSL-Light Verbindung schaffe ich es nicht alle Daten (innerhalb von 60sek) über file_get_contents vom anderem Server zu streamen und bekomme von daher einen Timeout und somit ein unvollstäniges Ergebnis.
Auf meinen alten Paidspace (ohne file_get_contents Restriktion) war das alles kein Problem, lief alles innerhalb Bruchteilen von Sekunden ab.

 
unset
28-07-2008, 15:23 
 
Der Timeout kommt wohl eher von deiner Scriptlaufzeit. Solange ein Aufruf Daten erhält, gibts keinen Grund auszusteigen.

 
jahlives
28-07-2008, 15:25 
 
Das Problem ist nur das file_get_contents die Eigenschaft hat, nach 60sek einen Timeout zu bekommen.

Welche PHP Version haste am Start? afaik war es vor Version 5 möglich den Laufzeitparameter im Script zu setzen.

 
PHP-Desaster
28-07-2008, 15:51 
 
Ich glaube, über stream_context_get_default kommst du an den Standard-Stream, der u.a. auch für file_get_contents verwendet wird. Über stream_set_timeout kannst du dann vielleicht den Timeout-Wert festlegen :dontknow:

 
goodlike
28-07-2008, 15:55 
 
Original geschrieben von unset
Der Timeout kommt wohl eher von deiner Scriptlaufzeit. Solange ein Aufruf Daten erhält, gibts keinen Grund auszusteigen.
Wenn ich kleine Dateien streame, die meine Leitung innerhalb der 60sek Spanne schafft ist das alles kein Problem, bei größeren Dateien die länger als eine Minute gestreamt werden müssen, bekomme ich einen Timeout (das PHP-Script und sowohl das restliche HTML bricht ab). Ich glaube die Funktion file_get_contents darf selbst nicht länger als 60sek ausgeführt werden, da ich das Problem auf dem Paidspace mit 100+Mbit/s nicht hatte???

@jahlives
5.2.5, habe schon nach sowas wie einer Timeoutverlängerung gesucht aber irgendwie nichts gefunden, eine Möglichkeit wäre da mit curl zu arbeiten, aber das steht mir nicht zur Verfügung.

Bin für alle Möglichkeiten und Vorschläge offen.

 
jahlives
28-07-2008, 15:59 
 
Eventuell hilft dies http://us3.php.net/set_time_limit

 
goodlike
28-07-2008, 16:41 
 
Original geschrieben von PHP-Desaster
Ich glaube, über stream_context_get_default kommst du an den Standard-Stream, der u.a. auch für file_get_contents verwendet wird. Über stream_set_timeout kannst du dann vielleicht den Timeout-Wert festlegen :dontknow:
Habe es über stream_set_timeout probiert brachte leider kein Erfolg.

@jahlives
Das funktioniert prima, das Script bekommt bei großen Dateien keinen Timeout mehr, wenn der Stream aber schon vor der max. Zeit in set_time_limit abgeschlossen ist, beginnt das Script wieder von vorne, bis die Zeit halt erreicht ist :confused:


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:44 Uhr.