Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Grafika w bazie danych (jpeg/gif); problem z wyswietlaniem
thorn_1
post 9.05.2004, 12:17:43
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 9.05.2004

Ostrzeżenie: (0%)
-----


Na wstepie powiem ze choc jestem początkującym to …..SZUKALEM !!! wiec proszę sobie odpuścić nabijanie postów w stylu: „szukaj było”;-)

Wiec problem tkwi gdzieś tu ;-)

SA trzy skrypty
1 pobiera dane (obraz) z dysku
[php:1:4a591eb258]<?php
if (is_uploaded_file($_FILES["userfile"]["tmp_name"]))
{
// Open the uploaded file
$file = fopen($_FILES["userfile"]["tmp_name"], "rb");
// Read in the uploaded file
$fileContents = fread($file, $_FILES["userfile"]["size"]);
// Escape special charcters in the file
$fileContents = AddSlashes($fileContents);
}
else
$fileContents = NULL;

?>[/php:1:4a591eb258]

wczytywanie do bazy wydaje sie byc poprawne, poniwaz w adminie widze ze “rozmiar” sie zgadza,

i przekazuje do skryptu 2

2 wyswietla „potwierdzenie” dodania rekordu do bazy, obraz jest rysowany
[php:1:4a591eb258]<?php <img src="rysuj.php?index= $Id ">;
?>[/php:1:4a591eb258]

3 skrypt to „rysowanie”

[php:1:4a591eb258]<?php
if (!($wykonaj = @mysql_query ($zapytanie, $polaczenie)))
BLAD();

$Obraz=mysql_fetch_array($wykonaj);
if (!empty($Obraz['ZDJECIE']))
{
header("Content-Type: image/gif");
print ($Obraz['ZDJECIE']);
// tu wersja druga, pozbywa sie smieci
// $obrazek = stripslashes ($Obraz['ZDJECIE']);
// print ($obrazek);
}
[/code]
?>[/php:1:4a591eb258]

i nic z tego dostaje jedynie komunikat
Obrazek "http://127.0.0.1/~Test/Skrypty/rysuj.php?index=152" nie może zostać wyświetlony, ponieważ zawiera błędy.


Czy ktokolwiek ma jakies pomysły?questionmark.gif
Czy taki stan rzeczy może być spowodowany, bledna/niepelna konfiguracja serwera/php questionmark.gif?
-> mile widziane ;-]

Pozdrawiam
Go to the top of the page
+Quote Post
BzikOS
post 9.05.2004, 12:51:50
Post #2





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

Ostrzeżenie: (0%)
-----


A po co slashujesz uploadowany obrazek? :?
Go to the top of the page
+Quote Post
thorn_1
post 9.05.2004, 18:28:17
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 9.05.2004

Ostrzeżenie: (0%)
-----


hmmm... z tego co wiem inaczej nie wejdzie do bazy ;-) (po drugie, na forum rowniez tak robia)
ale to nie jest powodem problemow ...
Go to the top of the page
+Quote Post
matid
post 9.05.2004, 20:53:13
Post #4





Grupa: Zarejestrowani
Postów: 362
Pomógł: 0
Dołączył: 18.02.2004
Skąd: Knurów

Ostrzeżenie: (0%)
-----


Właśnie że to może być główny problem.
Spróbuj rozwiązać to bez slashowania zdjęcia a jedynie użycia na nim funkcji [manual:4acc26c57c]mysql_escape_string[/manual:4acc26c57c].
W moim wypadku działa bez problemu.
Go to the top of the page
+Quote Post
thorn_1
post 10.05.2004, 00:55:48
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 9.05.2004

Ostrzeżenie: (0%)
-----


zamienilem slashowanie na mysql_escape_string,
(po pobraniu z bazy poprostu daje echo"$tresc") ale niestety nic to nie dalo sad.gif sad.gif sad.gif.
Nadal mam wyswietlany komunikat o bledzie "obrazka",
normalnie juz nie wiem co jest problemem ..... HEEELP :cry:

moze "ktos" wie czy wina jest w zapisie do bazy cz y w odczycie ....
Go to the top of the page
+Quote Post
Pyksel
post 10.05.2004, 06:21:57
Post #6





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 27.11.2003
Skąd: Bytom

Ostrzeżenie: (0%)
-----


Wedlug mnie to powinienes sprawdzic wielkosc liter sam tak czasem mam
jak masz np :
Cytat
obrazek.JPG

to sprawdz czy te JPG nie jest z duze bo to tez jest róznica i wpisz dobrze. :?


--------------------
**************************************
WWW.CS.CONDITIONZERO.GLT.PL
Linknij ^ :) ^ Zobacz
**************************************
Go to the top of the page
+Quote Post
thorn_1
post 10.05.2004, 23:47:17
Post #7





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 9.05.2004

Ostrzeżenie: (0%)
-----


hmm... ale ja nie mam ustawionego na sztywno obrazka, pobieram go poprzez :

[php:1:6032306a99]<?php
<input name="userfile" type="file">
?>[/php:1:6032306a99]
wiec otwiera sie okienko do pobrania pliku... wiec tu raczej bledu nie ma ;-)
a raczej :cry: bo juz nie daje rady z tym skryptem, HEEEELP :?
Go to the top of the page
+Quote Post
thorn_1
post 11.05.2004, 18:11:18
Post #8





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 9.05.2004

Ostrzeżenie: (0%)
-----


czy config apache+php, moze byc przyczyna blednego wyswietlania jpg'ow questionmark.gif?
Go to the top of the page
+Quote Post
Dawid Pytel
post 11.05.2004, 21:36:17
Post #9





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.09.2003

Ostrzeżenie: (0%)
-----


Pobieranie pliku do zmiennej:

[php:1:458ef983a1]<?php
$data = addslashes(fread(fopen($_FILES['file']['tmp_name'], "rb"), $_FILES['file']['size']));
?>[/php:1:458ef983a1]

To zapisujesz sobie do bazy.
A teraz wyswietlenie obrazka: tworzysz sobie plik img.php i w jego kodzie:

[php:1:458ef983a1]<?php
Header( "Content-type: $type"); /* $type to typ pliku pobrany np z bazy */
echo $data; /* wypisujesz zawartosc Twojego pola binarnego */
?>[/php:1:458ef983a1]


--------------------
Ez Partner :]
Go to the top of the page
+Quote Post
thorn_1
post 12.05.2004, 18:42:43
Post #10





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 9.05.2004

Ostrzeżenie: (0%)
-----


Cytat
Dawid Pytel
takie rozwiazanie tez nie idzie :?


ale .... no wlasnie udalosie mi rozwiazac to w taki sposob (poniewaz dane w bazie byly OK, przyczyna musialo byc pobieranie/wyswietlanie ) wiec :
[php:1:d96d1b4373]<?php

if (!empty($Obraz['ZDJECIE']))
{
header('Content-type: image/jpeg');

// nowo dodany header
header('Content-transfer-encoding: binary');

print ($Obraz['ZDJECIE']);
}

?>[/php:1:d96d1b4373]

wystarczylo dodac ten header i DZIALA!!!

Mam jedynie pytanie czy ktos moze mi wyjasniec dlaczego questionmark.gif? :wink:
(tak dla wlasnego info)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 7.07.2025 - 16:18