Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Pobieranie obrazka jpg
albertusek
post 22.01.2025, 14:43:29
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 19.08.2010

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


Witajcie

Chce żeby po pobraniu przez przeglądarkę pliku jpg ten plik wyświetlił się teraz pobiera mi plik jpg zamiast tego wyświetla się komunikat: "Prawdopodobnie ten format pliku nie jest obsługiwany".
Co może być przyczyną? Wszędzie szukam rozwiązania ale nigdzie nie ma.
Oto te pliki php:
Plik zamowienie.php:
<?php
$id=$_GET['id'];
if ($link = mysqli_connect('localhost', 'root', '', 'baza')) {
}

else {
echo 'Błąd połączenia!';
}
//zapytanie sql do bazy określające jakie dane mają zostać pobrane


$wynik = mysqli_query($link, "SELECT * From fotki WHERE id='".$id."'");
while ($co = mysqli_fetch_array($wynik)) {
$id = $co['id'];
$rodzaj = $co['cena'];;
$zdjecie = $co['foto1'];
echo "<img src=http://localhost/bank/upload/$zdjecie width=500 height=200></img>";
echo "<a href=Zakup.php?name=$zdjecie>Zamawiam</a>";
echo "<h2>Zamówiłeś $zdjecie do zapłaty:$rodzaj";
}
?>
plik Zakup.php:
<?php
$name = $_GET['name'];
header("Content-type: application/jpg");
header("Content-Disposition: attachment; filename=$name");
readfile('$sylwer');

?>

Tak to wygląda będę wdzięczny za pomoc
pozdrawiam
Go to the top of the page
+Quote Post
nospor
post 23.01.2025, 12:18:30
Post #2





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




nie:readfile('$sylwer');
a: readfile($sylwer);

edit: no i kolejna sprawa to fakt, ze zmienna $sylwer nigdzie nie jest okreslona... No skad php ma to wziasc? z powietrza? $sylwer ma wskazywac pelna sciezke do pliku,ktory chcesz zwrocic


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

"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
albertusek
post 24.01.2025, 06:23:22
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 19.08.2010

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


Nie rozumiem jak pełna ścieżka nazwy do pliku? Toż przecież robię:

Plik zamowienie.php:

$id=$_GET['id'];
if ($link = mysqli_connect('localhost', 'root', '', 'photo')) {
}

else {
echo 'Błąd połączenia!';
}
//zapytanie sql do bazy określające jakie dane mają zostać pobrane


$wynik = mysqli_query($link, "SELECT * From fotki WHERE id='".$id."'");
while ($co = mysqli_fetch_array($wynik)) {
$id = $co['id'];
$rodzaj = $co['cena'];;
$zdjecie = $co['foto1'];
echo "<img src=http://localhost/bank/upload/$zdjecie width=500 height=200></img>";
echo "<a href=Zakup.php?name=$zdjecie>Zamawiam</a>";
echo "<h2>Zamówiłeś $zdjecie do zapłaty:$rodzaj";
}

plik Zakup.php:

<?php
$zdjecie =$_GET['name'];
header("Content-type: application/jpg");
header("Content-Disposition: attachment; filename=$zdjecie");
readfile($zdjecie);

?>

I dalej: "Prawdopodobnie ten format pliku nie jest obsługiwany.
Go to the top of the page
+Quote Post
nospor
post 24.01.2025, 09:57:54
Post #4





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




$zdjecie =$_GET['name'];
To jest tylko nazwa pliku. readfile() wymaga pelnej sciezki do pliku, a nie tylko nazwy

bazujac na tym
echo "<img src=http://localhost/bank/upload/$zdjecie width=500 height=200></img>";

to zakladam ze to powinno wygladac tak:
readfile('./bank/upload/' . $zdjecie);

Ale to jest tylko moje zgadywanie. To ty masz wiedziesz gdzie jest twoj plik a nie ja


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

"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
albertusek
post 4.02.2025, 07:25:01
Post #5





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 19.08.2010

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


Nie wiem co jest złego pliki z obrazkami trzymam w folderze upload. Jak mam niby określić ścieżkę pliku? Naprawdę robię co mogę.
Go to the top of the page
+Quote Post
gino
post 4.02.2025, 12:51:05
Post #6





Grupa: Zarejestrowani
Postów: 324
Pomógł: 52
Dołączył: 18.02.2008

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


Content type: application, fakt, jest on do plików binarnych, ale tych które nie mieszczą sie jawnie w żadnym z pozostałych typów, albo dla danych binarnych, które potrzebują konkretnej aplikacji.
Masz jpg to użyj:
  1. "Content-type: image/jpeg";


Po drugie semantyka, równie ważna:
  1. echo '<"img src=http://localhost/bank/upload/$zdjecie" width="500" height="200"></img>';

Jeśli html chce mieć cudzysłów w pewnych miejscach to mu to zapewnij.

Nie rób co możesz, tylko czytaj wyraźnie co pisze @nospor: $_GET['name'] to nie to samo co pełna ścieżka do pliku.

Uploudowane pliki nie lubią polskich literek, jeśli masz takowe w nazwie pliku a wrzucisz to na docelowy serwer możesz się zdziwić.

Ten post edytował gino 4.02.2025, 13:02:05
Go to the top of the page
+Quote Post
trueblue
post 4.02.2025, 19:06:05
Post #7





Grupa: Zarejestrowani
Postów: 6 805
Pomógł: 1827
Dołączył: 11.03.2014

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


Cytat(gino @ 4.02.2025, 12:51:05 ) *
Po drugie semantyka, równie ważna:
  1. echo '<"img src=http://localhost/bank/upload/$zdjecie" width="500" height="200"></img>';

Ważna.
  1. echo '<img src="http://localhost/bank/upload/'.$zdjecie.'" width="500" height="200"/>';



--------------------
Go to the top of the page
+Quote Post
albertusek
post 7.02.2025, 18:28:55
Post #8





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 19.08.2010

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


Może za dużo chcę ale ktoś by mi zademonstrował prosty skrypt php że klika się zdjęcie i jest pobierane przez przeglądarkę i wyświetla się. Będę wdzięczny za wyrozumiałość i pomoc.
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: 3.07.2025 - 07:49