Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Wyświetlanie obrazka z bazy
redelek
post
Post #1





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


Witam,

Nie zarabiam na php, coś tam sobie dłubię i proszę o wyrozumiałość smile.gif Zrobiłem skrypt dodający do bazy danych pliki tak wiem, że tak nie powinno być, ale to nie duża ilość będzie więc może być.
Problem mam w tym, że dodać mogę ale wyświetlić jeśli to zdjęcie gif lub jpg za boga nie mogę. Mam to wszystko lokalnie na XAMPP i nie wiem czy to nie jego wina. Nie mam błędu ale obrazek się nie wyświetla, jest tylko taki kwadracik taki jak w przypadku braku zdjęcia. Reasumując tak to wygląda
  1. if(isset($_GET['idfoto'])) {
  2. // Get the ID
  3. $id = intval($_GET['idfoto']);
  4.  
  5. // Make sure the ID is in fact a valid ID
  6. if($id <= 0) {
  7. die('The ID is invalid!');
  8. }
  9. else {
  10. // Connect to the database
  11. $dbLink = new mysqli('127.0.0.1', 'root', '', 'upload');
  12. if(mysqli_connect_errno()) {
  13. die("MySQL connection failed: ". mysqli_connect_error());
  14. }
  15.  
  16. // Fetch the file information
  17. $query = "
  18. SELECT `name`, `mime`, `size`, `data`, `created`, `downloaded`, `public`
  19. FROM `file`
  20. WHERE `id` = $id";
  21. $result = $dbLink->query($query);
  22.  
  23. if($result) {
  24. // Make sure the result is valid
  25. if($result->num_rows == 1) {
  26. // Get the row
  27. $row = mysqli_fetch_assoc($result);
  28. $cn=$row['data'];
  29. header("Content-Type: ". $row['mime']);
  30. header("Content-Length: ". $row['size']);
  31. echo $cn;
  32.  
  33.  
  34. }
  35. else {
  36. echo 'Error! No image exists with that ID.';
  37. }
  38.  
  39. // Free the mysqli resources
  40. @mysqli_free_result($result);
  41. }
  42. else {
  43. echo "Error! Query failed: <pre>{$dbLink->error}</pre>";
  44. }
  45. @mysqli_close($dbLink);
  46. }
  47. }
  48. else {
  49. echo 'Error! No ID was passed.';
  50. }
  51.  
  52. ?>


Link który przechodzi do tej strony wygląda tak
http://localhost/upload_files/mysq_upload_...e.php?idfoto=13

Oczywiście to wersja robocza, ale powinno działać. Może ktoś mi podpowiedzieć co robię źle albo czego mi brakuje ?





--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Wywal nagłówki
header("Content-Type: ". $row['mime']);
header("Content-Length: ". $row['size']);

Włącz wyświetlanie wszystkich błędów
Temat: Jak poprawnie zada pytanie

A potem odpal ten link
http://localhost/upload_files/mysq_upload_...e.php?idfoto=13
w przeglądarce i zobacz co tak naprawdę dostajesz.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
redelek
post
Post #3





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


zawsze mam to włączone tylko w php.ini, i to co podałeś też dodałem i nic nadal pusty kwadracik i biała strona sad.gif(
To samo jak podam pełną ścieżkę i ID sad.gif(

dlatego troszkę zbaraniałem

Ten post edytował redelek 8.03.2013, 09:33:28


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Prosiłem: wywal nagłówki.... wówczas nie bedziesz miał kwadracika....


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
redelek
post
Post #5





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


tak wywaliłem nagłówki, przeglądarkę chrome uruchomiłem ponownie i nadal widać ten kwadracik i nic poza tym.
W Firefox mam komunikat , że obrazek zawiera błędy i nie może być wyświetlony

Ten post edytował redelek 8.03.2013, 09:40:39


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ale ty nie masz tego wkładac w IMG SRC, tylko bezpośrednio w przeglądarke. Wówczas bez nagłówków przeglądarka nie ma prawa uważać tego za obrazek....


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
redelek
post
Post #7





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


tak robię tak jak mówisz , bezpośredni link, bez img sad.gif


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Pokaż kod po poprawkach jakie miałeś zrobić, bo normalnie nie wierze.

I odpal to np. w Operze a nie tylko FF


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
redelek
post
Post #9





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


Wybacz nie w tym pliku zmieniłem nagłównki.
Teraz wyświetla się tak

  1. Error! No ID was passed.GIF89aź ÷  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>?questionmark.gif@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZ
    Z[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuu
    uvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ
    ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ ĄĄĄ˘˘˘ŁŁŁ¤¤¤ĽĽĽŚŚŚ§§§¨¨¨ŠŠŠŞŞŞŤŤŤŹŹŹ­­­ŽŽŽŻŻŻ°°°ąąą˛˛˛łłł´´´ľľľśśśˇˇˇ¸¸¸šššşşşťť
    ťźźź˝˝˝žžžżżżŔŔŔÁÁÁÂÂÂĂĂĂÄÄÄĹĹĹĆĆĆÇÇÇČČČÉÉÉĘĘĘËËËĚĚĚÍÍÍÎÎÎĎĎĎĐĐĐŃŃŃŇŇŇÓÓÓÔÔÔŐŐŐÖÖ
    Ö×××ŘŘŘŮŮŮÚÚÚŰŰŰÜÜÜÝÝÝŢŢŢßßßŕŕŕáááâââăăăäääĺĺĺćććçççčččéééęęęëëëěěěíííîîîďďďđđđńń
    ńňňňóóóôôôőőőööö÷÷÷řřřůůůúúúűűűüüüýýýţţţ˙˙˙,ź ˙˙ H° Áƒ*\ȰĄĂ‡#JœHą˘Ĺ‹3jÜČąŁÇ CŠI˛¤É“(SŞ\ɲĽË—0cƜIłŚÍ›8sęÜÉł§ĎŸ@ƒ J´¨ŃŁH“*]Ę´ŠÓ§PŁJJľŞŐŤXłjÝĘľŤ×Ż`ÊKśŹŮłhÓŞ]Ëś­ŰˇpăʝKˇŽÝťxóęÝˡŻßż€ L¸°áÈ
    +^̸ąăǐ#KžLš˛ĺ˘3kŢĚšłçĎ C‹Mş´éÓ¨SŤ^Íşľë×°c˞Mťśí۸sëŢÍťˇďßŔƒ Nź¸ńăȓ+_ÎźšóçĐŁKŸN˝şőëŘłkßνť÷ďŕË˙Ožźů
    óčÓŤ_Ďž˝ű÷đă˟OżžýűřóëßĎżż˙˙(ŕ€hŕ&¨ŕ‚ 6čŕƒF(á„Vhá…f¨á†včᇠ†(âˆ$–hâ‰(ڍâŠ,śčâ‹0Ć(ăŒ4Öhă8ć¨ăŽ<öčă@)äDiä‘H&Šä’L6éä“PF)ĺ”TViĺ•XfŠĺ–\véĺ—`†)ć˜d–ić™hŚŠćšlśéć›pĆ)çœtÖiçxćŠçž|öé矀*č „j襈&Şč˘Œ6ę裐F*餔Vj鼘fŞéڜvęé§ †*ꨤ–jęŠ¨ŚŞęŞŹśęꍰĆ˙*돴Öjë­¸ćŞëŽźöęëŻŔ+ě°ÄkěąČ&Ťě˛Ě6ëěłĐF+í´ÔVkíľŘfŤíśÜvŰg3‚PQB 0.‚¨â-tá–ëîťî– H3ë*'šďĘŤŠ íÂK˝ő§ žĺ–@…şŠBź‚,œ ţœÂďţëpoÍ €ĹAŻÄß6pźC”ńť%‡L›*ƒl˛ĆޤŹňk,ťKĹE'Ł<3l5—Ű0F9ěňΊő ŔĎ8k\ÂĐD›4Ň@+Ýôjß|Đ˝GdôĆSŁć1×5ł°š2/ôľĎ]—Ös  @Ů Q1všL§ÍÁpt2Ű5˙ÓLĹv‡67Ô ý öCgç¸e†›‘Çu'47ߋo6ˇâ ‘ku߀WŽT3ű†+7şüŞâwP=oĔ#ţnäžű¤°Ćđ拮é< űÄĺbŽĐÜŞÇĹľ_źÁžˇ”zEäސŃÉ O“ŘđœnĚ؇KťíŃŁ¤;ó‡C4šô˛Œ|ˆćVX°ş„ƒ&!bç@˘Â!–Ë‚&әŻ”Äl{ü/R3,ŠĎf[T‰˙VrŻÚ%ą…hźˆÇŢČŚń$2l‰ב52‘Ž éáMâGĺŃ.Œi„˜šŢaD€ƒIa˛G#ňމ9t$_I‘@q&gC›ăhĂ--#‚ě$ÝeI’¸”GÔä1ůČ.ŞŇ#“œŢÜŽh‘*–›dĺ-;RÁœě’œ&řšĚŁ “#xÓI(OŠ5[^_€t$Ÿ‰3NJłzŒüG1ť)KŒ-œÜ<Čw˛ľ*䓳¤ŰF™Ít"–:ٚ'˙ĚQ˛p#Ŕł');)1ˆľü§F





--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No i już masz odpowiedź.
Error! No ID was passed.

Tylko dziwnie to wyglada, bo jest error a potem plik.... wyglada to tak, jakby skrypt był odpalany dwa razy: raz bez id, a raz z id. Nie masz tam żadnnych dzikich include?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
redelek
post
Post #11





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


Już działa, działa, miałem dwa razy zaszyte
if(isset($_GET['id'])) i if(isset($_GET['idfoto']))

dzięki za naprowadzenie


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Czyli podsumujmy:
1) Zmiany robiłeś w złym pliku
2) Nie pokazałeś nam całego kodu, bo w kodzie co tutaj masz nie ma żadnych podwójnych issetów

A potem się dziwią, że ja taki nerwowy jestem.... wink.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
redelek
post
Post #13





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


oj pokazałem kod po co mam zaśmiecać forum komentarzami. A w tym się schował byczek.
Poprawię się. Niestety jak przeniosłem to wszystko do prawidłowej strony to niestety nie działa.
Nadal wyświetla się kwadracik, ale dzięki Tobie może dojdę gdzie jest tam błąd.

Cóż no nieraz tak jest , że gdzieś ucieka ten błąd i go nie widać "Diabeł ogonem go przykrył". Nie mów że jesteś idealny smile.gif) wiem wiem jesteś NAJLEPSZY tyle razy tu pomogłeś .

Dzięki serdeczne jeszcze raz


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
nospor
post
Post #14





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Nie mów że jesteś idealny
Nie, niechodziło mi o to, że ja jestem idealny. Chodziło mi o to, że ludzie często na forum są strasznie nierozgarnięci: piszą w złym pliku, nie podają wszystkiego, a potem w temacie: tak tak, wszystko robie jak każesz ale nadal nie działa.... wink.gif

Przepraszam, nie kieruję tego osobiście do Ciebie, ale ogólnie. Tak tylko w Twoim temacie wylewam swoje żale, by odreagować trochę smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
redelek
post
Post #15





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


NOSPOR rozumiem, sam pomagam ludzikom jeśli chodzi o serwery Linux.
Wiem jak to jest. Naprawdę luzik, każde Twoje słowa są dla mnie cenne, nawet jak mnie ganisz, nie mam Ci tego za złe , bo dla mnie jesteś GURU i to bezdyskusyjnie.
Naprawdę jest oki

Witam,

Pomimo usilnych starań nie udało mi się rozwiązać mojego problemu. Wiem o co chodzi, ale jak to obejść chodzi o podwójne wysłanie nagłówków.
Problem jest w tym, że po wejściu na stronę są ustawione takie nagłówki

  1. <title>TEST</title>
  2. <meta name="description" content="Moje portfolio" />
  3. <meta name="keywords" content="portfolio, piotr, piotr redel, redel, redelek, redlu, linux, system" />
  4. <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  5. <link rel="stylesheet" type="text/css" href="style.css" />
  6. <!-- modernizr enables HTML5 elements and feature detects -->
  7. <script type="text/javascript" src="js/modernizr-1.5.min.js"></script>
  8. </head>

Jest to gotowy szablon który mi się podobał. Problem jest w tym, żeby strona dobrze wyglądała muszę wysłać ten nagłówek, a żeby zobaczyć zdjęcie muszę wysłać inny i zbaraniałem jak to obejść ?
Jest pobierany rekord z bazy w którego treści jest zaszyty link do wyświetlenia zdjęcia getfile.php?idfoto=13, wszystko się wczytuje oprócz zdjęcia. Nospor wyjaśnił gdzie jest problem i wiem, że wysyłam dwa nagłówki, ale jak to obejść, bo bez pierwszego strona wygląda bardzo źle,
  1. <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
a bez drugiego nie wczytuje mi się zdjęcie sad.gif(((

  1. header("Content-Type: ".$row['mime']);




--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
nospor
post
Post #16





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No ale wyświetlając zdjęcie, nie możesz walic tego
<head>

<title>TEST</title>

<meta name="description" content="Moje portfolio" />

<meta name="keywords" content="portfolio, piotr, piotr redel, redel, redelek, redlu, linux, system" />

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

<link rel="stylesheet" type="text/css" href="style.css" />

<!-- modernizr enables HTML5 elements and feature detects -->

<script type="text/javascript" src="js/modernizr-1.5.min.js"></script>

</head>

To służy do wyświetlania strony html. Naprawdę nie potrafisz nie wyświetlać szablonu gdy wyświetlasz zdjęcie? Korzystasz z jakiegoś gotowego cms czy jak?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
redelek
post
Post #17





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


no wiem, ale zdjęcie jest pobierane razem z treścią z bazy danych.
Jak nie wstawię tego nagłówka to zdjęcie się wyświetla ale stron się rozwala , a jak dodam ten nagłówek to strona ładnie wyświetlana z polskimi znakami , ale zdjęcia nie ma.
W tym jest problem. Nie to nie cms tylko jakiś szablon css, który mi się podobał, a dostosowuję go do siebie.


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
nospor
post
Post #18





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ale jak możesz pobierac zdjęcie razem z treścią strony?? Nie ogarniam tego.
Albo pobierasz strone, albo pobierasz zdjęcie. Dwóch rzeczy naraz nie możesz robić.

Jeśli nie potrafisz oddzielić jednego od drugiego, to zrób sobie oddzielny plik na pobieranie zdjęcia i po sprawie.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
redelek
post
Post #19





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


No dobra to od początku.
Z bazy wczytuje mi się treść w której jest zawarty zdjęcie

przykład:

Treść pobierana z bazy danych. Takie przykładowe gadanie.
Blabal bla bla bla bla bla i tu można zobaczyć różne ciekawe zdjęcia
getfile.php?idfoto=13
tu dalsza część srony i opisy opisy nadal opisyyyyy.
GAdanie bla bal bal

i chodzi o to żeby po wczytaniu tego rekordu wyświetliło się zdjęcie dokładnie w tym miejscu. Treść jest w oddzielnej bazie niż pliki łączy ich tylko ID.
Plik z nagłówkami jest includowany z header.php do index.php


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
nospor
post
Post #20





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




W polu w bazie masz jakiś tekst, a w tym tekscie masz:
getfile.php?idfoto=13
?

czy może w tym tekscie masz:
<img src="getfile.php?idfoto=13" />
?

Jak to pierwsze, to logiczne, że musisz zamienić to na IMG SRC.
Jak to drugie to w czym problem?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 Aktualny czas: 21.08.2025 - 17:19