Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengkonfigurasi Tamat Masa dalam `file_get_contents()` untuk Menggelung Melalui Pautan?

Bagaimana untuk Mengkonfigurasi Tamat Masa dalam `file_get_contents()` untuk Menggelung Melalui Pautan?

Barbara Streisand
Barbara Streisandasal
2024-11-28 19:05:10595semak imbas

How to Configure Timeouts in `file_get_contents()` for Looping Through Links?

Tetapan Tamat Masa dalam file_get_contents()

Apabila menggunakan file_get_contents() dalam gelung untuk mendapatkan semula kandungan daripada berbilang pautan, adalah penting untuk mempertimbangkan potensi tamat masa.

File_get_contents() Tempoh Tamat:

Ya, file_get_contents() mempunyai tempoh tamat masa lalai yang ditentukan oleh tetapan ini default_socket_timeout, yang ditetapkan kepada 60 saat (1 minit). Ini bermakna jika sambungan kepada sumber jauh mengambil masa lebih lama daripada 60 saat untuk diwujudkan, file_get_contents() akan tamat masa.

Menyesuaikan Tamat Masa:

Untuk mengatasi lalai tamat masa, anda boleh menggunakan yang berikut kaedah:

  • ini_set(): Laraskan tetapan default_socket_timeout dengan segera. Contohnya, untuk menetapkan tamat masa 15 minit:
ini_set('default_socket_timeout', 900); // 900 Seconds = 15 Minutes
  • stream_context_create(): Buat konteks HTTP dan tentukan tamat masa sebagai pilihan konteks HTTP:
$ctx = stream_context_create(array('http' =>
    array(
        'timeout' => 1200,  //1200 Seconds is 20 Minutes
    )
));

echo file_get_contents('http://example.com/', false, $ctx);

Dengan menetapkan tamat masa tersuai, anda boleh memastikan bahawa file_get_contents() menunggu untuk tempoh tertentu sebelum tamat masa. Ini memberi anda kawalan yang lebih besar ke atas gelagat skrip anda dan menghalangnya daripada beralih ke pautan seterusnya lebih awal.

Atas ialah kandungan terperinci Bagaimana untuk Mengkonfigurasi Tamat Masa dalam `file_get_contents()` untuk Menggelung Melalui Pautan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn