![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 22.06.2013 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam problem z weyświetlaniem zdjęć na stronie z bazy mysql. Otóż samo zdjęcie przechowywane jest w katalogu "obrazki", gdzie ładują się po wykonaniu skryptu index.php ora dodaj.php. W samej bazie danych tworzy się ścieżka do danego zdjęcia (obrazki/nazwazdjecia.jpg). Wszystko niby ładnie, jednak nie mogę ich wydobyć aby wyświetlić po podaniu konkretnego id w bazie. Oto pliki: PLIK INDEX.php Kod <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=ISO8859-2"> <title>SendFileToServer-LinkToMySQL</title> </head> <body> <form action="dodaj.php" method="post" enctype="multipart/form-data" name="form1"> <p align="center">Wysyłanie plików na serwer. </p> <table width="422" border="1" align="center" bordercolor="#0000FF" bgcolor="#C0C0C0"> <tr> <th width="444" scope="row"><input name="plik" type="file" size="50"/> <input name="max_file_size" type="hidden" value="1048576" /></th> </tr> <tr> <th scope="row"><input value="Wyślij plik" type="submit" /> </th> </tr> </table> <BR><BR><BR> </form> </body> </html> PLIK DODAJ: Kod <?php $p_pojemnosc=$_FILES['plik']['size'];//pojemnosc pliku $p_typ=$_FILES['plik']['type']; // typ pliku $p_nazwa=$_FILES['plik']['name']; // nazwa pliku $p_smiec=$_FILES['plik']['tmp_name']; // chwilowa nazwa pliku //wycinamy rozszerzenie z pobieranego pliku $p_roz= array_pop(explode(".", $p_nazwa)); /* odbieramy dane z pola ukrytego i zaokrąglamy je do 3 miejsca po przecinku/dzielimy przez 1204*1024 by było w MB*/ $max_size=round(($_POST['max_file_size']/1048576),3)."MB"; //zaokrąglamy "round" do 2 miejsc po przecinku i przeliczamy rozmiar pliku na MB $poj_MB=round(($p_pojemnosc/1048576),2).'MB'; //kodujemy nasz plik metodą MD5 i dodajemy date i godzinę oraz rozszerzenie pliku $p_nazwa_zm=($p_nazwa).".".$p_roz; $folder="obrazki/"; //---Kolorki HTML--- $k_cze="<font color=#ff0000>"; $f_koniec="</font>"; $k_nieb="<font color=#0000ff>"; if ($p_pojemnosc <= 0) { echo ("Plik jest pusty nie mogę go przesłać <b>".$k_cze.$p_nazwa." ".$poj_MB.$f_koniec."</b><br />"); echo "<a href=index.php>Wracaj ...</a>"; exit; } if ($poj_MB > $max_size) { echo("Plik jest za duży maksymalnie można wysłać <b>".$k_cze.$max_size.$f_koniec."</b>"." .Plik wysyłany ma rozmiar <b><i>".$k_nieb.$poj_MB.$f_koniec."</b></i><br />"); echo "<a href=index.php>Wracaj ..."; exit; } if (file_exists($folder.$p_nazwa_zm)) { echo ("Plik o takiej nazwie jest już na serwerku <b><i>".$p_nazwa_zm."</b></i><br />"); echo "<a href=index.php>Wracaj ..."; exit; } else { if(!@move_uploaded_file($p_smiec, $folder.$p_nazwa_zm)) exit('Nie mozna zachowac pliku. Prawdopodobnie nie ma folderu lub nie można w nim zapisać'); echo "Przeslanie udało się - <b>".$k_nieb.$p_nazwa."</b>"." ".$poj_MB."<br />"; $path_file=$folder.$p_nazwa_zm; $conn = mysql_connect('localhost', 'root', '') or die('Error connecting to mysql'); mysql_select_db('obrazki'); $zapytanie=mysql_query("insert into nazwa_tabeli values(NULL,'$p_pojemnosc','$path_file','$p_typ')"); echo "<a href=index.php>Wracaj ..."; } No i tutaj plik wyswietl.php Kod <?php $polacz = @mysql_connect('localhost', 'root' ,'') or die ('Nie moglem sie polaczyc z serwerem'); mysql_select_db('obrazki') or die ("Nie moglem znalesc bazy danych"); // wybranie bazy danych $sql1="select * from nazwa_tabeli where id='3'"; $result2=mysql_query($sql1,$polacz) or die ('Błąd wykonania zapytania 1: '.mysql_error()); //tworzymy tablicę asocjacyjną $row i wczytujemy do niej //dane z wybranego rekordu tabeli. W naszym przypadku //jest to rekord 3. $row = mysql_fetch_assoc($result2); //Z tablicy $row wydobywamy zawartość komórki "obrazek" //i zapisujemy ją do zmiennej $grafika. $grafika=$row['nazwa']; //Z tablicy $row wydobywamy zawartość komórki "typ" //i zapisujemy ją do zmiennej $typpliku. $typpliku=$row['typ']; //Wysyłamy do przeglądarki nagłówek HTTP, informujący //przeglądarkę że wynik który za chwilę wyświetlimy to //obrazek w formacie określonym przez zmienną $typpliku. header("Content-type:$typpliku"); //Drukujemy zawartość zmiennej $grafika, //czyli wyświetlamy zawartość naszego obrazka echo $grafika; ?> Głównym zalozeniem strony jest wypełnienie formularza dodajac dane samochodu (marka,typ,rocznik) i dodanie jego zdjecia. Potem chodzi o to, aby pobrac dane danego pojazdu tak, by oprocz danych pojazdu wyswietlilo sie tez jego zdjecie. Pozdrawiam. Seb. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 587 Pomógł: 190 Dołączył: 5.02.2011 Skąd: 64-800 Ostrzeżenie: (0%) ![]() ![]() |
Nie echo $grafika;
tylko dajesz to w html <img src = "<?=$grafika?>"/> albo <img src = "<?php echo $grafika ?>"/> Ten post edytował _Borys_ 14.08.2013, 21:12:50 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 22.06.2013 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Nie echo $grafika; tylko dajesz to w html <img src = "<?=$grafika?>"/> albo <img src = "<?php echo $grafika ?>"/> Niestety nadal nie działa. Podejrzewa,m iż problem może byćgdzie indziej. A co ciekawe, jak wrzucam plik "obrazek.jpg" to w bazie tworzy mi link obrazki/obrazek.jpg.jpg" czyli podwójne rozszerzenie. Może tutaj jest problem? Pozdrawiam i czekam na dalszą pomoc. Seb. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 22.06.2013 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Masz jpg.jpg przez to:
To już poprawiłem. Teraz w nazwie w bazie dodają się już poprawne rozszerzenia. Natomiast nadal niestety nie wyświetla obrazków jako takich ![]()
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Daj echo $grafika; i napisz co ci wyświetla
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 587 Pomógł: 190 Dołączył: 5.02.2011 Skąd: 64-800 Ostrzeżenie: (0%) ![]() ![]() |
Zakomentuj header i zobacz czy błędów nie wywala, właściwie niepotrzebny tutaj ten header skoro grafikę osadzasz w <img/>
Również jeśli wcześniej wyświetlasz tekst to również tego headera nie powinno być. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 22.06.2013 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 08:07 |