![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Próbuję pobrać z bazy postgres dane typu bytes (zdjęcie w formacie jpeg):
W efekcie otrzymuję tylko fragment danych [txt] ����JFIF``��C [/txt] Jak to ugryźć ? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
$data=fgets($data);
A co to? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
$data=fgets($data); A co to? Cytuje [txt] $data=fgets($data); //The data are returned as a stream handle gulp all of it in in one go, again, this may need some serious rework for too large files [/txt] Przerabiam kod, który znalazłem w necie. Próbowałem też w ten sposób
ale dostaję komunikat o błędzie [txt] file_get_contents() expects parameter 1 to be string, resource given... [/txt] |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ty mi nie cytuj manuala, bo ja wiem co te funkcje robią. Ja sie pytam po grzyba ty je tam wkladasz? przeciez kolumna jpeg_zdjecie zawiera juz dane w postaci bytow i jedyne co musisz zrobic to je wyswietlic, a nie cudowac z funkcjami do obslugi plikow.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ty mi nie cytuj manuala, bo ja wiem co te funkcje robią. Ja sie pytam po grzyba ty je tam wkladasz? przeciez kolumna jpeg_zdjecie zawiera juz dane w postaci bytow i jedyne co musisz zrobic to je wyswietlic, a nie cudowac z funkcjami do obslugi plikow. I tu jest pies pogrzebany, bo gdy zrobię to tak
dostaję tylko: Resource id #2 print_r($data) wyrzuca natomiast: Array ( [0] => Array ( [0] => Resource id #2 ) ) |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Bo panie kolego do bazy wstawiles totalnie zle dane
![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Bo panie kolego do bazy wstawiles totalnie zle dane ![]() To niemożliwe - pobieram dane z bazy na innym serwerze w sieci, na którym działa aplikacja wyświetlająca w oknie przeglądarki poprawnie obraz zapisany w polu 'jpeg_zdjecie'. Zrobiłbym to w proceduralnym MySQLi, ale póki co mogę się połączyć z drugim serwerem w sieci tylko poprzez PDO (mój serwerek Synology ma jakiś problem z konfiguracją). |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Do sprawdzenia czy zmienna istnieje służy isset()
Najpierw się przygotowuje zapytanie, a potem wykonuje. Ty dałeś query a potem execute co mija się z celem.
Strasznie komplikujesz sobie życie. Ja bym zrobił to tak:
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Do sprawdzenia czy zmienna istnieje służy isset()
Najpierw się przygotowuje zapytanie, a potem wykonuje. Ty dałeś query a potem execute co mija się z celem.
Strasznie komplikujesz sobie życie. Ja bym zrobił to tak:
Niestety, ale w dalszym ciągu dostaję komunikat: file_get_contents(): Filename cannot be empty Bo panie kolego do bazy wstawiles totalnie zle dane ![]() Poniżej działający kod z aplikacji, która obsługuje bazę postgres:
oraz zrzut pola jpeg_zdjecie z programu phpPgAdmin: dump postgres - jpeg_zdjecie |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
W bazie trzymane są bajty. Nie mozesz wiec uparcie na nich robic file_get_contents czy innych rzeczy operujacyh na plikach.
Masz podany poprawny kod do odczytu. W czym wiec problem? Chcesz go miec w PDO? No to poczytaj jak sa odpowiedniki w pdo funkcji ktorych uzywasz, bo kod PDO co wstawiles na poczatku to faktycznie sieczka, nie zwrocilem wczesniej na to uwagi. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
W bazie trzymane są bajty. Nie mozesz wiec uparcie na nich robic file_get_contents czy innych rzeczy operujacyh na plikach. Masz podany poprawny kod do odczytu. W czym wiec problem? Chcesz go miec w PDO? No to poczytaj jak sa odpowiedniki w pdo funkcji ktorych uzywasz, bo kod PDO co wstawiles na poczatku to faktycznie sieczka, nie zwrocilem wczesniej na to uwagi. Nie tyle chcę, co na razie muszę mieć w PDO. I z tym własnie nie mogę sobie poradzić
Powyższy kod ładnie wyrzuca dane z tabeli zdjecia_p za wyjątkiem pól typu bytea, dla których wynik to Resource id #... |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) Łaczysz sie do tej samej bazy co w kodzie bez PDO?
2) Jedyna roznica to brak u Ciebie stripcslashes, ktore jest w kodzie bez PDO. 3) Albo jakims cudem ktos w funkciji db_fetch_row() dodal konwersje resource na dane z pliku ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 346 Pomógł: 23 Dołączył: 28.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
Przegladarka chcialaby wiedziec jaki to typ danych, wiec jak juz doszlismy do samego print to odhashuj lub dodaj linijke z headerem, moze w tym tkwi problem.
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@no_face to nie w tym problem, skoro ciagle uparcie mu wyswietla Resource id znaczy ze to problem z odbieraniem danych z bazy.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ok - poniżej działający kod, może się komuś przyda:
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
czyli db_fetch_row() konwertowala resource na byte jak wspomnialem?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 03:10 |