PHP:如何处理上传2个文件和输出

PHP:如何处理上传2个文件和输出,php,image-uploading,Php,Image Uploading,你好 我将首先说,我才刚刚开始学习PHP,所以请对我放松 基本上,我有一个表单,允许用户上传2张图片(同时填写其他字段)。提交时,表单调用一个PHP文件(下面的代码),该文件基本上将细节添加到数据库中,并将图像上传到文件服务器。这对于我正在努力实现的目标来说很好。我遇到的问题是确认信息 因为我有两个单独的上传字段,所以我基本上有两个if语句来确认两个文件已经正确上传。我想简化一下,所以我只需要显示一条确认消息 关于如何简化这一点,有什么想法吗?我认为代码将查看两个文件是否都已成功上载,如果是,则

你好

我将首先说,我才刚刚开始学习PHP,所以请对我放松

基本上,我有一个表单,允许用户上传2张图片(同时填写其他字段)。提交时,表单调用一个PHP文件(下面的代码),该文件基本上将细节添加到数据库中,并将图像上传到文件服务器。这对于我正在努力实现的目标来说很好。我遇到的问题是确认信息

因为我有两个单独的上传字段,所以我基本上有两个if语句来确认两个文件已经正确上传。我想简化一下,所以我只需要显示一条确认消息

关于如何简化这一点,有什么想法吗?我认为代码将查看两个文件是否都已成功上载,如果是,则返回“x”,否则返回“y”。我不太熟悉move_uploaded_file功能,所以我不确定是否可以在那里使用用户和语句。。。任何想法都将不胜感激

//This is the directory where images will be saved
$target = "path/";
$target = $target . basename($_FILES[controlcreative][name]);
$target2 = "path/";
$target2 = $target2 . basename($_FILES[winnercreative][name]);

$pic=($_FILES['controlcreative']['name']);
$pic2=($_FILES['winnercreative']['name']);

$con=mysqli_connect();
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$sql="INSERT INTO experiments (vertical, pagetype, pagename, primarykpitype, primarykpilift, primarysignificant, testobjective, takeawayone, optimizationtype, controlcreative, winnercreative)
VALUES
('$_POST[vertical]','$_POST[pagetype]','$_POST[pagename]','$_POST[primarykpitype]','$_POST[primarykpilift]','$_POST[primarysignificant]','$_POST[testobjective]','$_POST[takeawayone]','$_POST[optimizationtype]','$pic','$pic2')";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
echo "1 record added";


//Writes the photo to the server
if(move_uploaded_file($_FILES[controlcreative][tmp_name], $target))
{

//Tells you if its all ok
echo "The file ". basename($_FILES[controlcreative][name]). " has been uploaded, and your information has been added to the directory";
}
else {

//Gives and error if its not
echo "Sorry, there was a problem uploading your file.";
}

//Writes the photo to the server
if(move_uploaded_file($_FILES[winnercreative][tmp_name], $target2))
{

//Tells you if its all ok
echo "The file ". basename($_FILES[winnercreative][name]). " has been uploaded, and your information has been added to the directory";
}
else {

//Gives and error if its not
echo "Sorry, there was a problem uploading your file.";
}


mysqli_close($con);

我将遍历
$\u文件
,这可能会为您保存一些代码并设置一个错误标志

$error = false;
foreach($_FILES as $name => $file)
{
    $target = '/path/to/destination/' . $file['name'];
    if(!move_uploaded_file($file['tmp_name'], $target)) $error = true;
}
然后


事实上,我已经找到了答案……不过谢谢你的帮助<代码>如果((移动上传的文件($文件[controlcreative][tmp\U名称],$target))&移动上传的文件($文件[winnercreative][tmp\U名称],$target2))
if(!$error) echo 'All files uploaded';