Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
multizync
HV kasutaja

liitunud: 23.05.2005
|
12.04.2012 10:24:48
Probleem pildi avamisel postgresql andmebaasist (PHPs) |
|
|
Selline lugu, et lisasin pildi postgres andmebaasi. PHP kaudu tegin seda, aga nüüd tahaksin seda pilti avada postgres andmebaasist, ja seda näidata veebibrauseris. Praegu nagu ta mul on, siis ma arvan, et saan kätte (kui arvutis pildi peal panna parem klõps ja edit with notepad vms..) selle tähe/numbrite/märkide kribu, mida ta näitab mul brauseris. Aga pilti ennast ei tule.
Kood on selline..
Spoiler 
<?php
// attempt a connection
$conn = pg_connect("....");
if (!$conn) {
die("Error in connection: " . pg_last_error());
}
//file from database
$sql = "Select pilt FROM Pilt"; // pilt veerg on OID tüüpi
$res = pg_exec($conn, $sql);
if($res) {
$row = pg_fetch_row($res, 0);
pg_query ($conn, "begin");
// header("Content-Type: image/jpg");
$loid = pg_lo_open($conn, $row[0], "r");
pg_loreadall($loid);
pg_lo_close($loid);
}
else {
echo "The query failed!";
}
pg_close($conn); // close connection
?>
viimati muutis multizync 12.04.2012 10:41:14, muudetud 1 kord |
|
Kommentaarid: 20 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
18 |
|
tagasi üles |
|
 |
infidel
HV kasutaja

liitunud: 31.01.2004
|
12.04.2012 10:32:25
|
|
|
// header("Content-Type: image/jpg"); |
Ehk aitab see, kui selle rea eest need kalduvajunud kriipsud eemaldada?
|
|
Kommentaarid: 36 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
35 |
|
tagasi üles |
|
 |
multizync
HV kasutaja

liitunud: 23.05.2005
|
12.04.2012 11:06:48
|
|
|
Proovisin ennem juba, aga siis kuvab ta mul vasakusse brauseri ülesse nurka ainult 1 cm * 1cm oleva mingi image ikooni vms..
Tulemus on siis selline http://www.upload.ee/image/2252777/image_proov.JPG
Mis võiks aidata..
Tänud ette..
|
|
Kommentaarid: 20 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
18 |
|
tagasi üles |
|
 |
infidel
HV kasutaja

liitunud: 31.01.2004
|
12.04.2012 11:28:34
|
|
|
Pole ise selle asjaga küll sügavuti tegelenud, aga ehk aitaks see, kui mingil ajahetkel pilt väljundisse suunata?
Ehk siis kuhugi lõpupoole toppida selline rida.
|
|
Kommentaarid: 36 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
35 |
|
tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
multizync
HV kasutaja

liitunud: 23.05.2005
|
12.04.2012 17:18:05
|
|
|
Olen proovinud echo'da igat pidi, aga ei kuva seda brauseris..
|
|
Kommentaarid: 20 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
18 |
|
tagasi üles |
|
 |
XD
HV kasutaja

liitunud: 12.01.2006
|
12.04.2012 17:33:09
|
|
|
http://www.php.net/manual/en/function.pg-lo-read-all.php
Tundub, et sul on pg_query($conn, "commit"); puudu pärast pg_lo_close($loid); väljakutset. Transaktsioon jääb rippuma äkki seetõttu?
_________________ "Kui inimene ei ole rahul tarkvaraga, siis on probleem tõenäoliselt inimeses" M.J. |
|
Kommentaarid: 35 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
29 |
|
tagasi üles |
|
 |
multizync
HV kasutaja

liitunud: 23.05.2005
|
12.04.2012 17:41:01
|
|
|
Proovisin ka niimoodi, täpselt sama see väike ikooni pilt jääb ülesse vasakusse nurka..
Kui seda headeri rida sinna ei paneks, siis kuvab baruser alati selle pika tähe/numbrite/märkide jada vms ja mitte ükski echo, kuskil koodis ei kuva brauseris mitte midagi, isegi mingit lauset vms..
viimati muutis multizync 12.04.2012 17:45:18, muudetud 1 kord |
|
Kommentaarid: 20 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
18 |
|
tagasi üles |
|
 |
lepar
HV kasutaja
liitunud: 27.11.2006
|
12.04.2012 17:44:58
|
|
|
Võib olla on sul lihtsam pilt failisüsteemis hoida ja andmebaasi paned ainult pildi faili nime.
|
|
Kommentaarid: 13 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
12 |
|
tagasi üles |
|
 |
multizync
HV kasutaja

liitunud: 23.05.2005
|
12.04.2012 19:00:07
|
|
|
lepar kirjutas: |
Võib olla on sul lihtsam pilt failisüsteemis hoida ja andmebaasi paned ainult pildi faili nime. |
Nojaa, võibolla tõesti, ma nii väga seda asja ei jaga, aga ma tahaks ikkagi teada, et miks ta ei tööta niimoodi. Niimoodi peaks ju töötama ka..
Kas äkki viga ei või olla brauseris.
Ma proovin seda teha praegu google chromega, ja chrome andis mulle http://www.upload.ee/image/2252777/image_proov.JPG sellise pildi..
Proovisin sama php faili käivitada Internet Explorer 9, ja brauser kuvas midagi sellist http://www.upload.ee/image/2253837/IE.JPG
Ja kui ma seda header ("content-type: image/jpg"); ei lisa sinna koodi, siis tuleb selline kribu.. http://www.upload.ee/image/2253854/kribu.JPG See kribu tuleb siis mõlemas brauseris sama.
Kood praegu selline, eriti midaig muutnud pole.. Tegelikult see $row[0] on see lo_id, see number, mis on andmebaasi salvestatud, ($loid = pg_lo_open($conn, $row[0], "r") see $loid on see Resource#6 vms mingi selline asi..
Spoiler 
<?php
// attempt a connection
$conn = pg_connect("host=localhost port=5432 dbname=postgres user=postgres password=*****");
if (!$conn) {
die("Error in connection: " . pg_last_error());
}
//file from database
$sql = "Select pilt FROM Pilt";
$res = pg_exec($conn, $sql);
if($res) {
$row = pg_fetch_row($res);
pg_query ($conn, "begin");
header("Content-Type: image/jpg");
$loid = pg_lo_open($conn, $row[0], "r");
pg_lo_read_all($loid);
pg_lo_close($loid);
pg_query ($conn, "commit");
echo $info;
}
else {
echo "The query failed!";
}
pg_close($conn); // close connection
?>
E: Proovisin ka Mozilla firefoxiga ära ja sama koodiga, kui header... asi on mul koodis sees, siis on mustal taustal must kiri
The image "http://localhost/postgres/openImage.php" cannot be displayed because it contains errors.
E: kuskil lugesin midagi selle kohta, et .php failis ei tohi html tag'e olla. Aga mul tegelikult oli see php kood HTML tag'de vahel. Proovisin ka ilma, aga ikka ei tööta..
Spoiler 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head></head>
<body>
<?php
.......
?>
</body>
</html>
Irw, sain korda, oligi nii, nihutasin taande uuesti kõik vasakule, kui HTML tag'd sealt eemaldasin, ja sain pildi brauserisse..
Oleks pidanud enne html tag'd ka siia koodi sisse jätma, keegi oleks raudselt oskanud seda mainida..
Aga, TÄNUD kõigile abi eest,
|
|
Kommentaarid: 20 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
18 |
|
tagasi üles |
|
 |
|