![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 293 Pomógł: 4 Dołączył: 28.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem, ponieważ posiadam w bazie MYSQL, obrazek zakodowany w base64. Wyciągam go sobie z serwera SQL i wstawiam w zmienną $contentz
Ale kiedy próbuje wykonać operacje
Gdzie $src_img to pobrany z mysqla i zdekodowany obrazek... :/
Czy ma ktoś jakiś pomysł jak to rozwiązać, ewentualnie ![]() Mam pomysł jak to obejść, ale czy ktoś może mi pomóc, jak zapisać do jpg, ten plik z mysql-a, i powiedzmy przez chwilkę przeprowadzić na nim operacje, a potem skasować ? -------------------- |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 10 Dołączył: 16.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
http://pl.php.net/manual/pl/function.image...efromstring.php
aha i nie musisz trzymac obrazkow w bazie danych zakodowanych base64, utwórz kolumnę BLOB (czy LONGBLOB już nie pamiętam) która służy do takich celów. Efekt to około 20-30% oszczędności miejsca. Ten post edytował Exek 11.09.2008, 17:50:17 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 139 Pomógł: 24 Dołączył: 29.07.2007 Skąd: Tarnowskie Góry Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 293 Pomógł: 4 Dołączył: 28.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Trzymam właśnie w kolumnie Long Blob. Spróbowałem imagefromstring, ale dalej ten sam problem mi wyskakuje. Tak wygląda teraz fragment kodu:
Wysypuje błędami: Błąd, może nie poprawny ID ?
A te linie, są wywoływane przez createthumn, w formie funkcji która CAŁA wygląda TAK ! ( zaznaczam że nie jestem jej autorem) ale na plikach nie z bazy SQL działa poprawnie.
A tak pobieram obrazek od usera:
W związku z czym mam go w base64 w zmiennej $content, i teraz tą zmienną chce wykonać miniaturkę.... I teraz chciał bym wygenerować mu miniaturkę, kodem który macie powyżej. Może byście jeszcze na to zerkli, bo coś jest nie w porządku... -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 10 Dołączył: 16.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
no ale popatrz się do funkcji createthumb, tam korzystasz z funkcji imagecreatefromjpg/png które za parametr chcą ścieżkę do pliku, a ty masz obrazek przechowywany w stringu.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 293 Pomógł: 4 Dołączył: 28.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Racja mistrzu,
Przepisałem te procedurę. Mam jeszcze inne pytanie, bo robie potem konwersje kolorów. I mam obrazek jpg w zmiennej $im Chciał bym go zapisać do base64 ? Czy można to zrobić bez zapisywania go na hdd ? Próbowałem tak, ale niestety nie działa. Kod imagejpeg($im, $miniatura);
$miniatura=base64_encode($miniatura); -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 10 Dołączył: 16.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
złap imagejpeg pomiędzy output buffering a potem to co złapałeś przypisz do zmiennej
hint: ob_start(), ob_get_contents() i ob_end_clean() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 293 Pomógł: 4 Dołączył: 28.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jak użyć tego parametru ?
Odgórnie, w PHP.ini ustawiłem sobie na buforowanie ( bo ciągle miałem problemy z wysyłaniem nagłówków). Więc zamiast, stosować co chwila to buforowanie, to wrzuciłem je w bezpośrednio w dyrektywy php. -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 10 Dołączył: 16.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli masz problemy z wysyłaniem nagłówków (czyli tak na prawedę nie wiesz co gdzie się dzieje), to (nie obraź się) Twój kod jest o kant dupy potłuc.
![]() A jak użyć tych funkcji jest bardzo dobrze napisane w manualu Ten post edytował Exek 12.09.2008, 08:14:46 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 293 Pomógł: 4 Dołączył: 28.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Wiem,
Ale wysyłam headery, np po środku tekstu. Nie będę przepisywać kodu, tak żeby znacznik był na samej górze. Przecież to jest chyba sensowne ? Z jakiej racji, mamy sobie utrudniać życie. Po to wprowadzili technologicznie buforowanie, żeby nie trzeba było pilnować, czy gdzieś nie mamy spacji... :/ -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 10 Dołączył: 16.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
buforowanie jest wprowadzone żeby móc wykonać pewne czynności, a nie żeby propagować złe nawyki kodowania.
Z tego co widzę to mieszasz całe MVC w jednym pliku. Jeśli chcesz dobrze kodować to zainteresuj się tymi magicznymi literkami, no chyba że chcesz dalej "dziadować". |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 293 Pomógł: 4 Dołączył: 28.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Pewne czynności, właśnie do nich, to wykożytuje.
Dobra mistrzu. No to jak mam użyć tego ob ? gdzie $im ( obrazek)
Będzie dobrze ? -------------------- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 10 Dołączył: 16.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
tak, powinno działać
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:20 |