Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.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 使用一个提交按钮上载多个文件/图片_Php_Html - Fatal编程技术网

Php 使用一个提交按钮上载多个文件/图片

Php 使用一个提交按钮上载多个文件/图片,php,html,Php,Html,我想用一个提交按钮在数据库中上传和存储多个文件/图片路径。。。。。。 这就是我在html表单中所做的 Icon: <br> <br> <input type="file" name="uploadedfile" > <br> <br> Screenshot: <br> <br> <input type="file" name ="fileToUpload"> <br> 图标:

我想用一个提交按钮在数据库中上传和存储多个文件/图片路径。。。。。。 这就是我在html表单中所做的

Icon:
<br>
<br>
<input type="file"     name="uploadedfile" >
<br>
<br>
Screenshot:
<br>
<br>
<input type="file"  name ="fileToUpload"> 
<br>
图标:




截图:


这是我的php代码

<?php 

if (isset($_POST['submit'])){
$target_dir= "images/";
$target_file= $target_dir.basename($_FILES['uploadedfile']['name']);
$tmp=$_FILES['uploadedfile']['tmp_name'];
if (move_uploaded_file($tmp,$target_file) ){

    echo "uploaded successfully";

}
else {
    echo "not uploaded successfully";
}

$targets_dir= "images/";
$targets_file= $targets_dir.basename($_FILES['fileToUpload']['name']);
$tmps=$_FILES['fileToUpload']['tmp_name'];

if (move_uploaded_file($tmps,$targets_file) ){

    echo "uploaded successfully";

}
else {
    echo "not uploaded successfully";
}

$insert=" insert into app values  (DEFAULT,'$Title', '$target_file' , '$targets_file'  )";

}
您可以从单个
输入元素执行操作

对于您的情况,您可以将两个
输入
元素的
名称
重命名为类似于
文件[]
。数组(
[]
)很重要,它表明
文件实际上是多个文件的数组

在服务器端,可以访问第一个文件名(您的图标),如
$\u FILES['file']['name'][0]
,也可以访问第二个文件名(屏幕截图),如
$\u FILES['userfile']['name'][1]

您可以查看。

中的更多选项。您可以从单个
输入元素查看

对于您的情况,您可以将两个
输入
元素的
名称
重命名为类似于
文件[]
。数组(
[]
)很重要,它表明
文件实际上是多个文件的数组

在服务器端,可以访问第一个文件名(您的图标),如
$\u FILES['file']['name'][0]
,也可以访问第二个文件名(屏幕截图),如
$\u FILES['userfile']['name'][1]


您可以查看中的更多选项。

使用此代码,您只需插入查询即可。休息,一切都会好的

 if ((!empty($_FILES['uploadedfile']["name"])) && (!empty($_FILES['fileToUpload']["name"])))
{

$file_name1=$_FILES['uploadedfile']["name"];
$temp_name1=$_FILES['uploadedfile']["tmp_name"];
$imagename1=date("d-m-Y")."-".time();       
$target_path1 = "images/".$imagename1;
$Rtarget_path1 = "images/".$imagename1;

$file_name2=$_FILES['fileToUpload']["name"];
$temp_name2=$_FILES['fileToUpload']["tmp_name"];
$imagename2=date("d-m-Y")."-".time();       
$target_path2 = "images/".$imagename2;
$Rtarget_path2 = "images/".$imagename2;

   if((move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $Rtarget_path1 )) && (move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $Rtarget_path2 )))
    {
        $insert=" insert into app values  (DEFAULT,'$Title', '$target_path1' , '$target_path2'  )"; // Insert Query Wrong. Also Check Here
    }
}

使用此代码,您只需插入查询。休息,一切都会好的

 if ((!empty($_FILES['uploadedfile']["name"])) && (!empty($_FILES['fileToUpload']["name"])))
{

$file_name1=$_FILES['uploadedfile']["name"];
$temp_name1=$_FILES['uploadedfile']["tmp_name"];
$imagename1=date("d-m-Y")."-".time();       
$target_path1 = "images/".$imagename1;
$Rtarget_path1 = "images/".$imagename1;

$file_name2=$_FILES['fileToUpload']["name"];
$temp_name2=$_FILES['fileToUpload']["tmp_name"];
$imagename2=date("d-m-Y")."-".time();       
$target_path2 = "images/".$imagename2;
$Rtarget_path2 = "images/".$imagename2;

   if((move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $Rtarget_path1 )) && (move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $Rtarget_path2 )))
    {
        $insert=" insert into app values  (DEFAULT,'$Title', '$target_path1' , '$target_path2'  )"; // Insert Query Wrong. Also Check Here
    }
}


在第一行写一个$\u FILES变量的转储,您可能会看到模式…而且,
$\u FILES[…]['name']
不包含路径,只包含文件名。在这里使用
basename()
实际上可能是个问题。我还建议不要只是假设上传了一些东西,而是显式地检查
$\u文件中的元素是否存在并且没有报告错误。最后一件事:您的表单是否正确设置为
enctype=“multipart/form data”
?还有一件事,当我尝试只上传1张图片时,效果很好。。。但是当我试图上传2张图片时,什么也没发生…@直到Helge在第一行写下你的$\u FILES变量的转储,也许你会看到模式…而且,
$\u FILES[…]['name']
不包含路径,只包含文件名。在这里使用
basename()
实际上可能是个问题。我还建议不要只是假设上传了一些东西,而是显式地检查
$\u文件中的元素是否存在并且没有报告错误。最后一件事:您的表单是否正确设置为
enctype=“multipart/form data”
?还有一件事,当我尝试只上传1张图片时,效果很好。。。但当我试图上传2张照片时,什么也没发生…@hilge我为什么要使用数组?意思是为什么我不能做像@Leory图标那样的事情:


屏幕截图:


如果你看一下我链接的文档,这里有一个例子正好说明了你正试图实现的目标。我为什么要使用数组?这意味着为什么我不能像@Leory图标那样做:


屏幕截图:


如果您查看我链接的文档,这里有一个您正试图完成的示例。感谢您的评论。。。。但实际上我的问题是,当我试图上传2张图片时,似乎php代码没有执行。。。。但当我试图上传一张图片时,当你试图上传一个文件中的两张图片时,一切都很顺利?您是否正在从单个输入文件@zeeshansarfrazIcon上载两幅图像:



屏幕截图:


您可以看到我正在使用两个输入……两个输入都有不同的名称@Danish Enamyess。。我看得出来。而且,我能很好地理解@zeeshansarfraz先生,请检查我编辑的答案。它不起作用@Danish Enm我认为当我试图上传2张图片时,php代码无法执行。。我不知道为什么会发生这种情况,但可以肯定的是,在提交了2张图片之后,php代码并没有被执行。感谢您的评论。。。。但实际上我的问题是,当我试图上传2张图片时,似乎php代码没有执行。。。。但当我试图上传一张图片时,当你试图上传一个文件中的两张图片时,一切都很顺利?您是否正在从单个输入文件@zeeshansarfrazIcon上载两幅图像:



屏幕截图:


您可以看到我正在使用两个输入……两个输入都有不同的名称@Danish Enamyess。。我看得出来。而且,我能很好地理解@zeeshansarfraz先生,请检查我编辑的答案。它不起作用@Danish Enm我认为当我试图上传2张图片时,php代码无法执行。。我不知道为什么会发生这种情况,但可以肯定的是,提交2张图片后,php代码没有执行