Bisakah kita mengunduh file php dari situs web?

Biasanya, Anda tidak perlu menggunakan bahasa skrip sisi server apa pun seperti PHP untuk mengunduh gambar, file zip, dokumen pdf, file exe, dll. Jika file semacam itu disimpan di folder yang dapat diakses publik, Anda dapat membuat hyperlink yang menunjuk ke file itu, dan setiap kali pengguna mengklik tautan tersebut, browser akan secara otomatis mengunduh file itu.

Download Zip file
Download PDF file
Download Image file
Download EXE file

Mengklik tautan yang mengarah ke file PDF atau Gambar tidak akan menyebabkannya diunduh ke hard drive Anda secara langsung. Itu hanya akan membuka file di browser Anda. Selanjutnya Anda dapat menyimpannya ke hard drive Anda. Namun, file zip dan exe diunduh secara otomatis ke hard drive secara default


Memaksa Download Menggunakan PHP

Anda dapat memaksa gambar atau file jenis lain untuk diunduh langsung ke hard drive pengguna menggunakan fungsi PHP readfile(). Di sini kita akan membuat galeri gambar sederhana yang memungkinkan pengguna mengunduh file gambar dari browser dengan satu klik mouse

Mari buat file bernama "image-gallery. php" dan letakkan kode berikut di dalamnya





Simple Image Gallery



    ';
            echo '';
            echo '

Download

'; echo '
_

'; } ?>_

Jika Anda melihat kode contoh di atas dengan hati-hati, Anda akan menemukan pint link download ke "download. php", URL juga berisi nama file gambar sebagai string kueri. Selain itu, kami telah menggunakan fungsi PHP urlencode()_ untuk menyandikan nama file gambar sehingga dapat diteruskan dengan aman sebagai parameter URL, karena nama file mungkin berisi karakter URL yang tidak aman

Berikut kode lengkap "download. php", yang memaksa pengunduhan gambar

Demikian pula, Anda dapat memaksa mengunduh format file lain seperti dokumen kata, file pdf, dll

Ekspresi reguler pada contoh di atas (baris no-8) tidak akan mengizinkan file yang namanya diawali atau diakhiri dengan karakter titik (.), misalnya, memungkinkan nama file seperti kites.jpg atau Kites.jpg, myscript.min.js tetapi tidak

Sebelumnya telah disebutkan bahwa file zip dan exe diunduh secara otomatis, tanpa menggunakan skrip PHP. Pertama, buat file HTML dengan kode berikut. Di sini, empat elemen jangkar ditentukan untuk mengunduh empat jenis file. Jenis file ini termasuk file TEXT, ZIP, PDF, dan JPG

Unduh. html

< html >
< kepala >
< judul > Unduh File < /title>
< /kepala >
< tubuh >
< p >< a href="abc.txt" > Unduh file TEXT < /a></p>
< p >< a href="horizon.zip" > Unduh file ZIP < /a></p>
< p >< a href="lecture.pdf" > Unduh file PDF < /a></p>
< p >< a href="rose.jpg" > Unduh file JPG < /a></p>
< /tubuh >
< /html >

Keluaran
Kotak dialog berikut akan muncul untuk mengunduh file setelah mengklik tautan file zip. Pengguna kemudian dapat mengunduh file atau membuka file di pengelola arsip

Bisakah kita mengunduh file php dari situs web?

Jika Anda mengklik file gambar, gambar akan dibuka secara otomatis di browser, seperti yang ditunjukkan pada output berikut. Anda harus menyimpan file untuk membuat salinan file gambar di drive lokal. Dengan cara yang sama, ketika Anda mengklik tautan file PDF dan TEXT, konten file akan dibuka di browser tanpa mengunduh file. Solusi untuk masalah ini adalah mengunduh file secara paksa menggunakan fungsi readfile() PHP bawaan

Bisakah kita mengunduh file php dari situs web?

Unduh File Menggunakan fungsi readfile()

Fungsi readfile() digunakan dalam skrip PHP untuk mengunduh paksa file apa pun dari lokasi saat ini, atau file dengan jalur file. Sintaks fungsi ini diberikan di bawah ini

Sintaksis
int readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] )

Fungsi ini dapat mengambil tiga argumen. Argumen pertama bersifat wajib, dan dua argumen lainnya bersifat opsional. Argumen pertama, $filename, menyimpan nama file atau nama file dengan path yang akan diunduh. Nilai default parameter kedua, $use_include_path, adalah false dan akan disetel ke true jika nama file dengan path digunakan di argumen pertama. Argumen ketiga, $context, digunakan untuk menunjukkan sumber aliran konteks. Fungsi ini mengembalikan jumlah byte yang dibaca dari file yang disebutkan dalam argumen pertama. Penggunaan fungsi ini ditunjukkan dalam dua contoh berikut

Contoh 1. Unduh File dengan Nama File

Dalam contoh ini, kita akan membuat file HTML dengan kode berikut, dimana nama file akan diteruskan sebagai parameter URL bernama path, dan nilai parameter ini akan diteruskan ke file PHP bernama download. php

unduh2. html

< html >
< kepala >
< judul >Unduh File< /judul<>
< /kepala >
< tubuh >
< p >< a href="download.php?path=abc.txt" >Unduh TEXT file< /a></p>
< p >< a href="download.php?path=horizon.zip" >Unduh file ZIP< /a >< /p>
< p >< a href="download.php?path=lecture.pdf" >Unduh file PDF< /a >< /p>
< p >< a href="download.php?path=rose.jpg" >Unduh file JPG< /a >< /p>
< /tubuh >
< /html >

Kami akan membuat file PHP dengan kode berikut untuk mengunduh file secara paksa. Di sini, fungsi isset() digunakan untuk memeriksa apakah $_GET[‘path’] sudah ditentukan. Jika variabel ditentukan, fungsi file_exists() digunakan untuk memeriksa apakah file ada di server. Selanjutnya, fungsi header() digunakan untuk mengatur informasi header yang diperlukan sebelum menggunakan fungsi readfile(). Fungsi basename() digunakan untuk mengambil nama file, dan fungsi filesize() digunakan untuk membaca ukuran file dalam byte, yang akan ditampilkan di kotak dialog pembuka untuk mengunduh file. Fungsi flush() digunakan untuk menghapus buffer keluaran. Fungsi readfile() digunakan dengan nama file saja, di sini

unduh. php



jika(disetel($_GET['path']))
{
//Baca nama file
$filename = $_GET['path'];
//Periksa file ada atau tidak
jika(file_ada($namafile)) {

//Menentukan informasi tajuk
tajuk('Deskripsi-Konten. Transfer Berkas');
tajuk('Tipe-Konten. application/octet-stream');
tajuk("Kontrol-Cache. tanpa cache, harus divalidasi ulang");
header("Berakhir. 0");
tajuk('Disposisi Konten. lampiran; . .namadasar($namafile). '"'');
tajuk('Panjang Konten. ' . ukuran file($namafile));
tajuk('Pragma. publik');

// Hapus buffer keluaran sistem
siram();

// Baca ukuran file
readfile($namafile);

// Hentikan dari skrip
mati();
}
else{
echo "File tidak ada. ";
}
}
kalau tidak
echo "Nama file tidak ditentukan. "
?>

Keluaran
Output berikut akan muncul setelah mengklik tautan unduhan file gambar. Ukuran file mawar. gambar jpg adalah 27. 2 KB, seperti yang ditunjukkan pada kotak dialog. Anda dapat mendownload file dengan memilih tombol radio Save File dan menekan tombol OK

Bisakah kita mengunduh file php dari situs web?

Contoh 2. Unduh File dengan File Path

Jika file ada di lokasi file yang diberikan, jalur file harus disebutkan di URL. Dalam contoh ini, kita akan membuat file HTML dengan kode berikut, yang akan meneruskan nama file dengan path file

unduh3. html

< html >
< kepala >
< judul > Unduh File < /title>
< /kepala >
< tubuh >
< p >< a href="download.php?path=downloads/lecture.pdf" > Unduh file PDF < /a></p>
< p >< a href="download2.php?path=downloads/rose.jpg" > Unduh file JPG < /a></p>
< /tubuh >
< /html >

Kami akan membuat file PHP dengan kode berikut untuk mengunduh file dari jalur file. Kode PHP pada contoh sebelumnya akan sedikit dimodifikasi untuk mengunduh file dari jalur yang diberikan. Fungsi clearstatecache() digunakan untuk menghapus cache yang sebelumnya disimpan. Dua argumen digunakan dalam fungsi readfile()

unduh2. php


jika(disetel($_GET['path']))
{
//Baca url
$url = $_GET['jalur'];

//Hapus cache
hapus cachestat();

// Periksa jalur file ada atau tidak
jika(file_ada($url)) {

//Menentukan informasi tajuk
tajuk('Deskripsi-Konten. Transfer Berkas');
tajuk('Tipe-Konten. application/octet-stream');
tajuk('Disposisi Konten. lampiran; . .nama dasar($url). '"'');
tajuk('Panjang Konten. ' . ukuran file($url));
tajuk('Pragma. publik');

// Hapus buffer keluaran sistem
siram();

// Baca ukuran file
readfile($url,benar);

// Hentikan dari skrip
mati();
}
else{
echo "Jalur file tidak ada. ";
}
}
echo "Jalur file tidak ditentukan. "

?>

Keluaran
Setelah tautan unduhan file PDF diklik, output berikut akan muncul

Bisakah kita mengunduh file php dari situs web?

Video tutorial

Kesimpulan

Artikel ini memberikan cara sederhana untuk mengunduh paksa file apa pun menggunakan skrip PHP, untuk membantu pembaca menambahkan fitur unduhan dalam skrip mereka

Bisakah saya mengunduh file PHP?

Untuk alasan keamanan, Apache mencegah file PHP diunduh sehingga kode sumbernya dapat dibaca kecuali ada kegagalan server saat Anda mencoba . Biasanya, Anda hanya akan mendapatkan output HTML dari file PHP di komputer lokal Anda sebagai "hadiah", bukan kode sumbernya.

Bisakah Anda mendapatkan kode PHP dari situs web?

PHP adalah bahasa pemrograman sisi server, artinya dijalankan di server web sebelum situs web dikirim ke pengguna akhir. Inilah sebabnya Anda tidak dapat melihat kode PHP saat melihat kode sumber .

Bisakah kita mengunduh file PHP dari server?

Anda dapat mengunduh semua jenis file (gambar, ZIP, video, audio, dll) dari server jarak jauh menggunakan PHP . Gunakan fungsi readfile() dengan application/x-file-to-save Content-type header, untuk mengunduh file ZIP dari URL jarak jauh menggunakan PHP. header("Tipe konten. aplikasi/x-file-untuk-menyimpan");

Bagaimana cara menyimpan file PHP?

Simpan File .
Pilih Simpan dari menu File
Masukkan nama_file_Anda. php ke dalam kolom Save As, pastikan untuk menyertakan. ekstensi php
Klik tombol Simpan