[PHP/MSSQL] binary data uit mssql halen en tijdelijk opslaan

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Anoniem: 500735

Topicstarter
Goedemorgen,

Ik heb een formulier gemaakt in php waarmee er een pdf bestand in een mssql database opgeslagen wordt.

Dat is via de volgende manier, gevolgd door een insert die de $contentPDF in de desbetreffende kolom zet.
En dit werkt helemaal perfect.
code:
1
2
3
4
$FileNamePDF = $_FILES["pdf"]["tmp_name"]; 
$dataString = file_get_contents($FileNamePDF); 
$arrData = unpack("H*hex", $dataString); 
$contentPDF = "0x".$arrData['hex'];


Nu kan ik ook het ingevoegde document weer uit de tabel halen via de onderstaande code en dan krijg ik netjes de vraag wat wil ik doen het pdf document openen of opslaan en alles gaat tot nu toe goed.
code:
1
2
3
4
5
6
7
8
9
10
11
12
$query = odbc_exec($conn_select, "SELECT * FROM tabel");
while (odbc_fetch_row($query)) {
$filename = odbc_result($query,"naam");
$filesize = odbc_result($query,"grootte");
$filetype = odbc_result($query,"typebestand");
$filedata = odbc_result($query,"bestand");

header("Content-Length: ". $filesize ."");
header("Content-Type: ". $filetype ."");
header("Content-Disposition: attachment; filename=". $filename ."");
echo $filedata;
}



Maar wat ik graag nog zou willen is ik wil in me php pagina een stukje maken die het pdf-bestand uit de database haalt en tijdelijk op de server opslaat zodat ik er wat tekst aan kan toevoegen.
Maar hoe kan ik er nu voor zorgen dat ik het document uit de database kan opslaan op de server ?
move_uploaded_file pakt hij niet en met fopen en fwrite lukt het ook niet.

Kan iemand mij misschien uitleggen hoe ik dat het beste voor mekaar kan krijgen?
Welke handeling moet ik daarvoor gebruiken?

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 00:21

Janoz

Moderator Devschuur®

!litemod

Waarom lukt het niet met fopen en fwrite? Wat heb je geprobeerd en wat ging er fout?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Anoniem: 500735

Topicstarter
Nou mijn bedoeling was om het document op te halen en dan op een andere tijdelijke locatie op te slaan om die vervolgens te bewerken door er een plaatje aan toe te voegen. En met fopen opent hij het document en sla je het op de zelfde locatie op, was er nog niet achter hoe je kan opslaan op een andere locatie.

Maar ik was ook nog even aan het prutsen geweest en kwam er achter dat het met de volgende manier wel werkt zoals ik het graag wil;
code:
1
file_put_contents('tijdelijke-documenten/'. $filename .'.pdf', $filedata);


Nu krijg ik het pdf document in de tijdelijk map en kan ik hem bewerken!

Acties:
  • 0 Henk 'm!

  • defixje
  • Registratie: Oktober 2003
  • Laatst online: 03-07 01:11
Anoniem: 500735 schreef op donderdag 11 april 2013 @ 12:28:
Nou mijn bedoeling was om het document op te halen en dan op een andere tijdelijke locatie op te slaan om die vervolgens te bewerken door er een plaatje aan toe te voegen. En met fopen opent hij het document en sla je het op de zelfde locatie op, was er nog niet achter hoe je kan opslaan op een andere locatie.

Maar ik was ook nog even aan het prutsen geweest en kwam er achter dat het met de volgende manier wel werkt zoals ik het graag wil;
code:
1
file_put_contents('tijdelijke-documenten/'. $filename .'.pdf', $filedata);


Nu krijg ik het pdf document in de tijdelijk map en kan ik hem bewerken!
Ja dan slaat hij de PDF inderdaad op een andere locatie op. Maar hoe wil je nu een extra tekst toevoegen?

D3Fix, Ethical Hacker, Pokeraar, Programmeur


Acties:
  • 0 Henk 'm!

  • Tsjilp
  • Registratie: November 2002
  • Niet online

Tsjilp

RS[I]ds

Je kunt ook tmpfile() gebruiken.

Raar... Is zo gek nog niet