Mam kod $input = fopen('php://input', 'r');
w moim kodzie do przesłania.Dlaczego php: // input truncate?
Po zakończeniu przesyłania pliku sprawdzam przed $_SERVER['CONTENT_LENGTH']
, aby sprawdzić, czy wszystko zostało wysłane zgodnie z oczekiwaniami. Niedawno CONTENT_LENGTH
i rozmiar mojego pliku do wysłania zaczęły się losowo nie pasować (około raz na 20 minut, gdy ludzie ładują się bardzo często).
Zalogowałem i zapisałem niezgodności i okazało się, że niektórych plików nie można otworzyć, a niektóre zostały pobrane i zostały obcięte. Jedno, które otworzyłem w Photoshopie, ostrzegało nawet, że dokument został uszkodzony.
Czy istnieje konfiguracja serwera, którego powinienem szukać, który mógł zostać zmieniony?
Próbowałem replikacji przez zamknięcie kart przeglądarki i rzeczy tego rodzaju, ale nadal nie będzie replikować błąd.
Przesyłamy przez AJAX POST. Ciało POST
jest źródłem przesyłania.
Przesłane materiały są horyzontalnymi tematami do pracy, w jaki sposób zapisujesz swoje pliki? Zapisywanie ich do bazy danych? lub przechowywanie pliku w folderze i odwoływanie się do ścieżki w bazie danych/ –
Złe kopie są zapisywane w folderze, loguję lokalizację i sprawdzam je –
Bez zrozumienia kodu, który rzeczywiście wysyła żądanie POST do serwera, będzie to niemożliwe do wymyślenia. W jaki sposób wysyłane są dane? Flash, JavaScript, formularz HTML itp.? Napotkano już takie problemy, ale zwykle był to błąd matematyczny podczas budowania fragmentów i wysyłania go do STDIN. – phpisuber01