Jest problem przy wrzucaniu zdjęć wsadowych – po przesłaniu wielu zdjęć naraz zawsze kończy się to niepowodzeniem, przesłanie 1 lub 2 zdjęć może się udać, a potem okazało się, że upload_max_filesize w oryginalnym php.ini to 4M, a każde zdjęcia, które przesłałem, mają po 1M, myślę, że to może być upload_max_filesize problem, więc zmodyfikowałem go na 50M, myśląc, że będzie dobrze, ale przesłanie nadal nie powiodło się. Potem otworzyłem Firebug, żeby zobaczyć prośbę o post, i znalazłem fragment tekstu, Firefox osiągnął limit rozmiaru posta, a później odkryłem, że jest jeszcze jeden parametr do ustawienia, czyli post_max_size też zmodyfikowałem go na 50M, o ile łączna liczba przesłanych obrazów nie przekraczała 50M, może się powieść.
A co jeśli nie masz uprawnień do modyfikacji php.ini, niektórzy mówią, żeby użyć funkcji ini_set(), ale upload_max_filesize post_max_size nie możesz użyć tej funkcji do ustawienia jej bezpośrednio w skrypcie
Oto podsumowanie tego, co często trzeba modyfikować podczas przesyłania dużych plików: Otwórz php.ini i znajdź go pierwszy ;;;;;;;;;;;;;;;; ; Przesyłanie plików ; ;;;;;;;;;;;;;;;; Na przesyłanie pliku wpływają następujące parametry: file_uploads = na ; Czy zezwolić na przesyłanie plików przez przełączniki HTTP. Domyślnie ON oznacza na upload_tmp_dir ; Przesyłaj pliki do miejsca, gdzie przechowywane są tymczasowe pliki na serwerze, i używaj domyślnego folderu tymczasowego, jeśli nie jest to określone upload_max_filesize = 8m ; Wangwen Business, czyli maksymalny dopuszczalny rozmiar pliku. Domyślnie to 2M
W następującym ;;;;;;;;;;;;;;;;; ; Obsługa danych; ;;;;;;;;;;;;;;;;; Region oraz jeszcze jedno: post_max_size = 8m ; Odnosi się do maksymalnej wartości, jaką POST może otrzymać do PHP za pośrednictwem formularza, włącznie ze wszystkimi wartościami zawartymi w formularzu. Domyślnie to 8M Ogólnie rzecz biorąc, po ustawieniu powyższych czterech parametrów, przesłanie pliku z <=8M nie stanowi problemu w normalnych warunkach sieciowych. Ale jeśli chcesz przesłać duży plik > 8M, tylko powyższe cztery elementy na pewno zadziałają. Jeśli Twoja sieć nie ma faktycznie prędkości wysyłania 100M/s, nadal musisz zwracać uwagę na następujące parametry:
;;;;;;;;;;;;;;;;;;; ; Limity zasobów; ;;;;;;;;;;;;;;;;;;; max_execution_time = 600 ; Maksymalna wartość czasu (sekundy) na uruchomienie każdej strony PHP, domyślnie to 30 sekund max_input_time = 600 ; Maksymalny czas potrzebny na otrzymanie danych na każdą stronę PHP to domyślnie 60 sekund memory_limit = 8m ; Maksymalna ilość pamięci zużywanej przez każdą stronę PHP to domyślnie 8M |