Masalah: Semasa mengikis kandungan menggunakan file_get_contents(), anda menghadapi ubah hala tetapi ingin mendedahkan URL sebenar .
Penyelesaian:
Walaupun file_get_contents() biasanya mengendalikan ubah hala, jika anda memerlukan kawalan secara eksplisit, gunakan pendekatan berikut:
<code class="php">// Disable automatic redirect following $context = stream_context_create([ 'http' => [ 'follow_location' => false ] ]); // Retrieve the content with no redirects $html = file_get_contents('http://www.example.com/', false, $context); // Access the HTTP response headers to determine the actual URL var_dump($http_response_header);</code>
Oleh menetapkan 'follow_location' kepada false, anda menghalang file_get_contents() daripada mengikuti ubah hala secara automatik. Pengepala respons (tersedia dalam $http_response_header) akan mengandungi pengepala "Lokasi", yang menunjukkan URL sebenar selepas sebarang ubah hala.
Petua: Pendekatan ini diilhamkan oleh penyelesaian yang disediakan dalam How do Saya mengabaikan pengepala bergerak dengan file_get_contents dalam PHP?
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan URL Akhir Selepas Ubah Hala Apabila Menggunakan file_get_contents() dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!