[PHP] Binair plaatje werkt niet

Pagina: 1
Acties:

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19:07

me1299

$ondertitel

Topicstarter
Ik heb een site waarbij gebruikers plaatjes kunnen uploaden (GIF)

Dit gaat met de volgende code:
PHP:
1
<?$binary_junk_thumb = addslashes (fread(fopen($thumbnail['tmp_name'], "r"), filesize($thumbnail['tmp_name'])));        $binary_junk_grote = addslashes (fread(fopen($grotefoto['tmp_name'], "r"), filesize($grotefoto['tmp_name'])));$query = "INSERT INTO tblWoningen VALUES (NULL, '$HTTP_POST_VARS[adres]', '$HTTP_POST_VARS[omschrijving]', '$HTTP_POST_VARS[prijs]', $HTTP_POST_VARS[status], '$today', '$binary_junk_thumb', '$binary_junk_grote', $HTTP_POST_VARS[woningSoort], $HTTP_POST_VARS[plaats], $HTTP_POST_VARS[woningPrijsSoort], '$HTTP_POST_VARS[postcode]')";?>

Vervolgens lees ik ze uit met deze code:
PHP:
1
<?include ("includes/config.inc.php");$query = "SELECT woningFotoKlein from tblwoningen where woningID = '$HTTP_GET_VARS[id]'";$result = mysql_query($query); if ($mysql_fetch = mysql_fetch_array($result)) {    do {        $binary_junk = $mysql_fetch[woningFotoKlein];        }    while ($mysql_fetch = mysql_fetch_array($result));}header("Content-type: image/gif");print ("$binary_junk");?>

Het enige wat ik te zien krijg ik een kruisje :(

Weet iemand misschien wat er fout gaat? Het is btw wel zeker weten een gifje wat ik upload

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Haal die gif-header weg en kijk wat de foutmelding is...

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 15:13
Ik betwijfel dat zowel print als de constructie met quotes binary-safe zijn. Die constructie met quotes is sowieso overbodig (gebruik gewoon $binary in plaats van "$binary") en je kunt waarschijnlijk beter fwrite gebruiken.

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19:07

me1299

$ondertitel

Topicstarter
Op vrijdag 08 maart 2002 12:42 schreef ACM het volgende:
Haal die gif-header weg en kijk wat de foutmelding is...
Als ik die gif header weghaal dan krijg ik ook een kruisje. Das hetzelfde als ik gewoon gelijk
PHP:
1
<?die $binary_junk;?>

doe.

Het domme is dat ik wel de juiste afmeting zie maar verder alleen zo'n pokke kruisje.
Op vrijdag 08 maart 2002 12:48 schreef Soultaker het volgende:
Ik betwijfel dat zowel print als de constructie met quotes binary-safe zijn. Die constructie met quotes is sowieso overbodig (gebruik gewoon $binary in plaats van "$binary") en je kunt waarschijnlijk beter fwrite gebruiken.
Fwrite? Ik hoef toch geen files weg te schrijven. Heb nie voor nix een database systeem.

Dit komt overigens gewoon een een tutorial waar ook een hoop mensen klagen dat het niet werkt :(

Natuulijk zie je de user response pas veel later.

En zonder quotes of wat dan ook maakt geen zak uit. ;(

De query is trouwens gewoon goed, dat heb ik al gechecked met phpmyadmin.

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Als je height en width wel goed staan bij output, heb je dikke kans dat je veld in de database gewoon niet op BINARY staat. Check dat even.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Je moet ook je plaatje ook direct aanroepen, niet dmv een image-tag...

Anders krijg je idd of een kruisje of een plaatje, maar zul je nooit de foutmeldingen te zien krijgen...

  • Grum
  • Registratie: Juni 2001
  • Niet online
welke db veld-type heb je ? :)

toch wel BLOB he ? :)

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19:07

me1299

$ondertitel

Topicstarter
Op vrijdag 08 maart 2002 12:59 schreef drm het volgende:
Als je height en width wel goed staan bij output, heb je dikke kans dat je veld in de database gewoon niet op BINARY staat. Check dat even.
Als BLOB geen binary dingen kan bevatten staat hij idd verkeerd.
Op vrijdag 08 maart 2002 13:01 schreef ACM het volgende:
Je moet ook je plaatje ook direct aanroepen, niet dmv een image-tag...

Anders krijg je idd of een kruisje of een plaatje, maar zul je nooit de foutmeldingen te zien krijgen...
Zie jij hier een image tag????

Ik doe gewoon blalba/show_thumbnail.php?id=26

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op vrijdag 08 maart 2002 13:04 schreef DeathKnight het volgende:
Ik doe gewoon blalba/show_thumbnail.php?id=26
Ik kan toch niet zien hoe jij het test? ;)

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19:07

me1299

$ondertitel

Topicstarter
Op vrijdag 08 maart 2002 13:07 schreef ACM het volgende:

[..]

Ik kan toch niet zien hoe jij het test? ;)
Dat klopt :o

Ik heb ook nog het 1 en ander met stripslahses geprobeert op $binary_junk maar dat was ook niet het probleem. :(

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

draai je op een windows-bak?

Dan moet je namelijk van die "r" even "rb" maken.

Je leest tenslotte een binary bestand in.
code:
1
2
3
4
5
6
7
$binary_junk_thumb = 
   addslashes (               
    fread(                  
       fopen($thumbnail['tmp_name'], "rb"), // <----
       filesize($thumbnail['tmp_name'])
    )
   );

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19:07

me1299

$ondertitel

Topicstarter
Ahhhhh.. I fixed it :)
PHP:
1
<?$binary_junk_thumb = addslashes (fread(fopen($thumbnail['tmp_name'], "r"), filesize($thumbnail['tmp_name'])));?>

moet
PHP:
1
<?$binary_junk_thumb = addslashes (fread(fopen($thumbnail['tmp_name'], "rb"), filesize($thumbnail['tmp_name'])));?>

Worden :)

Dom lettertje verdorie.. :D

Nog bedankt voor jullie hint, tips, en suggesties ;)

edit:
[quote]
Op vrijdag 08 maart 2002 13:14 schreef drm het volgende:
draai je op een windows-bak?

Dan moet je namelijk van die "r" even "rb" maken.

Je leest tenslotte een binary bestand in.
[code]$binary_junk_thumb =
addslashes (
fread(
fopen($thumbnail['tmp_name'], "rb"), // <----
filesize($thumbnail['tmp_name'])
)
);[/code]

[/quote]



LOL :D :D

Ik was er net achter. Toen zag ik dit staan na een refresh :P

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen

Pagina: 1