Php 将图像路径上载到数据库
我在将图像路径上载到数据库时遇到问题。数据库名为:basketball\u数据库和表名为:media,列:id(int,自动递增),name(varchar),image(varchar) 我尝试从计算机上的不同目录上载的所有图像都是png文件。 由于某些原因,我只能上载一个图像,而数据库不显示图像名称或图像路径。有人能帮我解决这些问题吗?多谢各位 文件1:upload_image.phpPhp 将图像路径上载到数据库,php,image-uploading,Php,Image Uploading,我在将图像路径上载到数据库时遇到问题。数据库名为:basketball\u数据库和表名为:media,列:id(int,自动递增),name(varchar),image(varchar) 我尝试从计算机上的不同目录上载的所有图像都是png文件。 由于某些原因,我只能上载一个图像,而数据库不显示图像名称或图像路径。有人能帮我解决这些问题吗?多谢各位 文件1:upload_image.php <html> <body> <form action="up
<html>
<body>
<form action="uploaded_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
//connection
$username = "root";
$password = "";
$hostname = "localhost";
$database = "basketball_database";
$table = "media";
$con = mysql_connect($hostname, $username, $password)
or die("Unable to connect to Mysql");
// echo "Connected to mysql<br>";
mysql_select_db("$database")
or die("Could not select Basketball_database");
//echo "Connected to database";
//image extensions allowed
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
//Successfully uploaded
echo "Your file " . $_FILES["file"]["name"] . " successfully uploaded!!<br>";
echo "Details :";
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
//Display Image
echo "<img src=uploaded/" . $_FILES["file"]["name"] . ">";
//Uploaded image folder
if (file_exists("uploaded/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"uploaded/" . $_FILES["file"]["name"]);
}
}
}
else
{
//error message on the extension that are not allowed
echo "Invalid file";
$filename = preg_replace('/[^A-Z0-9]/','',$_FILES["file"]["name"]) . $extension;
$logo = uploaded/$filename;
//insert into database
$strSQL = "INSERT INTO $table(name,image) VALUES('$name_file','$logo')";
mysql_query($strSQL) or die(mysql_error());
}
?>
文件名:
文件2:upload_File.php
//connection
$username = "root";
$password = "";
$hostname = "localhost";
$database = "basketball_database";
$table = "media";
$con = mysql_connect($hostname, $username, $password)
or die("Unable to connect to Mysql");
// echo "Connected to mysql<br>";
mysql_select_db("$database")
or die("Could not select Basketball_database");
//echo "Connected to database";
//image extensions allowed
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
//Successfully uploaded
echo "Your file " . $_FILES["file"]["name"] . " successfully uploaded!!<br>";
echo "Details :";
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
//Display Image
echo "<img src=uploaded/" . $_FILES["file"]["name"] . ">";
//Uploaded image folder
if (file_exists("uploaded/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"uploaded/" . $_FILES["file"]["name"]);
}
}
}
else
{
//error message on the extension that are not allowed
echo "Invalid file";
$filename = preg_replace('/[^A-Z0-9]/','',$_FILES["file"]["name"]) . $extension;
$logo = uploaded/$filename;
//insert into database
$strSQL = "INSERT INTO $table(name,image) VALUES('$name_file','$logo')";
mysql_query($strSQL) or die(mysql_error());
}
?>
//连接
$username=“root”;
$password=“”;
$hostname=“localhost”;
$database=“basketball\u database”;
$table=“媒体”;
$con=mysql\u connect($hostname、$username、$password)
或者死亡(“无法连接到Mysql”);
//echo“连接到mysql
”;
mysql\u select\u db(“$database”)
或死亡(“无法选择篮球_数据库”);
//echo“连接到数据库”;
//允许图像扩展
$allowedExts=数组(“gif”、“jpeg”、“jpg”、“png”);
$temp=explode(“.”,$_文件[“文件”][“名称”]);
$extension=end($temp);
如果(($_文件[“文件”][“类型”]=“图像/gif”)
||($_文件[“文件”][“类型”]=“图像/jpeg”)
||($_文件[“文件”][“类型”]=“图像/jpg”)
||($_文件[“文件”][“类型”]=“图像/pjpeg”)
||($_文件[“文件”][“类型”]=“图像/x-png”)
||($_文件[“文件”][“类型”]=“图像/png”))
&&($_文件[“文件”][“大小”]<20000)
&&in_数组($extension$allowedExts))
{
如果($\u文件[“文件”][“错误”]>0)
{
回显“返回代码:”.$\u文件[“文件”][“错误”]。
”;
}
其他的
{
//已成功上载
回显“您的文件”。$\u文件[“文件”][“名称”]。“已成功上载!!
”;
回声“细节:”;
echo“上传:.”文件[“文件”][“名称”]。“
”;
echo“Type:”.$\u文件[“file”][“Type”]。“
”;
回显“大小:”($_文件[“文件”][“大小”]/1024)。“kB
”;
//显示图像
回声“;
//上载的图像文件夹
如果(文件存在(“上载/”$\u文件[“文件”][“名称”]))
{
echo$\u文件[“文件”][“名称”]。“已存在。”;
}
其他的
{
移动上传的文件($文件[“文件”][“tmp文件名”],
“上载/”$_文件[“文件”][“名称]);
}
}
}
其他的
{
//扩展上不允许的错误消息
回显“无效文件”;
$filename=preg_replace(“/[^A-Z0-9]/”,“,$”文件[“文件”][“名称])。$extension;
$logo=upload/$filename;
//插入数据库
$strSQL=“插入$table(名称、图像)值(“$name_文件”,“$logo”)”;
mysql_query($strSQL)或die(mysql_error());
}
?>
这是一个很好的入门教程。
然后从这里开始构建。这里您需要检查两个条件,1。文件是否上载并移动到tmp路径或新路径。这可以通过转储全局文件来检查。2.如果上传,请在推送到db之前打印文件名。3.最后一点,在触发insert语句之前,请检查您是否遗漏了任何未遗漏的非空参数。您似乎正在尝试在不将上载的文件移动到上载文件夹的情况下将其插入到db中。对于一个名为main2.png的图像,它位于我的桌面上,我猜它的一个副本已经制作好,并作为main2.png放在我的“localhost/upload”文件夹中。然后数据库更新为id=123 name=(blank)image=(blank),每次我从上传的文件夹和数据库id=124 name=(blank)image=(blank)中删除图像时都会重复。我不明白为什么它只适用于main2.png,而不适用于其他main3.png或main4.pngI。我将浏览教程。非常感谢。