Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wczytanie obrazka z pliku
Forum PHP.pl > Forum > PHP
manti_1986
Witam.
Mam mały problem.
Chciałbym wczytywać zdjęcia z dysku ( folder główny).
Zaprojektowałem formularz pobieram nazwe pliku który chce otworzyc w innym opliku pobieram ta zmienna i wczytyje do img scr ..sądziłem ,że na takiej zasadzie to dziala..
W czym więc robie błąd?Prosze o pomoc

Poniżej kody

indexk.html

  1. <html>
  2. <form action="indexk.php" method="POST">
  3. plik <input name="plik" /><br/>
  4. <hr>
  5. <input type="submit" value="pokaz plik" />
  6. <input type="reset" value="Wyczyść formularz" />
  7. <br>
  8. <br>
  9. </form>
  10. </html>


indexk.php


  1. <?
  2. $plik=$_POST['plik'];
  3. ?>
  4. <img src="<?$plik?>.jpg" />


abort
Apache to Apache - a dysk lokalny to dysk lokalny.
Ty masz przypadek szczególny - serwer WWW i pliki istnieją na jednym komputerze, i być może także na jednym dysku. Ale to nie oznacza, że Apache ma dostęp do całego Twojego dysku.
Załóżmy na początek, że zdjęcia masz na "C:\Zdjęcia", a katalogiem głównym Twojego serwera WWW (Apache) jest "C:\WWW".
Dla Apache wszystkie "jego" dane są w katalogu "C"\WWW", a wszystko co jest powyżej "C:\WWW" po prostu nie istnieje.


To, co Ty chcesz zrobić, to wyświetlić obrazek przesłany na serwer WWW. Wyobraź sobie, że masz w sieci lokalnej dwa kompy, w tym na jednym jest serwer. Czy Twój kod pozwala na wyświetlenie zdjęcia wrzuconego z drugiego kompa? Nie, bo niby jak serwer miałby mieć do tego dostęp? Te dane należy PRZESŁAĆ pomiędzy serwerem a przeglądarką. Dla serwera i przeglądarki na jednym kompie robi się to tak samo.

Wpisz w google "php upload file", pierwszy link objaśni co i jak.
CuteOne
A co za przeproszeniem ma Apache do wyświetlania obrazków z dysku lokalnego.. ?

ścieżka do obrazka "c:/windows/aaa/obrazek.jpg"

  1.  
  2. $path = 'c:/windows/aaa';
  3.  
  4. echo '<img src="' . $path . '/' . $_POST['img'] . '.jpg'" />';


Poczytaj o ścieżkach - względnych i bezwzględnych
manti_1986
Ja folder z trzema plikami (html,php i jpg) mam na localhoscie wiec jak moze tego nie wiedzieć.?
Jak wpisałem tak jak kolega sugerował tez nie wyświetla pokazuje mi " '; ?> "
...
  1. <?
  2. $plik=$_POST['plik'];
  3. echo '<img src="' . $plik . '/' . $_POST['img'] . '.jpg'" />';
  4. ?>
abort
Zapytam inaczej:
1. Gdzie masz katalog główny swojego apache?
2. Skąd ładujesz zdjęcia do pokazania (katalog)?
Uriziel01
Cytat(manti_1986 @ 9.12.2011, 07:35:08 ) *
pokazuje mi " '; ?> "


Chwile chwile, plik na pewno sie wykonuje ? Moim zdaniem w:
  1. echo '<img src="' . $plik . '/' . $_POST['img'] . '.jpg'" />';


masz po .jpg niepotrzebny apostrof. Skrypt wywala bład, nie interpretuje kodu, tylko ty tego nie widzisz bo masz wyłączone raportowanie błędów.
CuteOne
manti_1986: zamiast pisać kolejne idiotyczne posty "bo mi nie działa", przeczytaj o ścieżkach względnych i bezwzględnych...
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.