Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Problem z tymczasową scieżka do pliku przy uploadzie obrazków
jakis_login
post 20.10.2016, 07:13:15
Post #1





Grupa: Zarejestrowani
Postów: 169
Pomógł: 1
Dołączył: 30.09.2010
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


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.

Ten post edytował jakis_login 20.10.2016, 07:14:49
Go to the top of the page
+Quote Post
Rysh
post 20.10.2016, 07:34:01
Post #2





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

Ostrzeżenie: (0%)
-----


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?


--------------------
Go to the top of the page
+Quote Post
jakis_login
post 20.10.2016, 13:37:45
Post #3





Grupa: Zarejestrowani
Postów: 169
Pomógł: 1
Dołączył: 30.09.2010
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


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);
Go to the top of the page
+Quote Post
kapslokk
post 20.10.2016, 13:42:55
Post #4





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
trueblue
post 20.10.2016, 14:49:04
Post #5





Grupa: Zarejestrowani
Postów: 6 803
Pomógł: 1827
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


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.


--------------------
Go to the top of the page
+Quote Post
jakis_login
post 21.10.2016, 06:14:45
Post #6





Grupa: Zarejestrowani
Postów: 169
Pomógł: 1
Dołączył: 30.09.2010
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
viking
post 21.10.2016, 06:23:38
Post #7





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Żeby móc cokolwiek robić ze zdjęciem po stronie PHP musisz najpierw przyjąć plik. Przed uploadem to po stronie JS.


--------------------
Go to the top of the page
+Quote Post
jakis_login
post 23.10.2016, 07:45:19
Post #8





Grupa: Zarejestrowani
Postów: 169
Pomógł: 1
Dołączył: 30.09.2010
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


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ć?
Go to the top of the page
+Quote Post
trueblue
post 23.10.2016, 08:33:04
Post #9





Grupa: Zarejestrowani
Postów: 6 803
Pomógł: 1827
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


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.


--------------------
Go to the top of the page
+Quote Post
jakis_login
post 23.10.2016, 09:07:12
Post #10





Grupa: Zarejestrowani
Postów: 169
Pomógł: 1
Dołączył: 30.09.2010
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


no więc zataczamy koło i wracam z pytaniem do mojego pierwszego postu....
Go to the top of the page
+Quote Post
trueblue
post 23.10.2016, 09:40:26
Post #11





Grupa: Zarejestrowani
Postów: 6 803
Pomógł: 1827
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


A ja Ci odpowiedziałem na ten problem w pierwszym moim poście w tym temacie.


--------------------
Go to the top of the page
+Quote Post
jakis_login
post 23.10.2016, 10:14:37
Post #12





Grupa: Zarejestrowani
Postów: 169
Pomógł: 1
Dołączył: 30.09.2010
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
viking
post 23.10.2016, 11:22:07
Post #13





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


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.


--------------------
Go to the top of the page
+Quote Post
trueblue
post 23.10.2016, 15:59:25
Post #14





Grupa: Zarejestrowani
Postów: 6 803
Pomógł: 1827
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


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


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.06.2025 - 12:00