Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> imagejpeg() i dziwny błąd
Valantir
post 20.06.2012, 16:46:49
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 7
Dołączył: 6.09.2011
Skąd: Olsztyn

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


Witam, ostatnio na serwerze aktualizowałem php do wersji 5.4 i napotkałem na pewien błąd. Otóż podczas użycia funkcji imagejpeg() wyskakuje mi błąd:
Cytat
ErrorException: Warning: imagejpeg(): Invalid 2nd parameter, it must a filename or a stream in ...


Czy ktoś może spotkał się z tym już? W poprzednich wersjach chodziło ale musiałem na serwerze zaktualizować wersję php do nowszej i wtedy zaczęło się kaszanić... czekam na jakieś odpowiedzi:) z góry dziękuję


--------------------
Pomogłem? Kliknij "Pomógł".
Go to the top of the page
+Quote Post
nospor
post 20.06.2012, 16:49:05
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) Z obiektówką to nie ma żadnego związku. Patrz gdzie piszesz. Przenosze
2) Blad ci chyba wyraźnie mówi co jest nie tak. Drugi parametr ma być nazwą pliku. Skoro u ciebie nie jest to nie jest błąd z imagejpeg a raczej ze zmienną, którą wkładasz do imagejpeg - tam wiec szukaj błędu


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Valantir
post 20.06.2012, 17:09:04
Post #3





Grupa: Zarejestrowani
Postów: 93
Pomógł: 7
Dołączył: 6.09.2011
Skąd: Olsztyn

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


Fakt, rzeczywiście pomyliłem dział... sorki.
Ale inną sprawą jest to, że na lokalnym serwerze mam tak samo wpisany kod i nie wypluwa błędu... Wszystko leci dobrze...


--------------------
Pomogłem? Kliknij "Pomógł".
Go to the top of the page
+Quote Post
nospor
post 20.06.2012, 17:11:17
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Czytać umiem.... zrozumiałem to już po pierwszym poście ze kiedyś ci działało a teraz nie działa.

A teraz ty czytaj ze zrozumieniem:
Błąd jest ze zmienną którą wkłądasz do image. Z jakiegoś powodu się ona psuje, zapewne z powodu innych ustawień serwera. Niestety wróżką nie jestem i bez kodu nie jestem w stanie nic więcej powiedzieć. Musisz więc łaskawie poszukać czemu ona się psuje.

Pomoże ci w tym ten temat, który wyjasnia banalne debugowanie kodu:
Temat: Jak poprawnie zada pytanie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Valantir
post 20.06.2012, 17:27:09
Post #5





Grupa: Zarejestrowani
Postów: 93
Pomógł: 7
Dołączył: 6.09.2011
Skąd: Olsztyn

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


Wszystko zrozumiałem... spokojnie...

tutaj jest kod na którym wykrzacz się skrypt:

Kod
public function resize($file)
    {
        $new_width = 100;
        $new_height = 100;
        list($width, $height) = getimagesize($file);
        $canvas = imagecreatetruecolor($new_width, $new_height);
        switch($this->getExtension()) {
          case 'jpg':
            $org = imagecreatefromjpeg($file);
            break;
          case 'gif':
            $org = imagecreatefromgif($file);
            break;
          case 'png':
            $org = imagecreatefrompng($file);
            break;
        }
        imagecopyresampled($canvas, $org, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
        print_r($file);
        switch($this->getExtension()) {
          case 'jpg':
            imagejpeg($canvas, $file, 100);
            break;
          case 'gif':
            imagegif($canvas, $file);
            break;
          case 'png':
            imagepng($canvas, $file);
            break;
        }
    }


zaś to zawiera zmienna file:

Cytat
Symfony\Component\HttpFoundation\File\UploadedFile Object ( [test:Symfony\Component\HttpFoundation\File\UploadedFile:private] => [originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 4fb133bc5c0fa.jpg [mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => image/jpeg [size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 13195 [error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0 [pathName:SplFileInfo:private] => /tmp/php3ymB5r [fileName:SplFileInfo:private] => php3ymB5r )


--------------------
Pomogłem? Kliknij "Pomógł".
Go to the top of the page
+Quote Post
nospor
post 20.06.2012, 17:45:32
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No i widać że $file to obiekt, a ma być nazwą pliku lub stream.

Przyszła mi do głowy jeszcze jedna myśl. Może w innej wersji ten obiekt jest rzutowany na string przy pomocy metody toString i dlatego gdzie indziej ci działa. No ale to dziwne, bo ty zaktualizowałeś php do 5.4 a tam takie rzeczy powiny raczej działać


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Valantir
post 20.06.2012, 18:08:47
Post #7





Grupa: Zarejestrowani
Postów: 93
Pomógł: 7
Dołączył: 6.09.2011
Skąd: Olsztyn

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


No mimo wszystko już funkcja nie zgłasza błędu ale teraz jakimś cudem nie zmienia rozmiaru obrazka...


--------------------
Pomogłem? Kliknij "Pomógł".
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: 20.07.2025 - 01:59