login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Bestand binair inlezen

Offline Dikke_lu - 10/05/2005 13:17
Avatar van Dikke_luPHP interesse Ik heb een bestand gemaakt op de server en nu wil ik dit bestand inlezen om zo in mijn database (BLOB veld) te plaatsen.

Maar hoe kan je zo een bestand binair inlezen?

9 antwoorden

Gesponsorde links
Offline robmoorman - 10/05/2005 13:31
Avatar van robmoorman PHP interesse hm ik weet alleen dat je met decbin('int'); binarire codes kan krijgen, maar van een bestand... ???
Offline Thomas - 10/05/2005 13:32
Avatar van Thomas Moderator $handle = fopen("je_file.bin", "rb");

?
Offline Dikke_lu - 10/05/2005 13:39
Avatar van Dikke_lu PHP interesse @fangorn kan ik daarna die $handle in de database in een BLOB veld inserten?
Offline Dikke_lu - 10/05/2005 13:43 (laatste wijziging 10/05/2005 13:43)
Avatar van Dikke_lu PHP interesse werkt niet:'(

Wat ik eigenlijk moet hebben is dat ik een bestand kan lezen van de HD van de server en in een variabele te krijgen juist hetzelfde alsof je het bestand had geupload.
Offline Thomas - 10/05/2005 13:47 (laatste wijziging 10/05/2005 13:49)
Avatar van Thomas Moderator Nee, daarna moet je het bestand nog lezen... En dat "lees-resultaat" kun je wel als BLOB in de DB zetten lijkt me.

  1. $handle = fopen("je_file.bin", "rb");
  2. $contents = fread($handle, filesize("je_file.bin"));
  3. fclose($handle);
  4.  
  5. // en dan kun je hier $contents in een blob veld zetten lijkt me
Offline Dikke_lu - 10/05/2005 13:51
Avatar van Dikke_lu PHP interesse k thnx eens proberen
Offline Dikke_lu - 10/05/2005 13:55
Avatar van Dikke_lu PHP interesse Het werkt
Thnx fangorN^^
Offline Legolas - 10/05/2005 14:50
Avatar van Legolas Onbekend @fangorn:
toch nog 1 verbeterpuntje :
jij leest bestand in 1 keer:
Citaat:
$handle = fopen("je_file.bin", "rb");
$contents = fread($handle, filesize("je_file.bin"));
fclose($handle);

// en dan kun je hier $contents in een blob veld zetten lijkt me

Nog beter is:
  1. <?
  2. $file = fopen("je_file.bin", "rb");
  3. while(!feof($file)){
  4. $contents .= fread($file, 8192);
  5. }
  6. fclose($handle);
  7. // en zet nu $contents in je blobveld
  8. ?>

Zo voorkom je dat de server gaat flippen, als hij een té groot bestand moet inlezen (heb je niet vaak). Dit schijnt iets te maken te hebben met TCP/IP protocol, dat de server niet een té groot bestand in 1 keer kan inlezen. Vandaar mijn puntje;-)
Offline jopiduurkopi - 10/05/2005 15:38
Avatar van jopiduurkopi Onbekend
Citaat:
Dit schijnt iets te maken te hebben met TCP/IP protocol
ehh, het gaat hier om een bestand wat op de harde schijf staat, daar heeft het tcp/ip protocol niks mee te maken.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.194s