PHP を使用してファイルをサーバーにアップロードし、ファイルをバイナリ形式で mysql データベースに保存しようとしていますが、うまくいきません。使用しているスクリプトは次のとおりです。"$_FILES " これを取り出すと "&& $_FILES['userfile']['size'] > 0" スクリプトが実行を開始しますが、その下にある "$_FILES" を使用する変数は定義されていません。
if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 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);
}
db_connect();
db_select();
$query = "INSERT INTO upload (name, size, type, content ) ".
"VALUES ('$fileName', '$fileSize', '$fileType', '$content')";
mysql_query($query) or die('Error, query failed');
db_disconnect();
echo "<br>File $fileName uploaded<br>";
}