Ich habe ein Problem mit einem PHP-Script von mir, das eine Datei eines fremden Servers auslesen soll. Das Problem ist die Rückgabe ist immer wieder anders obwohl sich die Datei nicht verändert. Ausserdem ist sie falsch.
Woran könnte das liegen?
Vielen Dank für die Antworten und Entschuldigt die Länge des Beitrags.
Das Script:
Die Ausgabe sollte so aussehen:
Sie sieht aber so aus:
oder so (es gibt noch einige andere Möglichkeiten):
Woran könnte das liegen?
Vielen Dank für die Antworten und Entschuldigt die Länge des Beitrags.
Das Script:
PHP-Code:
$path = "xxx.ch";
$socket = pfsockopen($path, 80, $errornumber, $errorstring);
if(!$socket) {
echo "$errstr ($errno)<br/>\n";
echo $socket;
}else{
$ret = "";
fwrite($socket, "GET [url]http://xxx.ch/c4[/url] HTTP/1.1\r\nHost: yyy.ch\r\nUser-Agent: PHP\r\nCache-Control: max-age=0\r\nConnection: close\r\n\r\n");
do{
$ret .= fread($socket, 1);
}while(!strpos($ret, "\r\n\r\n"));
if(!strpos($responseHeader, "Transfer-Encoding: chunked")){
while(!feof($socket)){
$ret .= fgets($socket, 128);
}
}else{
while($chunk_length = hexdec(fgets($socket))){
$read_length = 0;
$chunks = "";
while($read_length < $chunk_length){
$chunks .= fread($socket, $chunk_length - $read_length);
$read_length = strlen($chunks);
}
$ret.= $chunks;
fgets($socket);
}
}
echo $ret;
fclose($socket);
}
PHP-Code:
Array (Array
(
[0] => Array
(
[0] => 0
[1] => 0
[2] => Array
(
[0] =>
)
[3] => Array
(
[0] => 3
)
)
)
PHP-Code:
60
Array
(
[0] => Array
(
[0] => 0
[1] => 0
[2
99
] => Array
(
[0] =>
)
[3] => Array
(
[0] => 3
21
)
)
)
0
PHP-Code:
6
Array
2
(
1
1
1
1
1
[
1
0
5
] =>
6
Array
1
1
1
1
1
1
1
1
2
(
1
1
1
1
1
1
1
1
1
1
1
1
1
[
1
0
5
] =>
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
[
1
1
5
] =>
1
0
1
1
1
1
...
Kommentar