Memuat turun Fail Besar daripada URL tanpa Isu Memori
Pembangun web biasanya menghadapi cabaran memuat turun fail besar daripada URL jauh. Walaupun pendekatan mudah menggunakan file_get_contents() dan file_put_contents() mungkin mencukupi untuk fail yang lebih kecil, ia adalah pendek untuk fail yang melebihi had memori. Isu ini menimbulkan persoalan: cara memuat turun fail besar secara berperingkat-peringkat tanpa meletihkan sumber memori.
Mujurlah, PHP menawarkan penyelesaian elegan yang menangani kebimbangan ini. Sejak versi 5.1.0, file_put_contents() telah menyokong penulisan data dalam ketulan dengan menghantar pemegang strim sebagai hujah kedua.
Berikut ialah kod diubah suai yang memanfaatkan ciri ini:
file_put_contents("Tmpfile.zip", fopen("http://someurl/file.zip", 'r'));
Ini kod beroperasi seperti berikut:
Manual PHP menerangkan bahawa menghantar pemegang strim ke file_put_contents() mencetuskan penyalinan penimbal yang tinggal dari strim ke fail sasaran. Mekanisme ini secara berkesan mencerminkan kefungsian stream_copy_to_stream().
Dengan menggunakan teknik ini, pembangun boleh memuat turun fail besar dengan mudah tanpa menghadapi kekangan memori, memastikan pemindahan data yang lancar walaupun untuk saiz fail yang paling besar.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Muat Turun Fail Besar dari URL dalam PHP tanpa Keletihan Memori?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!