PHP で開発された MySql データベースへの簡単なファイルのアップロード (4)
include_once ステートメント スクリプト実行中に指定されたファイルをインクルードして実行します。この動作は include ステートメントと似ていますが、唯一の違いは、ファイルがすでにインクルードされている場合、再度インクルードされないことです。このステートメントの名前が示すように、このステートメントは 1 回だけ含まれます。
include_once は、スクリプトの実行中に同じファイルが複数回インクルードされる可能性があり、関数の再定義や変数の再割り当てなどの問題を回避するために、ファイルが 1 回だけインクルードされるようにしたい場合に使用できます。
前のセクションでupload.phpファイルを作成しました
ここでこのファイルを参照する必要があります
<?php include_once('upload.php'); ?>以下は完全な表示コードです:
<?php
header("content-type:text/html;charset=utf8");
$link = mysqli_connect('localhost','username','password','test');
mysqli_set_charset($link, "utf8");
if (!$link) {
die("连接失败:".mysqli_connect_error());
}
$action = isset($_GET['action'])?$_GET['action']:"";
if ($action == "save"){
include_once('uploadclass.php'); //引入外部文件
$title = $_POST['title'];
$pic = $uploadfile;
if($title == "") //判断是否在标题中添加内容
echo"<Script>window.alert('对不起!你输入的信息不完整!');history.back()</Script>";
$sql = "insert into img(title,pic) values('$title','$pic')"; //向数据库中添加文件内容
$result = mysqli_query($link,$sql);
}
?>
<html>
<head>
<meta charset="utf-8">
<title>文件上传实例</title>
<style type="text/css">
<!--
body
{
font-size: 20px;
}
input
{
background-color: #66CCFF;
border: 1px inset #CCCCCC;
}
form
{
margin-top:5%;
}
-->
</style>
</head>
<body>
<form method="post" action="?action=save" enctype="multipart/form-data">
<table border=0 cellspacing=0 cellpadding=0 align=center width="100%">
<tr>
<td width=55 height=20 align="center"></td>
<td height="16">
<table>
<tr>
<td>标题:</td>
<td><input name="title" type="text" id="title"></td>
</tr>
<tr>
<td>文件: </td>
<td><label>
<input name="file" type="file" value="浏览" >
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
</label></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="上 传" name="upload"></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</body>
</html>