Php 使用一个提交按钮上载多个文件/图片
我想用一个提交按钮在数据库中上传和存储多个文件/图片路径。。。。。。 这就是我在html表单中所做的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> 图标:
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代码没有执行