前一節我們設定了幾個自訂函數,並且實作了實作產生新檔案位址,
這裡我們就需要引用自訂函數,來完成整個的檔案上傳功能
#需要使用include_once 語句
include_once 語句在腳本執行期間包含並執行指定檔案。此行為和include語句類似,唯一差異是如果該檔案中已經被包含過,則不會再次包含。如同此語句名字暗示的那樣,只會包含一次。
include_once可以用於在腳本執行期間同一個檔案有可能被包含超過一次的情況下,想確保它只被包含一次以避免函數重定義,變數重新賦值等問題。
上一節我們建立了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>