Toon posts:

PHP opent het file niet helemaal

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een PHP-scripje gemaakt dat je via je browser een willekeurige file naar de MySQL database kan uploaden.

Met een multipart/form-data form en als er op de submit knop word geklikt gaat word dit verwerkt door een ander php file'tje.

De (gedeeltelijke) code daarvan is:

connect_db();
$grootte = filesize($file);
$fp = fopen($file, "r");
if (!$fp) {

echo "Lezen van het bestand mislukt!";
}
$data = fread($fp, $grootte);
$fp = fclose($fp);

$data = addslashes($data);


$query = "INSERT INTO space VALUES ('$data', '$grootte')";
$result = mysql_query($query) or die(mysql_error());

De file wordt dan geupload in een LONGBLOB field, maar bij binaire files (plaatjes, word docs, enz) gaat het fout, dan komt er maar een gedeelte van de code in de DB.

Wat doe ik fout????

Alvast bedankt!

Verwijderd

Topicstarter
Please help me!! :?

Verwijderd

het kan met 2 dingen te maken hebben, ten eerste
Fread is binary-safe IF AND ONLY IF you don't use magic-quotes. If you do,
all null bytes will become \0, and you might get surprising results when
unpacking.
(welke het wel zal zijn aangezien je addslashes() gebruikt. :?

ten 2e kan je het volgende eventueel gebruiken voor je FOPEN()
Note: On systems which differentiate between binary and text files (i.e. Windows) the file must be opened with 'b' included in fopen() mode parameter.
PHP:
1
2
3
4
5
6
<?
$filename = "c:\\files\\somepic.gif";
$fd = fopen ($filename, "rb");
$contents = fread ($fd, filesize ($filename));
fclose ($fd);
?>


iedergeval 2 dingetjes die je kan proberen :)

Verwijderd

Topicstarter
Bedankt! :)

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

files in de database :?

ik zou files liever files laten... maar goed...

Klaar voor een nieuwe uitdaging.