我想上傳一個圖像到一個目錄,並將其文件路徑和其他數據一起發佈到一個表中。提交後回聲錯誤上傳文件,但我不知道它掛起的地方。我相信這可能與我的結果變量有關,但我不知道爲什麼。感謝您的幫助。上傳文件PHP與SQL文件路徑
<!-- Updated -->
<?PHP
error_reporting(E_ALL); ini_set('display_errors', 1);
$hostname = "localhost:3306";
$db_user = "root";
$db_password = "admin";
$database = "smlc";
$db_table = "program";
$db = mysqli_connect($hostname, $db_user, $db_password);
mysqli_select_db($db, $database);
\t
$uploadDir=dirname(__FILE__)."/images/uploaded/programs/";
if(isset($_POST['Submit']))
{
$program_name = $_POST['program_name'];
$program_description = $_POST['program_description'];
$fileName = $_FILES['Photo']['name'];
$tmpName = $_FILES['Photo']['tmp_name'];
$fileSize = $_FILES['Photo']['size'];
$fileType = $_FILES['Photo']['type'];
$filePath = $uploadDir . $fileName;
$result = move_uploaded_file($tmpName,$filePath);
if (!$result) {
echo "Error uploading file";
exit;
}
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
$filePath = addslashes($filePath);
}
$sql_program = "INSERT INTO program (program_name, program_description,filepath)
VALUES ('$program_name', '$program_description','$filePath')";
mysqli_query($sql_program) or die('Error, query failed ');
}
?>
<!--image_programs.php-->
<?PHP
$hostname = "localhost";
$db_user = "*";
$db_password = "*";
$database = "smlc";
$db_table = "program";
$db = mysql_connect($hostname, $db_user, $db_password);
mysql_select_db($database);
\t
$uploadDir = 'images/Uploaded/programs/';
if(isset($_POST['Submit']))
{
$program_name = $_POST['program_name'];
$program_description = $_POST['program_description'];
$fileName = $_FILES['Photo']['name'];
$tmpName = $_FILES['Photo']['tmp_name'];
$fileSize = $_FILES['Photo']['size'];
$fileType = $_FILES['Photo']['type'];
$filePath = $uploadDir . $fileName;
$result = move_uploaded_file($tmpName,$filePath);
if (!$result) {
echo "Error uploading file";
exit;
}
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
$filePath = addslashes($filePath);
}
$sql_program = "INSERT INTO program (program_name, program_description,filepath)
VALUES ('$program_name', '$program_description','$filePath')";
mysql_query($sql_program,$db) or die('Error, query failed ');
}
?>
<!-- Image Form -->
<form name="Image" enctype="multipart/form-data" action="image_programs.php" method="POST">
<tr>
<td>
<input type="File" name="Photo" size="2000000" accept="image/gif, image/jpeg, image/x-ms-bmp, image/x-png" size="26"></td>
</tr>
<tr>
<td width="100">Program Name</td>
<td><input class="commentarea" name="program_name" type="text" id="program_name"></td>
</tr>
<tr>
<td width="100">Program Description</td>
<td><input class="commentarea" name="program_description" type="text" id="program_description"></td>
</tr>
<br/>
<tr>
<td>
<INPUT type="Submit" class="button" name="Submit" value="Submit">
</td>
</tr>
</form>
在打開'<?php'標記後立即在文件頂部添加錯誤報告 'error_reporting(E_ALL); ini_set('display_errors',1);'看看它是否產生任何東西。還有'或者(mysql_error())'去''mysql_query()'。 – 2014-10-29 19:38:16
這些是返回的結果:警告:mysqli_select_db()期望恰好2個參數,第1行在C:\ xampp \ htdocs \ SMLC \ includes \ image_programs.php中給出 警告:move_uploaded_file(.../smlc/images /Uploaded/programs/pew.jpg):無法打開流:沒有這樣的文件或目錄在C:\ xampp \ htdocs \ SMLC \包括\ image_programs.php 23行 警告:move_uploaded_file():無法移動' C:\ xampp \ tmp \ php4A35.tmp'到第23行的'.../smlc/images/Uploaded/programs/pew.jpg'在第23行包含\ image_programs.php 錯誤上傳文件 – 2014-10-29 19:46:51
'mysql_select_db($ database,$ db);'這將修復第一個錯誤。 '$ uploadDir ='images/Uploaded/programs /';'你的錯誤是'無法移動'C:\ xampp \ tmp \ php4A35.tmp'到'.../smlc/images/Uploaded/programs/pew。 jpg'不是相同的文件夾。另外,似乎有3個點在那裏。 – 2014-10-29 19:47:33