Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Obrazki w MySQL
Forum PHP.pl > Forum > Przedszkole
Janusze
Napisalem sobie skrypt uploadujący zdjęcie do tabeli w bazie mysql (pole jest oczywiście typu blob). Zdjęcie jest zapisywane, ale nie wiem czemu nie można go wyświetlić... Ktoś pomoże?

Kod
<?php
class zdjecie
{
    public $foto;
    
    public function __construct()
    {
        $this->baza = $GLOBALS['bd'];
    }
    //wysylanie zdjecia do bazy mysql
    public function dodaj($idprodukt)
    {
        $dane = $this->foto['tmp_name'];
        $f = addslashes(file_get_contents($dane));
        $typ = $this->foto['type'];
        //zapytanie
        $q = "insert into zdjecie (Zdjecie, Format, IDProdukt) values ('$f', '$typ', '$idprodukt')";
        $wyslano = mysql_query($q);
        return $wyslano;
    }
    //Wczytanie zdjecia
    public function otworz($idzdjecie)
    {
        $q = "select * from zdjecie where IDZdjecie = '$idzdjecie'";
        $zd = mysql_query($q);
        return $zd;
    }
    public function sprawdz()
    {
        if ($this->foto['type'] == "image/jpeg" || $this->foto['type'] == "image/jpg" || $this->foto['type'] == "image/png")
        {
            return TRUE;
        }
        else
        {
            return FALSE;
        }
    }
}
?>

$zdjecie->foto = $_FILES['zdjecie1'];
$zdjecie->dodaj($idproduktu);

W każdym razie, zdjęcie jest zapisane w bazie.. Ale poźniej jak go pobieram i ustawiam header to go nie wyświetla... Bo obrazek zawiera bledy, więc myślę że powstaly one przy zapisie do bazy.
wookieb
1) Włącz pełne raportowanie błędów
2) Otwórz to zdjęcie w przeglądarce i zapisz na dysku
3) Otwórz w notatniku i zobaczysz, jakie masz błędy.
adasiu
Z tego co widzę to nie zapisujesz zdjęcia w bazie a jedynie jego nazwę po uploadzie i typ - to się ma nijak z danymi. Pytanie co chcesz uzyskać: czy zdjęcie w postaci binarnej ma zostać zapisane w bazie czy chcesz zapisać tylko nazwę pliku i wczytywać zdjęcie z dysku.
Janusze
Cytat(adasiu @ 4.05.2011, 20:13:26 ) *
Z tego co widzę to nie zapisujesz zdjęcia w bazie a jedynie jego nazwę po uploadzie i typ - to się ma nijak z danymi. Pytanie co chcesz uzyskać: czy zdjęcie w postaci binarnej ma zostać zapisane w bazie czy chcesz zapisać tylko nazwę pliku i wczytywać zdjęcie z dysku.

Zdjęcie w postaci binarnej, ale wydaje mi się że tak robię.

Cytat(wookieb @ 4.05.2011, 19:56:49 ) *
1) Włącz pełne raportowanie błędów
2) Otwórz to zdjęcie w przeglądarce i zapisz na dysku
3) Otwórz w notatniku i zobaczysz, jakie masz błędy.


Gdy w firefoxie wybiorę "pokaż informację o obrazku" to rozmiar zgadza się z tym co na dysku i w bazie, ale wymiary ma 0x0 px
wookieb
A czy widzisz gdzieś w mojej poradzie żebyś sprawdzał informacje o obrazku w firefoxie? Jak podam Ci kolejną to pójdziesz zrobić herbate i napiszesz mi, że była gorzka? Nosz zastanów się człowieku
Janusze
@wookieb, http://k.min.us/jnqZIK.jpg, ale okazalo się że w chrome można zapisać. Wszystko, przez naglówek który includowalem w innym pliku... Dzięki.
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.