Mam mały plik php który służy do pobrania z bazy MSQL danych o miniaturce obrazka (wg ID) i wyświetla ten obrazek.
Plik działa w Galerii Coppermine (ale został napisany niezależnie)
Problem polega na tym że wyświetlanie działa tylko jeśli Baza działa pod językiem angielskim, gdy zmieniam ją na polski wypisuje mi komunikat:
"Obrazek "adres_pliku_php" nie może być wyświetlony ponieważ zawiera błędy"
Wydaje mi się że chodzi tutaj o jakieś kodowanie - w zwrotnej readfile(urldecode
Podaje cały kod tego pliku odpowiedzialnego za wyświetlenie:
<?php require 'include/init.inc.php'; $pid = $superCage->get->getInt('id'); $result = cpg_db_query("SELECT filename, filepath, url_prefix FROM {$CONFIG['TABLE_PICTURES']} WHERE pid = $pid $ALBUM_SET"); } $thumb = get_pic_url($row, 'thumb'); $type = cpg_get_type($row['filename']); ?>
Oto adres galerii
www.genealogia.okiem.pl/foto2
a to jest przykładowy adres do obrazka
http://www.genealogia.okiem.pl/foto2/thumb.php?id=48235
Jeśli się przejdzie do strony głównej i zmieni język (mała flaga na dole menu po lewej) to obrazek się wyświetli
Może ktoś się ulituje i spróbuje coś pomóc ?
===edycja===
udało mi się nieco przybliżyć w czym tkwi problem - choć dalej nie iem jak go rozwiązać
1. Problem jest taki sam zarówno po IE jak i pod FF
2. Obrazek który się niewyświetla nie ma "typu"
Wygląda na to że plik pobiera dane z cookiesa - jaki język Galerii miałem ostatnio - i jeśli jest to polski - to obrazek nie ma typu.
Plik thumb.php - kodowałem na różne sposoby ANSI ZTF-8 bez BOM i z BOM. Gdy jest w ZTF-8 z BOM obrazek jest wyświetlany tak jak w notatniku. Podobnie rzecz się ma gdy wprowadzę header('Content-type: text/html'); A więc obrazek jest pobierany, tylko system nie wi jak go wyświetlać - pomimo istnienia header.
Dalej nie mam pojęcia w czym w ogóle tkwi problem ?