Membuat Upload File dengan PHP MySQL
Menggunakan PHP untuk mengupload file ke dalam database MySQL kadang dibutuhkan oleh beberapa aplikasi berbasis web. Sebagai contoh untuk menyimpan file-file pdf atau gambar untuk membuat tempat penyimpanan yang bersifat online.
Untuk membuat aplikasi upload ini, langkah pertama buatlah sebuah table dengan menggunakan phpMyAdmin atau langsung dari mysql shell command:
CREATE TABLE upload (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(30) NOT NULL,
type VARCHAR(30) NOT NULL,
size INT NOT NULL,
content MEDIUMBLOB NOT NULL,
PRIMARY KEY(id)
);
Kemudian buatlah form untuk upload filenya
Form upload harus terdapat encytype=”multipart/form-data” jika tidak maka tidak akan bekerja. Dan form method gunakan method=”post”. Gunakan input hidden MAX_FILE_SIZE sebelum file input. Akan membatasi ukuran file yang akan diupload.
Kemudian buatlah file untuk menerima kiriman variable post dari form upload file.
0)
{
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
$fp = fopen($tmpName, ‘r’);
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}
include ‘library/config.php’;
include ‘library/opendb.php’;
$query = “INSERT INTO upload (name, size, type, content ) “.
“VALUES (’$fileName’, ‘$fileSize’, ‘$fileType’, ‘$content’)”;
mysql_query($query) or die(’Error, query failed’);
include ‘library/closedb.php’;
echo “
File $fileName uploaded
”;
}
?>
Bila ingin membuat aplikasi dengan spesifikasi file yang lebih besar, seperti file mp3, film, dan file-file besar lainnya, ada beberapa setting yang perlu diubah dari Web Server (php.ini), MySQL (my.cnf)
php.ini
upload_max_filesize = 127M
post_max_size = 127M
max_execution_time = 360
my.cnf
[mysqld]
max_allowed_packet = 127M
Loading...