Toon posts:

[php] files saven vanaf website.....

Pagina: 1
Acties:

Verwijderd

Topicstarter
en de files zijn dan corrupt :? ik heb geen flauw idee waarom..

mijn code (als voorbeeld)

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?

for ($x = 0; $x < 5100; $x++) {

    $filename = $x . ".gif";

    if ($fd = fopen("http://picserver.student.utwente.nl/getpicture.php?id=$x", "r")) { 
        $fw = fopen($filename, "w"); 
        while (!feof ($fd)) { 
            $buffer .= fgets($fd, 1024); 
        } 
        fputs($fw, $buffer); 
        fclose($fw); 
        fclose($fd); 
    } else { 
        echo 'Error opening file / No file found'; 
    }
    echo "processing file: $x<br>";
    flush();
$buffer = "";

}


nu open ik op een gewone manier een file, ik schrijf het op een normale manier weg alleen is de data die ik in de files zie anders dan wanneer ik het gewoon 'save' met de hand... ik snap voor geen meter hoe dit mogelijk is :?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

gebruik ipv fgets fread.
fgets probeert regels tekst in te lezen, fread gewoon bytes...

Met binaire files zijn er geen regels :)

  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 09-08 19:19
Vraag anders even of ie er gewoon een zipje van wil maken, scheelt een hoop load en data ;)

Verwijderd

Topicstarter
ACM schreef op 14 augustus 2002 @ 18:16:
gebruik ipv fgets fread.
fgets probeert regels tekst in te lezen, fread gewoon bytes...

Met binaire files zijn er geen regels :)
tnx, dat werkt perfect!!! tnx

Verwijderd

het is in dit soort gevallen (het schrijven van binary data) ook erg aan te raden om de lengte op te geven bij het schrijven
PHP:
1
fputs($fw,$buffer,strlen($buffer));

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Verwijderd schreef op 14 augustus 2002 @ 21:31:
het is in dit soort gevallen (het schrijven van binary data) ook erg aan te raden om de lengte op te geven bij het schrijven
PHP:
1
fputs($fw,$buffer,strlen($buffer));

Onzin, fputs is de tegenhanger van fgets en daardoor ook niet verstandig om te gebruiken, gewoon fwrite nemen.

Verwijderd

ACM schreef op 14 augustus 2002 @ 21:40:

[...]

Onzin, fputs is de tegenhanger van fgets en daardoor ook niet verstandig om te gebruiken, gewoon fwrite nemen.
true :) maar wie zegt mij dat de TS dat ook doet? Nu wel :D

  • sjokki
  • Registratie: Juli 2002
  • Niet online
ACM schreef op 14 augustus 2002 @ 21:40:
Onzin, fputs is de tegenhanger van fgets en daardoor ook niet verstandig om te gebruiken, gewoon fwrite nemen.
Dat is misschien zo in C, maar in PHP is fputs niet meer dan een alias van fwrite.
Pagina: 1