![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 30.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
robię funkcję do skalowania jpgów. Plan wygląda tak: plik jest upoladowany z formularza i wgrywany do katalogu potem jest robiona prewka i jednocześnie wrzucana do odpowiedniego katalogu. Dla niektórych jpgów (np. 800/600 zapisanych z Photoshopa przez "Save for web") wszystko działa jak trzeba. Problem zacznyna się w przypadku gdy próbuję wrzucić nie zmieniany plik 1,3Mb (koło 2000/1800px) bezpośrednio z cyfrówki (nie obrabianą w PS) - plik jak najbardziej się przegyrwa na serwer a problem powstaje dopiero w momencie w którym przez getimagesize() próbuję pobrać typ pliku i wielkość - funkcja poprostu nie zwraca żadnych wyników. Czy ktoś miał kiedyś taki problem? Może jest jakaś metoda, żeby obejść tą funkcję? Pozdrawiam guma Ten post edytował vvooki 1.12.2005, 00:12:26 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 574 Pomógł: 2 Dołączył: 13.04.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj sobie wyświetlić nazwę pliku jaka jest pobierana, tablicę $_FILES etc. Bo tak to ciężko coś powiedzieć. Bo chyba mało prawdopodobne aby php się wykładało, tylko dlatego że plik ma 1,3MB.
-------------------- jQuery, JavaScript i CSS - porady, tutoriale
highlab.pl - blog o technologiach, nauce i programowaniu |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 28.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Może za niska wersja php nieradzaca sobie z typem jpg generowanym przez cyfrówkę. Zobacz http://pl2.php.net/function.getimagesize
-------------------- --------------------------
zapraszam na Wejherowo - centrum informacji Parkiety, granit |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 30.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Tak wygląda funkcja:
![]() poprawiam --- nospor Linijka z echo na początku jest do testów. Okazało się że jest ok to znaczy: 0: 2048 1: 1536 2: 2 3: width="2048" height="1536" Ale prewki w dalszym ciągu się nie tworzą... Może ktoś znajdzie co jest w tym kodzie źle?... |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 30.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję. Faktycznie błędy teraz pokazuje.
Dostałem coś takiego: Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 2048 bytes) in .... on line 51 W tej lini znajduje się funkcja imagecreatefromjpeg(); Czy to oznacza, że mało pamięci ma przydzielone samo php na serwerze? ps. dostałem jeszcze coś takiego: Notice: Use of undefined constant akcja - assumed 'akcja' in ... on line 63 kod tam wygląda tak: $akcja=$_GET[akcja]; czy coś w tym jest nie tak jak powinno? Z góry dziękuję za odpowiedzi i pomoc Ten post edytował vvooki 1.12.2005, 13:41:22 |
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Tak, oznacza to że php ma za mało pamięci i nie starcza jej na operacje na tym pliku.
Możesz zwiększyć przydział pamięci dla php, alebo zdecydować się na operacje na mniejszych plikach. ----edit---- Jeśli używasz tablic asocjacyjnych, nie ważne czy są superglobalne czy nie nie można pisać:
dlatego że nie masz takiej stałej jak someIndex. Powinieneś zawsze używać znaków apostrofu:
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Co do akcji. POwinno byc:
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 30.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(mike_mech @ 2005-12-01 12:41:24) Tak, oznacza to że php ma za mało pamięci i nie starcza jej na operacje na tym pliku. Możesz zwiększyć przydział pamięci dla php, alebo zdecydować się na operacje na mniejszych plikach. Ale ponieważ skrypt piszę nie na swoim serwerze tylko na wykupionym miejscu u providera i tam phpinfo() wypisuje samo że ma 8Mb to znaczy, że jest to ustawienie globalne i sam go nie zmienię?... :-( |
|
|
![]()
Post
#10
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(vvooki @ 2005-12-01 13:43:27) Ale ponieważ skrypt piszę nie na swoim serwerze tylko na wykupionym miejscu u providera i tam phpinfo() wypisuje samo że ma 8Mb to znaczy, że jest to ustawienie globalne i sam go nie zmienię?... :-( Nie. Musi to zrobić administrator serwera. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 30.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ok. Bardzo dziękuję.
Sporo się nauczyłem... idę walczyć z providerem ![]() Pozdrawiam Guma |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 11:56 |