Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Muat Turun Imej daripada URL menggunakan PHP dan Curl?

Bagaimanakah Saya Boleh Muat Turun Imej daripada URL menggunakan PHP dan Curl?

Barbara Streisand
Barbara Streisandasal
2024-11-30 14:15:12423semak imbas

How Can I Download Images from a URL using PHP and Curl?

Memuat turun Fail Imej melalui URL Menggunakan PHP dan Curl

Menyimpan fail imej daripada URL jauh ke pelayan anda ialah tugas biasa untuk pembangun web . Ini boleh dicapai dengan lancar menggunakan sambungan Curl PHP.

Masalahnya:

Seorang pembangun menghadapi kesukaran menyimpan fail imej daripada URL menggunakan Curl. Kod yang diberikan nampaknya tidak menghasilkan hasil yang diingini.

Penyelesaian:

Berikut ialah versi ubah suai kod yang sepatutnya menyelesaikan isu:

function grab_image($url, $saveto) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
    $raw = curl_exec($ch);
    curl_close($ch);
    if (file_exists($saveto)) {
        unlink($saveto);
    }
    $fp = fopen($saveto, 'x');
    fwrite($fp, $raw);
    fclose($fp);
}

Perubahan Utama:

  • Fungsinya ialah dinamakan semula kepada grab_image untuk kejelasan.
  • CURLOPT_HEADER ditetapkan kepada 0 untuk hanya mendapatkan semula data imej.
  • CURLOPT_BINARYTRANSFER ditetapkan kepada 1 untuk memastikan imej disimpan sebagai data binari.
  • Laluan simpan fail disediakan sebagai hujah kedua untuk membolehkan fleksibel penamaan.

Petua Tambahan:

Dalam fail konfigurasi PHP anda (php.ini), pastikan allow_url_fopen didayakan. Tetapan ini membenarkan PHP membuka fail melalui URL.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Muat Turun Imej daripada URL menggunakan PHP dan Curl?. 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