Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z tymczasową scieżka do pliku przy uploadzie obrazków
Forum PHP.pl > Forum > Przedszkole
jakis_login
Cześć,
chce zrobić zmniejszanie obrazków do określonych rozmiarów i zaimplementowałem sobie skrypt stąd: http://stackoverflow.com/questions/1275700...r-before-upload
Klasa resize-class.php działa jak bym chciał ale tylko jak podaje ścieżkę gdzie obrazek jest już na serwerze, natomiast nie działa kiedy chce zmniejszyć rozmiar jeszcze przed uploadem czyli jak podaje:
  1. $a = $_FILES["files"]["tmp_name"];
  2. $resizeObj = new resize($a);

błąd to:
imagesx() expects parameter 1 to be resource, boolean given in........resize-class.php on line 26
jak zwardampuje $_FILES to oczywiście mam (chyba poprawnie) to: tmp/jfi123j
dodam ze zwykła funkcja move_uploaded_file($a, $target); działa.
Rysh
Cytat(jakis_login @ 20.10.2016, 08:13:15 ) *
Cześć,
chce zrobić zmniejszanie obrazków do określonych rozmiarów i zaimplementowałem sobie skrypt stąd: http://stackoverflow.com/questions/1275700...r-before-upload
Klasa resize-class.php działa jak bym chciał ale tylko jak podaje ścieżkę gdzie obrazek jest już na serwerze, natomiast nie działa kiedy chce zmniejszyć rozmiar jeszcze przed uploadem czyli jak podaje:
  1. $a = $_FILES["files"]["tmp_name"];
  2. $resizeObj = new resize($a);

błąd to:
imagesx() expects parameter 1 to be resource, boolean given in........resize-class.php on line 26
jak zwardampuje $_FILES to oczywiście mam (chyba poprawnie) to: tmp/jfi123j
dodam ze zwykła funkcja move_uploaded_file($a, $target); działa.

Jak wygląda 26 linijka kodu?
jakis_login
wklej sobie klase z podanego linka do pierwszego lepszego edytora z numeracją i bedziesz wiedział tongue.gif
a tak na poważnie to proszę bardzo abyś się nie fatygował
  1. $this->width = imagesx($this->image);
kapslokk
Cytat(jakis_login @ 20.10.2016, 14:37:45 ) *
wklej sobie klase z podanego linka do pierwszego lepszego edytora z numeracją i bedziesz wiedział tongue.gif




http://php.net/manual/en/function.imagesx.php
Czyli obrazek musisz najpierw "otworzyć" - na stronie, którą Ci podałem z prawej strony masz funkcje imagecreate itd. Użyj ich.
trueblue
Metoda openImage w klasie sprawdza typ pliku po rozszerzeniu, a nie mime type.
Twój plik z /tmp nie ma rozszerzenia, więc metoda zwraca false, co nie jest sprawdzane w konstruktorze.
jakis_login
mój wgrywany obrazek mam rozszerzenie .jpg
czy ten obrazek który mam najpierw "otworzyć" to czy nie pokrzyżuje mi to moich planów? Bo chciałbym aby zmniejszał się jego rozmiar jeszcze przed uploadem, aby formularz wysłał sie szybko a nie mielił i mielił przy wgrywaniu obrazka.
viking
Żeby móc cokolwiek robić ze zdjęciem po stronie PHP musisz najpierw przyjąć plik. Przed uploadem to po stronie JS.
jakis_login
Jesteście pewni, że się nie da zminiejszyć wagi/rozmiaru obrazka przed uploadem w php - wiem ze jest wykonywany po stronie serwera ale ta nazwa /tmp/costamcostam to nie jest to? Jeśli tak to macie sprawdzone sposoby/metody w js aby to zrobić?
trueblue
Możesz zmniejszyć plik w katalogu tymczasowym. Czyli przed move_uploaded_file.
Pliki są zapisywane w tym katalogu pod losowymi nazwami, aby nie nadpisać innych plików na serwerze. Dopiero programista/skrypt decyduje o docelowej lokalizacji (i ewentualnym nadpisaniu) przy podaniu parametru dla move_uploaded_file.
jakis_login
no więc zataczamy koło i wracam z pytaniem do mojego pierwszego postu....
trueblue
A ja Ci odpowiedziałem na ten problem w pierwszym moim poście w tym temacie.
jakis_login
ta, faktycznie, nie doczytałem Twojego postu. Myślałem jednak, że to przyspieszy wgrywanie plików a tu okazało się, że nie. Plik na serwerze faktycznie zapisuje się zmniejszony ale i tak wysyła się cały czyli sprzed zmniejszenia co w moim przypadku trwa zbyt długo... Macie coś w podpowiedziach na mój problem, czy to rzeczywiście trzeba użyć js'a?
viking
A jak to sobie wyobrażasz? Cały plik musi być wcześniej przesłany na serwer i to że jest w tmp nic nie zmienia. Bibliotek w JS robiących to co trzeba jest multum, wliczając od razu uploadery całe typu plupload.
trueblue
Cytat(jakis_login @ 23.10.2016, 11:14:37 ) *
Macie coś w podpowiedziach na mój problem, czy to rzeczywiście trzeba użyć js'a?

https://www.google.pl/search?q=resize+image+before+upload
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.