Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z odkodowaniem zdjecia
Forum PHP.pl > Forum > PHP
murdock
czesc wszystkim , moze wiecie gdzie jest blad , otrz mam nastepujace pliki :

admin.php
  1. <FORM ACTION="upload.php" METHOD="POST" ENCTYPE="multipart/form-data">
  2. Nazwa: <INPUT TYPE="text" NAME="pracownik"><br>
  3. Zdjęcie: <INPUT type="file" name="zdjecie"><br>
  4. <button type="submit" name="ok" value="wy¶lij zdjęcie do bazy">
  5. <img src="zdj/wyslij.jpg" width="50" height="14" alt="wy¶lij zdjęcie do bazy danych">

upload.php
  1. <?php
  2.  
  3. $fhandle = fopen($HTTP_POST_FILES['zdjecie']['tmp_name'], "r");
  4. $content = base64_encode(fread($fhandle, $HTTP_POST_FILES['zdjecie']['size']));
  5. fclose($fhandle);
  6.  
  7.  
  8. $uzytkownik = "root";
  9. $haslo = "";
  10. $db = "zi";
  11. $ip = "localhost";
  12. $link = mysql_connect( $ip, $uzytkownik, $haslo);
  13. if (! $link)
  14. die ( "nie moge się poł±czyć z serwerem MySQL" );
  15. mysql_select_db($db, $link);
  16.  
  17.  
  18. $query = sprintf("insert into zdjecia (pracownik, zdjecie ) values ("%s", "%s" )", $HTTP_POST_VARS['pracownik'], $content);
  19. $zapytanie = mysql_query($query);
  20.  
  21. if (!$zapytanie)
  22. {
  23. echo sprintf("Nie można dodać zdjęcia! Error : %s", mysql_error()) ;
  24. }
  25. else
  26. {
  27. echo "<center>";
  28. echo "Twój obrazek został zapisany do bazy danych MySQL";
  29. echo "<br><br><a href='admin.php'>dodaj kolejne zdjęcie</a>";
  30. echo "</center>";
  31. }
  32.  
  33. mysql_close($link);
  34.  
  35. ?>

showimage.php
  1. <?php 
  2.  
  3. $uzytkownik = "root";
  4. $haslo = "";
  5. $db = "zi";
  6. $ip = "localhost";
  7. $link = mysql_connect( $ip, $uzytkownik, $haslo);
  8. if (! $link)
  9. die ( "nie moge się poł±czyć z serwerem MySQL" );
  10. mysql_select_db($db, $link);
  11.  
  12.  
  13.  $query =sprintf("SELECT zdjecie,pracownik FROM zdjecia ");
  14.  $zapytanie = mysql_query($query);
  15.  $num_rows = mysql_num_rows($zapytanie);
  16. if($num_rows == 0){
  17. echo "Database table empty";
  18. return;
  19.  }
  20.  
  21. for($i=0; $i<$num_rows; $i++){
  22.  
  23. $wiersz = mysql_fetch_assoc($zapytanie);
  24.  
  25. echo '<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" HEIGHT="50" valign="top">
  26. <tr>
  27. <td valign="top" WIDTH="804"> <b>'.$wiersz["pracownik"].'</b></td>
  28. </tr>
  29. <tr>
  30. <td valign="top" WIDTH="804">'.base64_decode($wiersz["zdjecie"]).'</td>
  31. </tr>
  32. </table> ';
  33.  
  34.  }
  35.  
  36. ?>

czemu nie pojawia mi sie obrazek w postaci odkodowanej (uzylem funkcji base64_decode pliku showimage.php) questionmark.gif . pojawia mi sie obrazek ale w postaci binarnej sad.gif


oto wynik bledow :
Kod
gkg

GIF89a�n�Ä�·°©Ľµ¬ż·®˝¶­˝µ­ł®¨±«Ąţţţ÷÷÷ľ¶®łŻ¨ż¶­Ľ´«ÚÚÚľ¶¬«¦ ±«¤^^^ął«ą˛«ş´¬ż¶¬˙˙˙���������������������������!ů���,�����n��Ă UUYZ�iZ�zRneM1[§®XWO^9 LeiÄYp¸2&�'g*�F©E¬µŞíÁEp�<(�Ö˘%��ŞÝٶĽ��Óá¶;­űŮt8}tt@}J�|j���o��L�����vU���ˇ�� �h"���N­C­H±��ł�E˛�ąj»¸´˝® ·µş´°�`Ă´ Ă�Ă�­JÓ4ŐŃ0Ól×ÜłÝĹ߼ŃÖ­Ű­`ÓĄÓÓ î!�;
gdgdg

GIF87a<�2�÷�� |sq<<9|H8´«©<���TVS|`L\:(¤sZ$�_K;lff¬���jW�talJ9<( �TAtYG�`L$ lA3¤zd4Ä­˛,.,�f^L/!¤��TLILDA�fY¤}mÔÂÄĽ�¬\^\¬lZ�~tL*"´ubT4*´�rÜŇÔ���|VN<¤��dBD4 �fS\RO¬��$¬¦¤lNL�{x<4 <62ĚÂĂ�jl�zgD' �_UdYV\F<|lql

Jezeli mozecie pomozcie , z gory dziekuje all



-------------------------
proszę korzystać z BBCode
tym razem poprawiłem, ale
proszę pamiętać na przyszło¶ć
~Cienki1980
kossa
musisz użyć funkcji header" title="Zobacz w manualu PHP" target="_manual aby wysłać obrazek do przegl±darki

Łukasz

edit:
header('Content-type: image/jpeg');
murdock
zastosowalem tak jak mi podpowiedziales i to samo , nic sie nie zmienilo ,dalem header('Content-type: image/jpeg'); w pliku showimage.php

czesc po dlugeij walce udalo mi sie wyswietlic obrazek , wystarczy zrobic tak w pliki showimage.php
  1. <?php
  2.  header( "Content-type: image/jpeg" );
  3.  
  4.  $uzytkownik = "root";
  5. $haslo = "";
  6. $db = "zi";
  7. $ip = "localhost";
  8. $link = mysql_connect( $ip, $uzytkownik, $haslo);
  9. if (! $link)
  10. die ( "nie moge się poł±czyć z serwerem MySQL" );
  11. mysql_select_db($db, $link);
  12.  
  13.  $query =sprintf("SELECT zdjecie,pracownik FROM zdjecia ");
  14.  $zapytanie = mysql_query($query);
  15.  $num_rows = mysql_num_rows($zapytanie);
  16. if($num_rows == 0){
  17. echo "Database table empty";
  18. return;
  19.  }
  20.  
  21.  
  22.  for($i=0; $i<$num_rows; $i++){
  23.  
  24. $wiersz = mysql_fetch_assoc($zapytanie);
  25.  
  26.  echo base64_decode($wiersz['zdjecie']);
  27.  
  28.  echo $wiersz['pracownik'];
  29. }
  30.  
  31.  
  32. ?>

tylko pojawil sie kolejny problem. Bo teraz wyswietla tylko 1 obrazek i to ostani dodany do bazy , a jak wyswietlic wszystkie obrazki znajdujace sie w bazie questionmark.gif?


-------------------------
znowu brak BBCode
grabisz sobie na
ostrzeżenie
~Cienki1980
To jest wersja lo-fi głównej zawarto¶ci. Aby zobaczyć pełn± wersję z większ± zawarto¶ci±, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.