...czyli widać, jak bardzo paruje mi z głowy.
W piątek wyjechałem do klientów, w celu ustalenia ostatecznego odcienia barwy niebieskiej. Koledzy zdziwili się, ile tak na prawdę jest kolorów niebieskich (Pamiętajcie -- są tylko dwa kolory: czarny i biały). Klienci zażyczyli sobie oczywiście możliwość wpychania zdjęć do galerii w liczbie masowej. Pewnie istnieją jakieś gotowe rozwiązania, klasy Java'y, silniki na Flash'u... W HTML/PHP ciężko pomyśleć nawet, o wepchnięciu zawartości całego katalogu na serwer, nawet posiłkując się JavaScript'em. Związane jest to z bezpieczeństwem -- i dobrze. W końcu, gdyby się dało, z każdym kliknięciem pola Submit w jakimkolwiek formularzu wysyłalibyśmy mnóstwo ciekawych informacji. Znam rozwiązanie dobre. Wymagające wiedzy niestety. Pliki przesyła się na serwer dowolnym protokołem, najwygodniejszym oczywiście będzie FTP. Potem linkuje się katalog z bazą danych -- galeria jest. To chyba zbyt skomplikowane! -- powiedział w głos głupek siedzący we mnie. Nie należy wspominać już o pliku tekstowym z nazwami plików. Ludzie nie umieją wpisać ls > listaplikow.txt. Szybko więc należało przekompilować PHP z flagą --enable-zip, włączającą dostęp do funkcji pakunkowych. Efekt jest prosty: na serwer wysyła się jeden plik, galeria już gotowa. Co prawda, łączy się do ze szkoleniem klientów, pokazaniem, jak to archiwum ma wyglądać, ale chyba warto się w to pobawić. Dla ciekawskich, fragment kodu, w którym część rzeczy jest niepotrzebnych i części brakuje:
$uploaddir=".tmp/"; $plik_tmp = $_FILES['plik']['tmp_name']; $plik_nazwa = $_FILES['plik']['name']; $nazwa = strtolower($plik_nazwa); if(is_uploaded_file($plik_tmp)) { move_uploaded_file($plik_tmp, "$uploaddir$nazwa"); $docelowy="galerie"; $zipa = new ZipArchive(); $zipa->open("$uploaddir$nazwapliku"); $zipa->extractTo("$docelowy/"); $zipa->close(); } @unlink("$uploaddir$nazwa");
Publikowane komentarze są prywatnymi opiniami użytkowników witryny Michała Sternadela. Witryna Michała Sternadela nie ponosi odpowiedzialności za treść tych opinii.
|