我是PHP编程的新手。我想一次浏览多个图像。在单击提交按钮期间,我想以逗号分隔格式保存所有选定的图像路径。我对插入查询语句的位置感到困惑。
目前我正在使用以下代码来实现此功能
PHP代码
<?php
$hostname_connect= "localhost";
$database_connect= "test";
$username_connect= "root";
$password_connect= "";
$connect_solning = mysql_connect($hostname_connect, $username_connect, $password_connect) or trigger_error(mysql_error(),E_USER_ERROR);
@mysql_select_db($database_connect) or die (mysql_error());
if(isset($_FILES['files']))
{
$errors= array();
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name )
{
$file_name = $key.$_FILES['files']['name'][$key];
$file_size =$_FILES['files']['size'][$key];
$file_tmp =$_FILES['files']['tmp_name'][$key];
$file_type=$_FILES['files']['type'][$key];
if($file_size > 2097152)
{
$errors[]='File size must be less than 2 MB';
}
$desired_dir="user_data";
if(empty($errors)==true)
{
if(is_dir($desired_dir)==false)
{
// Create directory if it does not exist
mkdir("$desired_dir", 0700);
}
if(is_dir("$desired_dir/".$file_name)==false)
{
move_uploaded_file($file_tmp,"user_data/".$file_name);
}
else
{
//rename the file if another one exist
$new_dir="user_data/".$file_name.time();
rename($file_tmp,$new_dir) ;
}
//mysql_query($query);
}
else
{
print_r($errors);
}
echo $file_name = $file_name.",";
$query="INSERT into upload_data (FILE_NAME,FILE_SIZE,FILE_TYPE) VALUES('$file_name','$file_size','$file_type'); ";
mysql_query($query);
}
if(empty($error))
{
echo "Success";
}
}
?>
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="files[]" multiple/>
<input type="submit"/>
</form>
如何以逗号分隔格式将图像保存到数据库?
答案 0 :(得分:1)
从提交的图像路径构造逗号分隔的字符串,然后将其插入数据库。插入应该在foreach循环之后进行。