login  Naam:   Wachtwoord: 
Registreer je!
 Forum

blob zonder form

Offline spyzone - 19/12/2006 19:58
Avatar van spyzonePHP beginner hey,

Ik ben hevig op zoek naar een BLOB script. Alleen dan niet met een form met een file-input. Maar dat ik een url van een plaatje opgeef, en dat die dat plaatje dan in de database zet.
Kan iemand mij hiermee helpen?

Thx.

10 antwoorden

Gesponsorde links
Offline Gerard - 19/12/2006 22:18
Avatar van Gerard Ouwe rakker Leg mij eens uit wat nou precies BLOB inhoud....

Hopelijk geef je dan zelf ook de oplossing aan aangezien die niet zo heel moeilijk is.
Offline spyzone - 20/12/2006 10:54
Avatar van spyzone PHP beginner Blob: Een plaatje in de database opslaan, en darna via een php bestand er weer uit kunnen halen. Gus dat je niet een plaatje opslaat in een map, maar in de database.(MySQL)
Maar deze gaat meestal via een Form.
Offline Kr4nKz1n - 20/12/2006 10:58
Avatar van Kr4nKz1n Onbekend Je bedoelt gewoon tekst dat een URL vormt opslaan in de database?
Offline xSc - 20/12/2006 11:25
Avatar van xSc Onbekend Even wat meer info graag.

Waarom komt de afbeelding vandaan?

Verder wordt het doorgaans niet aangeraden om afbeeldingen op te slaan in de database. Je kunt afbeeldingen ook extern opslaan in een map. A.d.h.v. bestandsnaam kun je het dan weer opvragen.
Offline Gerard - 20/12/2006 13:55
Avatar van Gerard Ouwe rakker
Citaat:
Blob: Een plaatje in de database opslaan, en darna via een php bestand er weer uit kunnen halen. Gus dat je niet een plaatje opslaat in een map, maar in de database.(MySQL)


Dus het opslaan van een plaatje (een plaatje? niet de data?) in een database noemt men 'BLOB'?

Dit is dus al helemaal geen definitie van een BLOB en dus heb moet je nog even verder zoeken.
Offline spyzone - 20/12/2006 22:18
Avatar van spyzone PHP beginner oke, laat ik het anders zeggen dan. Dacht dat dat blob was.
Ik wil een url opgeven, bijvoorbeeld:
  1. http://www.sitemasters.be/web/avatars/362.jpg

En dit wil ik dan in mijn database hebben. En dan echt het plaatje zelf, in binaire code ofzo.
En dan wil ik het op een andere pagina kunnen ophalen en het plaatje weer tonen. Maar dan niet via die link, maar gelijk vanuit de database.
Hopenlijk nu goed uitgelegd.  
Offline timo - 20/12/2006 22:53
Avatar van timo PHP ver gevorderde als het je is gelukt om de inhoud van dat veld de krijgen moet je base64_decode ofzo overheen halen en dat echoeen, dat dacht ik tenminste..
Offline Gerard - 21/12/2006 11:18
Avatar van Gerard Ouwe rakker @spyzone

De reden dat ik vraag aan jou wat een BLOB precies is, is omdat het antwoord op jouw vraag al verborgen ligt in wat het precies is. Ik weet goed wat jij wilt bereiken met jouw script maar je vraagt aan ons de oplossing.

Ik heb geen zin om de oplossing voor jou voor te kauwen als ik zeker weet dat jij, met wat zoekwerk, deze oplossing zelf kan vinden.

Dus nogmaals: Zoek eens op wat een BLOB veld precies opslaat.
Offline tswebdev - 21/12/2006 12:42 (laatste wijziging 21/12/2006 12:42)
Avatar van tswebdev PHP interesse Is dit een BLOB?
[url=http://nl.wikipedia.org/wiki/BLOB_(informatica)]BLOB[/url]
Offline beckers - 21/12/2006 15:58 (laatste wijziging 24/12/2006 18:35)
Avatar van beckers Nieuw lid Ik denk dat je bedoelt met fopen, fread enzo werken, en dan die data opslaan in een database. Het probleem is dat bij sommige (gratis) webhosts je geen bestanden kunt openen die niet op de server staan. Gaat dit wel, dan kun je deze code gebruiken
  1. <?php
  2. $handle = fopen($_POST["locatie"], "rb");
  3. do {
  4. $data = fread($handle, 8192);
  5. if (strlen($data) == 0) {
  6. break;
  7. }
  8. $contents .= $data;
  9. } while(true);
  10. fclose($handle);
  11. mysql_connect("localhost", $db_user, $db_pass);
  12. mysql_query("INSERT INTO images (adres, data) VALUES ('".mysql_real_escape_string($_POST["locatie"])."', 0x".bin2hex($contents)."')");
  13. ?>


PS: de 'vreemde' code voor het lezen van de data is aangeraden door PHP:
Citaat:
Als er gelezen wordt vanaf netwerk streams of pipes, zoals bij remote files of popen() of proc_open(), wordt het lezen gestopt als er een pakketje aanwezig is. Dit betekent dat je zelf alle data bij elkaar in blokken moet verzamelen zoals in het voorbeeld hier beneden.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.444s