[英]Upload image to web server and store path in database
我正在嘗試使用php將圖像上傳到我的網絡服務器並將圖像的路徑存儲在mysql數據庫中,但我無法做到這一點。 任何幫助,將不勝感激。 當我點擊提交時,我會看到一個空白的php頁面。
post.php
<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$name = $_POST['ctitle'];
$description = $_POST['cdesc'];
$image = $_FILES['image']['name'];
$filepath = "images/";
$filepath = $filepath . basename($image);
if(move_uploaded_file($image, $filepath)){
$con = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $con )
{
die('Could not connect: ' . mysql_error());
}
$sql="INSERT INTO bbmp (dt,title,description,filename,img_path)
VALUES (NOW(), '$name','$description','$image','$filepath')";
mysql_select_db('bbmp',$con);
$retval = mysql_query( $sql, $con );
if(! $retval )
{
die('Could not enter data: ' . mysql_error());
}
echo "Entered data successfully\n";
mysql_close($con);
}
?>
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>Post your complaints here</h1>
<form method="POST" action="post.php">
<input type="name" name="ctitle"><br />
<textarea name="cdesc"></textarea><br />
<input type="file" name="image" ><br />
<input type="submit" name="submit" value="submit">
</form>
</body>
</html>
sql
CREATE TABLE IF NOT EXISTS `bbmp` (
`id` int(100) unsigned NOT NULL AUTO_INCREMENT,
`dt` datetime NOT NULL,
`title` varchar(255) NOT NULL,
`description` varchar(255) NOT NULL,
`filename` varchar(255) NOT NULL,
`img_path` int(255) NOT NULL,
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
上載文件時需要有效的enctype: enctype="multipart/form-data"
更改為:
<form method="POST" action="post.php" enctype="multipart/form-data">
您也需要為此更改變量,因為$ _FILES ['image'] ['name']只是一個名稱,因此將其運行move_uploaded_file()函數
$image = $_FILES['image']['tmp_name'];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.