Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP和mysql数据库中上传和插入多个图像_Php_Android_Mysql_Base64 - Fatal编程技术网

如何在PHP和mysql数据库中上传和插入多个图像

如何在PHP和mysql数据库中上传和插入多个图像,php,android,mysql,base64,Php,Android,Mysql,Base64,我是PHP的初学者。我将一些图像编码为base64字符串。所有图像都已在指定文件夹中成功解码。我的问题是我只能在数据库中记录一个图像/路径。有人帮我想出了PHP在数据库的一行中插入所有图像路径 下面是php代码 <?PHP if(isset($_POST['image'])) { $image = $_POST['image']; $identity = $_POST['id']; $username = $_POST['username']; //create unique imag

我是PHP的初学者。我将一些图像编码为base64字符串。所有图像都已在指定文件夹中成功解码。我的问题是我只能在数据库中记录一个图像/路径。有人帮我想出了PHP在数据库的一行中插入所有图像路径

下面是php代码

 <?PHP
if(isset($_POST['image']))
{
$image = $_POST['image'];
$identity = $_POST['id'];
$username = $_POST['username'];

//create unique image file name based on micro time and date
$now = DateTime::createFromFormat('U.u', microtime(true));
$id = rand(1000000, 10000000000);
$id2=rand(1000000, 10000000000);

$upload_folder = "upload";
$id="$id$id2";
$path = "$upload_folder/$id.jpeg";

if(file_put_contents($path, base64_decode($image)) != false){
    echo "uploaded_success";

   $sql = "UPDATE apartment SET Image_path = '$path' WHERE apart_username 
  ='$username' AND id = '$identity'";

   mysqli_query($conn, $sql);   

}
else{
    echo "uploaded_failed";
}    
exit;
}
else{
echo "images_not_in";
exit;

您需要某种循环……在下面的示例中,我所做的只是创建一个名为image的变量,而不是创建一个名为$imagesar的数组。我在imagesArr上添加了一个foreach循环,因此它将运行您为输入到该数组中的每个图像编写的代码。我也在最后关闭了出口,因为这将停止循环。这应该行得通

 <?PHP
if(isset($_POST['image']))
{
//$image = $_POST['image']; - I commented this out
$imagesArr = array('image1.jpeg','image2.jpeg','image3.jpeg'); //etc. put all of your images here into this array    
$identity = $_POST['id'];
$username = $_POST['username'];
foreach ($imagesArr as $key => $image) {
//create unique image file name based on micro time and date
$now = DateTime::createFromFormat('U.u', microtime(true));
$id = rand(1000000, 10000000000);
$id2=rand(1000000, 10000000000);

$upload_folder = "upload";
$id="$id$id2";
$path = "$upload_folder/$id.jpeg";

if(file_put_contents($path, base64_decode($image)) != false){
    echo "uploaded_success";

   $sql = "UPDATE apartment SET Image_path = '$path' WHERE apart_username 
  ='$username' AND id = '$identity'";

   mysqli_query($conn, $sql);   

}
else{
    echo "uploaded_failed";
}    
}
else{
echo "images_not_in";
}
}

您需要某种循环……在下面的示例中,我所做的只是创建一个名为image的变量,而不是创建一个名为$imagesar的数组。我在imagesArr上添加了一个foreach循环,因此它将运行您为输入到该数组中的每个图像编写的代码。我也在最后关闭了出口,因为这将停止循环。这应该行得通

 <?PHP
if(isset($_POST['image']))
{
//$image = $_POST['image']; - I commented this out
$imagesArr = array('image1.jpeg','image2.jpeg','image3.jpeg'); //etc. put all of your images here into this array    
$identity = $_POST['id'];
$username = $_POST['username'];
foreach ($imagesArr as $key => $image) {
//create unique image file name based on micro time and date
$now = DateTime::createFromFormat('U.u', microtime(true));
$id = rand(1000000, 10000000000);
$id2=rand(1000000, 10000000000);

$upload_folder = "upload";
$id="$id$id2";
$path = "$upload_folder/$id.jpeg";

if(file_put_contents($path, base64_decode($image)) != false){
    echo "uploaded_success";

   $sql = "UPDATE apartment SET Image_path = '$path' WHERE apart_username 
  ='$username' AND id = '$identity'";

   mysqli_query($conn, $sql);   

}
else{
    echo "uploaded_failed";
}    
}
else{
echo "images_not_in";
}
}

表示了解的语句。即使是这样也不安全!我知道准备好的声明。我将此代码用于个人试用。我卡住了。如果可以,请提供帮助。如果您第一次没有时间做正确的事情,您将在什么时候找到时间添加它?我讨厌人们说“我没走那么远…”或“这个网站不会公开…”或“它只供学校使用,所以安全不重要…”。如果老师和教授从一开始就不谈论安全问题,那他们就是做错了。挑战他们。他们正在教授草率而危险的编码实践,学生们以后将不得不放弃这些实践。我也讨厌人们说“我以后再添加安全性…”或“安全性现在不重要…”或“忽略安全风险…”。表示了解的语句。即使是这样也不安全!我知道准备好的声明。我将此代码用于个人试用。我卡住了。如果可以,请提供帮助。如果您第一次没有时间做正确的事情,您将在什么时候找到时间添加它?我讨厌人们说“我没走那么远…”或“这个网站不会公开…”或“它只供学校使用,所以安全不重要…”。如果老师和教授从一开始就不谈论安全问题,那他们就是做错了。挑战他们。他们正在教授草率而危险的编码实践,学生们以后将不得不放弃这些实践。我也讨厌人们说“我以后再添加安全性…”或“安全性现在不重要…”或“忽略安全风险…”。这些图像来自Android,我想将它们的所有路径插入数据库中的一行中。如何构建数据库完全取决于你(我个人会将每个图像设为自己的一行)…你仍然需要一个foreach循环来制作图像,但是如果你想的话,你可以把它们都放在一行中…你被卡在了哪一部分?将图像发布到阵列?图像来自Android,我想将它们的所有路径插入数据库中的一行。如何构建数据库完全取决于您(我个人会将每个图像设置为自己的行)…您仍然需要foreach循环来生成图像,但是如果你想的话,你可以把它们都放在一排……你被卡在哪一部分?是否将图像发布到阵列?