[codeigniter] [php] Upload form direct naar blob

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • TVH7
  • Registratie: Oktober 2012
  • Laatst online: 28-09 01:27

TVH7

Tango Victor Hotel Seven

Topicstarter
Hi,

Ik ben al een tijd aan het zoeken naar de mogelijkheid om een bestand te uploaden (via een upload form) direct naar mijn mysql database (longblob). Ik kan echter nergens vinden hoe je dit kan doen met php, en eventueel het framework codeigniter. Wat ik wel ik kan vinden zijn scripts die een tijdelijke map gebruiken om vervolgens het bestand te uploaden. Maar is er ook een mogelijkheid om dit direct te doen?

Voor diegene die gaan vragen waarom ik het niet in het filesystem upload: Ik wil graag alles in de database houden zodat ik niet afhankelijk ben van de server zelf. Ook weet ik met een database met zekerheid dat het bestand niet zoek raakt. De applicatie hoeft niet super snel te zijn, en ik verwacht ook niet grote hoeveelheden aan traffic, dus dit moet prima zo gaan.

Acties:
  • 0 Henk 'm!

  • WernerL
  • Registratie: December 2006
  • Nu online
Standaard zet PHP alle uploads in de /tmp map neer, dus zonder filesystem kun je het sowieso niet doen.
Dit lijkt me een kwestie van de data uitlezen uit die file waarvan de locatie staat in $_FILES['filename']['tmp_name'] na de upload.

Roses are red, violets are blue, unexpected '{' on line 32.


Acties:
  • 0 Henk 'm!

  • NeFoRcE
  • Registratie: Mei 2004
  • Laatst online: 13-10 09:54

NeFoRcE

Hallo? Bent u daar?

WernerL schreef op donderdag 09 juli 2015 @ 12:40:
Standaard zet PHP alle uploads in de /tmp map neer, dus zonder filesystem kun je het sowieso niet doen.
Dit lijkt me een kwestie van de data uitlezen uit die file waarvan de locatie staat in $_FILES['filename']['tmp_name'] na de upload.
Zou http://php.net/manual/en/wrappers.php.php#wrappers.php.input dit niet werken? Dat is de raw input van PHP.

Professioneel Heftruck Syndroom


Acties:
  • 0 Henk 'm!

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 09:56

TheNephilim

Wtfuzzle

Na even Googelen op 'file upload blob mysql' kom ik bijv. dit tegen. Daar zitten vast wat punten in die je zou kunnen gebruiken.

In het kort...

PHP:
1
2
3
4
5
$file = $_FILES['file-input-name']['tmp_name'];

$fp = fopen($file, ‘r’);
$fileContent  = fread($fp, filesize($file));
fclose($fp);


Die $fileContent gaat dan je database in.

Acties:
  • 0 Henk 'm!

  • WernerL
  • Registratie: December 2006
  • Nu online
Dat is de methode die ik hierboven ook al omschreef. Ik ben alleen te lui om de TS hapklare brokken voor te schotelen. :P

Maar toch 1 opmerking, kun je regel 3 t/m 4 niet gewoon vervangen met file_get_contents($file); ? Of is er een reden dat jij het op deze manier doet?

Roses are red, violets are blue, unexpected '{' on line 32.


Acties:
  • 0 Henk 'm!

  • TVH7
  • Registratie: Oktober 2012
  • Laatst online: 28-09 01:27

TVH7

Tango Victor Hotel Seven

Topicstarter
Thx heren!
Ga hier eens naar kijken inderdaad, lijkt me erg handig!
WernerL schreef op donderdag 09 juli 2015 @ 12:40:
Standaard zet PHP alle uploads in de /tmp map neer, dus zonder filesystem kun je het sowieso niet doen.
Dit lijkt me een kwestie van de data uitlezen uit die file waarvan de locatie staat in $_FILES['filename']['tmp_name'] na de upload.
Klopt inderdaad, neem aan dat ik dit inderdaad maar moet gaan gebruiken...
TheNephilim schreef op donderdag 09 juli 2015 @ 13:20:
Na even Googelen op 'file upload blob mysql' kom ik bijv. dit tegen. Daar zitten vast wat punten in die je zou kunnen gebruiken.

In het kort...

PHP:
1
2
3
4
5
$file = $_FILES['file-input-name']['tmp_name'];

$fp = fopen($file, ‘r’);
$fileContent  = fread($fp, filesize($file));
fclose($fp);


Die $fileContent gaat dan je database in.
Ja dat is inderdaad hoe je het er uitgewerkt uit moet gaan zien. Alleen het 'na even googlen' is een beetje jammer/overbodig... Dat hoef je niet te vermelden, want ik heb het niet gevonden anders had ik ook geen topic aangemaakt...
WernerL schreef op donderdag 09 juli 2015 @ 13:46:
Dat is de methode die ik hierboven ook al omschreef. Ik ben alleen te lui om de TS hapklare brokken voor te schotelen. :P

Maar toch 1 opmerking, kun je regel 3 t/m 4 niet gewoon vervangen met file_get_contents($file); ? Of is er een reden dat jij het op deze manier doet?
Hapklare brokken zijn ook helemaal niet nodig ik ben geen 4 :) :P
Pagina: 1