2016-10-24 30 views
23

Pracuję nad projektem, który pozwala naszemu pracownikowi przesłać duże pliki do naszego hosta udostępnionego i uzyskać link do pobrania. Problem polega na tym, że nasz hosting nie chce zmienić LimitRequestBody dla hostingu współdzielonego. istnieje jakieś inne rozwiązanie do pracy wokół LimitRequestBody lub w inny sposób wykonać tę pracę?Obejście problemu Błąd 413 Jednostka żądania zbyt duża

+0

Czy próbowałeś czegoś? Myślę, że możesz podzielić dane w kilku częściach i skompresować je przed przesłaniem?! – Fky

+0

@Fky Wykonuję ten projekt, aby nasz pracownik mógł aktualizować dane bez potrzeby mnie, co teraz robię, otwieram ftp hosta i przesyłam pliki. ale muszę zrobić skrypt, aby przesłać te dane bez potrzeby mnie, to już działa dla małych danych <100 MB. –

+0

Tak, ale twój skrypt może działać na twoim serwerze FTP i podzielić dane + skompresować je przed przesłaniem – Fky

Odpowiedz

12

Dwa sposoby na sprawdzenie, ręczne przesłanie chunk lub przez narzędzia.

Można użyć narzędzia Real Ajax Uploader. Może być używany z html5 przesyłanie plików odbywa się za pomocą kawałków, z niewielkim wnioskiem do serwera o wydajność i solidność.

Lub ręcznie podziel pliki na wiele porcji, a następnie prześlij je jeden po drugim. możesz użyć 7-zip do podziału plików i łączenia plików. tutaj jest tutorial.

Dla klienta podzielić można również odnieść do File uploads; How to utilize "chunking"?

Dla sever fragmencie połączyć można odwołać się do Handling plupload's chunked uploads on the server-side i http://www.phpclasses.org/package/8858-PHP-Create-and-merge-Zip-archives-split-in-parts.html

nadzieję, że to pomaga.

3

Można zastąpić domyślne wartości upload_max_filesize i post_max_size. Obie te dwa ustawienia ini mieć tryb zmiany jako PHP_INI_PERDIR który oznacza, że ​​można użyć jednego z następujących

php.ini, .htaccess, httpd.conf, .user.ini

Ponieważ używasz dzielonego hostingu, więc najlepiej jest odpowiednią opcję .htaccess lub .user.ini

można odnieść to do ustawienia wartości używanie htaccess Set php Ini settings using htaccess

+2

To jest warte spróbowania, ale jeśli to działa, powinieneś zmienić dostawcę hostingu. Dowolny współdzielony dostawca hostingu, który pozwala klientowi używać '.htaccess' lub 'ini_set' itp., aby nadpisać coś, o czym konkretnie powiedzieli" nie ", jest dostawcą usług hostingowych, z którego powinieneś natychmiast wyjść, gdy inni klienci klikną, znaleźć inne luki w zabezpieczeniach i wkrótce nadużywać usługi i zabrać ze sobą witrynę. Dobry dzielony dostawca usług hostingowych blokuje także nadpisywanie globalnych ustawień, w których chcą kontrolować wykorzystanie zasobów. – Robbie

+0

Już zmieniam ustawienie php, ale 'LimitRequestBody' to ustawienie Apache, próbowałem zmienić limit w .hraccess, ale nie działa, a mój hosting odmawia zmiany. Testuję limit, myślę, że jego 100MB, ale potrzebuję go 200MB –

+0

@SamirNabil 200 MB brzmi ogromnie. Jakie to są pliki? Zastanawiam się. Czy jesteś pewien, że sam proces bazowy ma sens? –