Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  PHP mysql BLOB pdf -> salvestada faili (samas masinas),mitte pritsida brauserisse märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
raido357
HV veteran

liitunud: 26.09.2002




sõnum 04.11.2009 21:58:11 PHP mysql BLOB pdf -> salvestada faili (samas masinas),mitte pritsida brauserisse vasta tsitaadiga

Tere

Andmebaasis on PDF'id , nüüd vaja need sealt kätte saada ja salvestada kohe samas masinas (serveris) PHP abil või mysql enda oskustega.

On kellelgi ideid ? Googlest ei ole midagi asjalikku ei ole veel leidnud.
Kommentaarid: 78 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 70
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 04.11.2009 22:33:02 vasta tsitaadiga

No kuidas sa need sinna said? Eks sama moodi saab ka välja. Ise olen pilte proovinud panna, kuid arvan, et PDF käib sarnaselt. Oletame siis, et nad sul seal on. Tabelis peab olema väli, mille välja tüüp on BLOB
Loed selle välja alla omale, viskad õige päise ette minul pildi puhul oli
Header("content-type: image/jpeg");
Ja lased ta kuskil lehel välja echoda peakski üldjoontes kogu muusika olema.
_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
raido357
HV veteran

liitunud: 26.09.2002




sõnum 04.11.2009 23:10:13 vasta tsitaadiga

andrusny kirjutas:
No kuidas sa need sinna said? Eks sama moodi saab ka välja. Ise olen pilte proovinud panna, kuid arvan, et PDF käib sarnaselt. Oletame siis, et nad sul seal on. Tabelis peab olema väli, mille välja tüüp on BLOB
Loed selle välja alla omale, viskad õige päise ette minul pildi puhul oli
Header("content-type: image/jpeg");
Ja lased ta kuskil lehel välja echoda peakski üldjoontes kogu muusika olema.


Ei ei, mul on vaja andmebaasist lugeda, siis serveris tmp kausta salvestada ja seejärel FPDI/FPDF abil templatena kasutada.
Kommentaarid: 78 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 70
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 04.11.2009 23:17:23 vasta tsitaadiga

Sellest ma ju räägingi. Niimoodi loedki ja salvestad siis failina, kui ei taha kuvada. Taon seal üks ühele binaar kujul. Sisse läheb ka sama moodi loetakse failist
$fp = fopen($pilt, "rb");

ja seejärel läheb hariliku INSERT värgiga sinna BLOB väljale, tagasi nii nagu eelmises postis rääkisin.
Ja sa ei pruugi salvestada kui tahad ainult kuvada. Teed php faili, loed selle välja muutujasse, viskad header ette ja sisu järgi. Nüüd programm või muu, mis loeb sul seda pdf annad talle pdf asemel kätte selle php faili


// loed välja $pdfandmed andmebaasist
header('Content-Type: application/pdf');
echo $pdfandmed;

_________________


viimati muutis andrusny 04.11.2009 23:24:29, muudetud 1 kord
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
raido357
HV veteran

liitunud: 26.09.2002




sõnum 04.11.2009 23:27:54 vasta tsitaadiga

   $p=$conn->prepare("SELECT filecontent FROM ".NOTICE_TEMPLATES_TABLE." WHERE id=?");
   $p->bind_param("i", $tpl_id);
   $p->bind_result($filecontent);
   $p->execute();
   if($p->fetch()) {
 
       $myFile = TMP.time();
      $fh = fopen($myFile, 'w') or die("can't open file");
      fwrite($fh, $filecontent);
      fclose($fh);
    }


Selline tulemus annab vigased pdf failid.

Edit:

icon_exclaim.gif probleem lahendatud, stripslashes oli puudu, pole varem blob dataga väga mõllanud, jälle targem. icon_exclaim.gif
Kommentaarid: 78 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 70
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 04.11.2009 23:34:21 vasta tsitaadiga

Kui viitsid möllata, mul on üks pdf klass, kus on sees kõik salvestus ja väljastus andmed, sealt peaksid leidma kõik vajaliku.
pdf klass

tsitaat:
probleem lahendatud, stripslashes oli puudu, pole varem blob dataga väga mõllanud, jälle targem.

ups! minu viga, mul oli endal ka peale andmebassist lugemist see vahel, kuid ei pidanud seda oluliseks.

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 04.11.2009 23:37:35 vasta tsitaadiga

tsitaat:
probleem lahendatud, stripslashes oli puudu, pole varem blob dataga väga mõllanud, jälle targem.


Kui sa andmebaasist loetavatele andmetele pead stripslashes() rakendama, siis on midagi väga valesti. Sul on kas magic_quotes_runtime sisse lülitatud või oled PDF failid andmebaasi salvestanud varjestatud kujul - ehk vigasel kujul.

Üleüldse, kui sa pead kusagil koodis stripslashes() kasutama, siis on sul arvatavasti mingit sorti magic_quotes sisse lülitatud. Magic Quotes funktsionaalsus on aga teatavasti alates PHP 5.3.0 versioonist deprecated: http://php.net/manual/en/security.magicquotes.php

Lisaks... Selle asemel, et:

$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, $filecontent);
fclose($fh);


kasuta lihtsalt:

file_put_contents($myFile, $filecontent);

_________________
Mõistus otsas? Pane pinusse...
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
raido357
HV veteran

liitunud: 26.09.2002




sõnum 05.11.2009 01:01:26 vasta tsitaadiga

nene, on jah serveri konfis see kurjajuur peal, htaccess kõrvaldas probleemi.

Edit: tegelt polnud serveri poolel kala vist, krdima addslashes oli inserdi juures peale jäänud (kusagilt mujalt näpatud koodijupp).
Kommentaarid: 78 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 70
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  PHP mysql BLOB pdf -> salvestada faili (samas masinas),mitte pritsida brauserisse
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.