MySQLにアップロードするサンプルスクリプト

[php]
//アップロードからファイル名などを取り出す
$tmp_name = $_FILES[“userfile”][“tmp_name”];
$size = $_FILES[“userfile”][“size”];
$file_name = $_FILES[‘userfile’][‘name’];
$file_type = $_FILES[‘userfile’][‘type’];
$fp = fopen($_FILES[“userfile”][“tmp_name”], “rb”);
if(!$fp)
{
print(“アップロードしたファイルを開けませんでした”);
exit;
}
$file_data = addslashes(fread($fp,
filesize($_FILES[“userfile”][“tmp_name”])));
fclose($fp);
//ここまで
//MySQLに接続
$host = ‘host’;
$user = ‘user’;
$password = ‘password’;
$database = ‘database’;
$db = new mysqli($host, $user, $password, $database);
//文字化け対策
$stmt = $db->prepare(“SET NAMES utf8”);
$stmt->execute();
//ここまで

//MySQLにinsert
$sql = “insert into FILE (file_name,file_type,file_data,up_date) values
(‘$file_name’,’$file_type’,?,’$up_date’)”;
$stmt = mysqli_prepare($db,$sql);
$null = NULL;
//blob型のデータをバインドする。
$stmt->bind_param(“b”, $null);
//ファイルからデータを8192バイトずつ取り出し、send_long_dataで送る
$fp = fopen($_FILES[“userfile”][“tmp_name”], “rb”);
while (!feof($fp)) {
$stmt->send_long_data(0, fread($fp, 8192));
}
fclose($fp);
$rs = $stmt->execute();
//ここまで

[php]