Menyimpan File yang Dikirim Pengguna dalam Database MySQL

Terkadang berguna untuk mengumpulkan data dari pengguna situs web Anda dan menyimpan informasi ini di a MySQL basis data. Kami telah melihat Anda dapat mengisi basis data menggunakan PHP, sekarang kami akan menambahkan kepraktisan yang memungkinkan data ditambahkan melalui formulir web yang ramah pengguna.

Selanjutnya, Anda perlu membuat process.php, halaman tempat formulir kami mengirimkan datanya. Berikut adalah contoh cara mengumpulkan data ini untuk dikirim ke database MySQL:

Tentu saja, sebelum kita mencobanya kita perlu memastikan bahwa tabel tersebut benar-benar ada. Menjalankan kode ini harus membuat tabel yang dapat digunakan dengan file sampel kami:

Sekarang Anda tahu cara menyimpan data pengguna di MySQL, jadi mari selangkah lebih maju dan pelajari cara mengunggah file untuk penyimpanan. Pertama, mari kita buat basis data sampel kami:

Hal pertama yang harus Anda perhatikan adalah bidang yang disebut Indo yang diatur ke AUTO_INCREMENT. Apa ini tipe data artinya adalah akan menghitung untuk menetapkan setiap file ID file unik mulai dari 1 dan pergi ke 9999 (karena kami menetapkan 4 digit). Anda juga mungkin akan memperhatikan bahwa bidang data kami dipanggil

instagram viewer
LONGBLOB. Ada banyak jenis BLOB seperti yang telah kami sebutkan sebelumnya. TINYBLOB, BLOB, MEDIUMBLOB, dan LONGBLOB adalah pilihan Anda, tetapi kami menetapkan milik kami untuk LONGBLOB untuk memungkinkan file sebesar mungkin.

Selanjutnya, kami akan membuat formulir untuk memungkinkan pengguna mengunggah file-nya. Ini hanya bentuk sederhana, jelas, Anda bisa mengenakannya jika Anda mau:

Selanjutnya, kita harus benar-benar membuat upload.php, yang akan mengambil file pengguna kita dan menyimpannya di database kita. Di bawah ini adalah contoh pengkodean untuk upload.php.

Selanjutnya, ia menggunakan ADDSLASHES fungsi. Apa yang dilakukan adalah menambahkan garis miring terbalik jika perlu ke dalam nama file sehingga kita tidak akan mendapatkan kesalahan ketika kita query database. Misalnya, jika kita memiliki Billy'sFile.gif, itu akan mengubahnya menjadi Billy'sFile.gif. FOPEN membuka file dan FREAD adalah file biner aman dibaca sehingga ADDSLASHES diterapkan ke data dalam file jika diperlukan.

Selanjutnya, kami menambahkan semua informasi yang dikumpulkan oleh formulir kami ke dalam basis data kami. Anda akan melihat bahwa kami mencantumkan bidang pertama, dan nilai kedua sehingga kami tidak sengaja mencoba memasukkan data ke bidang pertama kami (bidang ID penetapan otomatis.)

Kami sudah belajar cara mengambil data biasa dari database MySQL kami. Demikian juga, menyimpan file Anda dalam database MySQL tidak akan sangat praktis jika tidak ada cara untuk mengambilnya. Cara kita akan belajar untuk melakukan ini adalah dengan memberikan setiap file URL berdasarkan nomor ID mereka. Jika Anda ingat ketika kami mengunggah file, kami secara otomatis memberikan masing-masing file nomor ID. Kami akan menggunakannya di sini ketika kami memanggil file kembali. Simpan kode ini sebagai download.php

Sekarang untuk mengambil file kami, kami arahkan browser kami ke: http://www.yoursite.com/download.php? id = 2 (ganti 2 dengan ID file apa pun yang ingin Anda unduh / tampilkan)

Kode ini adalah dasar untuk melakukan banyak hal. Dengan ini sebagai basis, Anda bisa menambahkan kueri basis data yang akan mencantumkan file, dan meletakkannya di menu tarik turun untuk dipilih orang. Atau Anda dapat menetapkan ID menjadi angka yang dibuat secara acak sehingga grafik yang berbeda dari database Anda ditampilkan secara acak setiap kali seseorang mengunjungi. Kemungkinannya tidak terbatas.

Seperti kode kami sebelumnya yang mengunduh file, skrip ini memungkinkan file dihapus hanya dengan mengetikkan URL-nya: http://yoursite.com/remove.php? id = 2 (ganti 2 dengan ID yang ingin Anda hapus.) Untuk alasan yang jelas, Anda ingin hati-hati dengan kode ini. Ini tentu saja untuk demonstrasi, ketika kita benar-benar membangun aplikasi, kita ingin memasukkannya ke dalam pengamanan tanyakan kepada pengguna apakah mereka yakin ingin menghapus, atau mungkin hanya mengizinkan orang dengan kata sandi untuk menghapus file. Kode sederhana ini adalah dasar yang akan kita bangun untuk melakukan semua hal itu.