Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bermula dengan PHP: Memuat Naik dan Memuat Turun Fail

Bermula dengan PHP: Memuat Naik dan Memuat Turun Fail

WBOY
WBOYasal
2023-05-22 10:51:061408semak imbas

Dalam pembangunan web, memuat naik dan memuat turun fail adalah keperluan yang sangat biasa. Sama ada pengguna memuat naik avatar atau dokumen, atau pentadbir meminta pengguna memuat turun fail, fungsi ini diperlukan. Sebagai bahasa bahagian pelayan yang berkuasa, PHP secara semulajadi menyediakan fungsi operasi fail dan perpustakaan kelas yang berkuasa, membolehkan kami melaksanakan fungsi muat naik dan muat turun fail dengan mudah.

Artikel ini akan memperkenalkan proses asas dan fungsi biasa untuk melaksanakan muat naik dan muat turun fail dalam PHP, serta menyediakan kod sampel. Jika anda seorang pemula dalam PHP atau sedang mempelajari operasi fail, saya harap artikel ini dapat memberi anda sedikit panduan dan bantuan.

Muat naik fail

Dalam PHP, muat naik fail dilaksanakan melalui protokol HTTP, iaitu melalui borang, pengguna boleh memilih fail setempat dan memuat naiknya ke pelayan. Fungsi yang perlu kita gunakan ialah pembolehubah global $_FILES dan fungsi move_uploaded_file().

Pertama, kita perlu menulis borang HTML di bahagian hadapan. Kodnya adalah seperti berikut:

<form method="post" action="upload.php" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="上传文件">
</form>

Perlu diingatkan bahawa kita perlu menetapkan kaedah borang untuk dipos, tindakan ke fail php untuk muat naik fail pemprosesan latar belakang, dan enctype perlu ditetapkan kepada berbilang bahagian/data-bentuk untuk menyokong Muat naik fail.

Seterusnya, kami menulis kod dalam fail upload.php di latar belakang untuk mengendalikan muat naik fail. Kodnya adalah seperti berikut:

<?php
if(isset($_FILES['file'])){
    $file = $_FILES['file'];
    $filename = $file['name'];
    $tmp_name = $file['tmp_name'];
    $target_path = "./uploads/".$filename;
    move_uploaded_file($tmp_name, $target_path);
    echo "文件上传成功";
}
?>

Gunakan jika untuk menentukan sama ada fail telah dimuat naik dan dapatkan pelbagai maklumat tentang fail daripada tatasusunan $_FILES. $file['name'] mewakili nama fail, $file['tmp_name'] mewakili laluan fail bagi fail sementara. Kita perlu mengalihkannya ke lokasi yang ditentukan pada pelayan, dengan mengandaikan ia adalah direktori "./uploads/", dan akhirnya mengeluarkan mesej muat naik yang berjaya.

Muat turun fail

Muat turun fail bermakna pengguna boleh memuat turun fail daripada pelayan ke setempat dengan mengklik pautan atau butang. Fungsi yang perlu kita gunakan ialah fungsi header() dan fungsi readfile().

Pertama, kita perlu menetapkan kebenaran akses fail pada pelayan supaya pengguna boleh memuat turunnya. Kita boleh menetapkannya melalui fail .htaccess atau fail konfigurasi pelayan web.

Seterusnya, kami menulis kod HTML di bahagian hadapan untuk menjana pautan muat turun. Kodnya adalah seperti berikut:

<a href="download.php?filename=test.pdf">点击下载文件</a>

Perlu diingatkan bahawa kita perlu menetapkan href pautan ke fail php yang dimuat turun oleh fail pemprosesan latar belakang, dan juga perlu membawa nama fail sebagai parameter dalam pautan itu.

Akhir sekali, kami menulis kod dalam fail muat turun.php di latar belakang untuk mengendalikan muat turun fail. Kodnya adalah seperti berikut:

<?php
if(isset($_GET['filename'])){
    $filename = "./uploads/".$_GET['filename'];
    if(file_exists($filename)){
        header('Content-type: application/pdf');
        header('Content-Disposition: attachment; filename="'.basename($filename).'"');
        readfile($filename);
        exit;
    }else{
        echo "文件不存在";
    }
}
?>

Gunakan jika untuk menentukan sama ada terdapat parameter nama fail yang diluluskan, dan jana laluan mutlak fail berdasarkan nama fail. Jika fail itu wujud, kami perlu menetapkan jenis Kandungan kepada jenis fail (diandaikan sebagai jenis pdf di sini) dan Kandungan-Pelupusan kepada lampiran, yang bermaksud memuat turun sebagai lampiran dan mengeluarkan kandungan fail. Akhir sekali, tambahkan keluar untuk menghalang penyemak imbas daripada mengeluarkan kandungan lain.

Ringkasan

Melalui pengenalan ringkas artikel ini, saya percaya pembaca akan mempunyai pemahaman yang lebih mendalam tentang memuat naik dan memuat turun fail dalam PHP. Perlu diingatkan bahawa kedua-dua operasi muat naik dan muat turun fail perlu mempertimbangkan keselamatan dan pengalaman pengguna, seperti mengehadkan saiz dan jenis fail yang dimuat naik, anti-leeching pautan muat turun, dsb. Saya harap pembaca juga akan memberi perhatian kepada butiran ini apabila melaksanakan operasi fail.

Atas ialah kandungan terperinci Bermula dengan PHP: Memuat Naik dan Memuat Turun Fail. 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