BLOB
want als je dit niet doet krijg je allemaal rare tekens bij
dit is wat ik tot nu toe heb
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
include "bestanden/config.php";
$query="SELECT * FROM album WHERE id='1'";
$result=mysql_query($query);
$fetch=mysql_fetch_array($result);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo $fetch['title']; ?></title>
<?php
include "bestanden/style.css";
?>
</head>
<body class="pagina">
<?php
echo " title: ";
echo $fetch['title'];
echo " data: ";
echo $fetch['data'];
echo " tijd: ";
echo $fetch['image_time'];
echo " extensie: ";
echo $fetch['ext'];
?>
</body>
</html>
include "bestanden/config.php";
$query="SELECT * FROM album WHERE id='1'";
$result=mysql_query($query);
$fetch=mysql_fetch_array($result);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo $fetch['title']; ?></title>
<?php
include "bestanden/style.css";
?>
</head>
<body class="pagina">
<?php
echo " title: ";
echo $fetch['title'];
echo " data: ";
echo $fetch['data'];
echo " tijd: ";
echo $fetch['image_time'];
echo " extensie: ";
echo $fetch['ext'];
?>
</body>
</html>
alvast bedankt
PS niet al te moeilijke uitleg ben nog een beetje php noob maar dat komt wel
Je moet een plaatje niet in de database zetten. Alleen de link ernaar.
als hij erin kan kan hij er ook weer uit
but how
2: Bij een integer geen quotes gebruiken.
3: mysql_fetch_assoc() is sneller dan Array.
En een plaatje kun je met base64 terug zetten.
ruben schreef op 28.01.2009 15:49:
ja dat vroeg ik dus niet he :P
als hij erin kan kan hij er ook weer uit
but how
als hij erin kan kan hij er ook weer uit
but how
DIT WIL JE DUS NIET HEA !,
Daar kwam dus in principe geen internet bij kijken, dus het opslaan van een link naar een afbeelding (afbeeldingen van producten in dat geval) had echt geen zin. Die werden dus als BLOB in de database opgeslagen.
@TS
In principe moet je een apart PHP-bestand hebben die:
- kijkt of de afbeelding bestaat, en zo ja
- de goede header uitspuugt
- en dan de BLOB-data uitspuugt.
Dat bestand kan je dan als afbeelding linken in de HTML. Bijvoorbeeld <img src="/bestand.php?id=1" />.
Elwin schreef op 28.01.2009 15:54:
@SanThe: dat is meestal een goede oplossing, alleen niet in alle gevallen de oplossing. Zo moest ik op een stage een 'desktop CRM/administratie pakket' uitlezen met PHP, zodat de externe verkopers er in konden. De gegevens die via dat CRM opgeslagen werden stonden in een Interbase database die op een server stond.
Daar kwam dus in principe geen internet bij kijken, dus het opslaan van een link naar een afbeelding (afbeeldingen van producten in dat geval) had echt geen zin. Die werden dus als BLOB in de database opgeslagen.
Daar kwam dus in principe geen internet bij kijken, dus het opslaan van een link naar een afbeelding (afbeeldingen van producten in dat geval) had echt geen zin. Die werden dus als BLOB in de database opgeslagen.
En waarom heeft het dan geen zin?
Een db is er niet voor bedoelt om er een plaatje in op te slaan, dit doe je lekker op het filesystem, dus een link naar het bestand op het filesystem.
Lees ook dit topic maar eens.
Maar ik heb er al veel problemen in PHP mee meegemaakt, en echt lief voor de processor etc is het ook niet. Wil je je website een beetje snel houden, dan zorg je ervoor dat de plaatjes en andere statische content buiten PHP om lopen want dat scheelt enorm. Echt! :)
Maar als je het toch nog zou willen: Je moet aan de browser vertellen dat die rare tekens de inhoud van een plaatje zijn. En dat doe je door een content-type header mee te sturen. Bijvoorbeeld
En inderdaad, je kan ze mixen. Je zal je HTML en je plaatje moeten scheiden. In je HTML plaats je een <img>-tag, en die laat je verwijzen naar de PHP pagina die het plaatje echo't.
//getimage.php//
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
header("Content-Type: image/jpeg");
include "bestanden/config.php";
$query="SELECT data FROM album WHERE id='1'";
$result=mysql_query($query);
echo $result;
?>
header("Content-Type: image/jpeg");
include "bestanden/config.php";
$query="SELECT data FROM album WHERE id='1'";
$result=mysql_query($query);
echo $result;
?>
dat word weergegeven in
//image.php//
mijn browseroutput van image.php beperkt zich tot niks en
die van getimage.php geeft slecht zijn eigen url weer ipv een image
alvast bedankt voor jullie reacties allemaal
Je vergeet te fetchen.
dan gebeurd precies hetzelfde:(
ruben schreef op 28.01.2009 20:38:
niet hij doet het ook niet als ik fetch
dan gebeurd precies hetzelfde:(
dan gebeurd precies hetzelfde:(
Ik wed dat als jij PHP Beginnershandleiding en SQL Beginnershandleiding gaat leren dat je een heleboel nieuwe dingen tegen gaat komen.
heel handig een aanrader kan er complete sites mee bouwen maar dit blob in database nee dat snap ik niet
ruben schreef op 28.01.2009 22:43:
srry maar ik gebruik thuis PHP4 het complete handboek van acedemic services
heel handig een aanrader kan er complete sites mee bouwen maar dit blob in database nee dat snap ik niet
heel handig een aanrader kan er complete sites mee bouwen maar dit blob in database nee dat snap ik niet
Zie hier de laatste comment, en kijk eens naar de datum van de rest...
tjah iemand nog enig ideee (voor mijn mijn vraag dan )
PHP4 is echt oud, dat gebruiken de meeste mensen niet meer. Ook is er geen ondersteuning meer voor.