Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Dua cara untuk memuat turun fail dengan cepat dari URL dalam PHP

Dua cara untuk memuat turun fail dengan cepat dari URL dalam PHP

藏色散人
藏色散人asal
2021-08-25 10:08:4110047semak imbas

Dalam artikel sebelumnya "Contoh menunjukkan cara memanggil fungsi PHP apabila butang diklik", saya memperkenalkan cara memanggil fungsi PHP apabila butang diklik Rakan yang memerlukan boleh mempelajarinya ~

Topik artikel ini ialah bagaimana untuk memuat turun fail dari URL melalui PHP?

Sebenarnya terdapat banyak cara untuk memuat turun fail daripada URL, tetapi artikel ini akan menumpukan pada dua kaedah:

Kaedah pertama:

Gunakan file_get_contents () Fungsi: Fungsi file_get_contents() digunakan untuk membaca fail ke dalam rentetan. Fungsi ini menggunakan teknologi pemetaan memori yang disokong pelayan, yang meningkatkan prestasi dan menjadikannya cara pilihan untuk membaca kandungan fail.

Sintaks:

file_get_contents($path, $include_path, $context, $start, $max_length)

Buat fail sampel test.php dengan kandungan berikut:

<?php
// 将文件URL初始化为变量
$url = &#39;https://img.php.cn/upload/article/000/000/020/6125a391e4e76689.png&#39;;

// 使用basename()函数获取文件名
$file_name = basename($url);

// 使用file_get_contents()函数从url获取文件,使用file_put_contents()函数保存文件
if(file_put_contents( $file_name,file_get_contents($url))) {
    echo "文件下载成功";
}
else {
    echo "文件下载失败";
}

Hasil berjalan menunjukkan:

文件下载成功

Kini kita boleh menyemak sama ada fail "6125a391e4e76689.png" telah berjaya disimpan dalam direktori yang sama dengan fail test.php:

Dua cara untuk memuat turun fail dengan cepat dari URL dalam PHP

Fail itu berjaya disimpan daripada URL.

Kaedah kedua: Gunakan PHP Curl

untuk mencipta fail sampel test.php Kod sampel adalah seperti berikut:

<?php

$url = &#39;https://img.php.cn/upload/article/000/000/020/6125a391e4e76689.png&#39;;

// 初始化cURL会话
$ch = curl_init($url);

// 初始化保存文件的目录名
$dir = &#39;./&#39;;

// 函数返回文件名
$file_name = basename($url);

// 将文件保存到给定位置
$save_file_loc = $dir . $file_name;

// 打开文件
$fp = fopen($save_file_loc, &#39;wb&#39;);

// 为cURL传输设置一个选项
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

// 执行cURL会话
curl_exec($ch);

// 关闭cURL会话并释放所有资源
curl_close($ch);

// 关闭文件
fclose($fp);

Jalankan test. php, anda boleh melihat fail yang dimuat turun dan disimpan di lokasi yang ditentukan.

Kaedah ini melaksanakan langkah khusus untuk memuat turun fail:

  • Mulakan URL fail sebagai pembolehubah

  • Buat cURL session

  • Isytiharkan pembolehubah dan simpan nama direktori tempat fail yang dimuat turun akan disimpan.

  • Jika laluan fail disediakan sebagai hujah, gunakan fungsi nama asas() untuk mengembalikan nama asas fail.

  • Simpan fail ke lokasi yang diberikan.

  • Buka lokasi fail yang disimpan dengan menulis rentetan

  • Tetapkan pilihan pemindahan cURL

  • Laksanakan sesi cURL dan tutup sesi cURL dan lepaskan semua sumber

  • Tutup fail

Akhir sekali, saya mengesyorkan yang terkini dan paling komprehensif "Tutorial Video PHP 》~ Datang dan belajar!

Atas ialah kandungan terperinci Dua cara untuk memuat turun fail dengan cepat dari URL dalam PHP. 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