Php 我想上传多个文件,然后输入它们的标题,然后单击submit将其存储在数据库中
需要帮助创建表单,以便使用动态添加的多个文本输入框进行多次上载吗 用于将文件上载到服务器Php 我想上传多个文件,然后输入它们的标题,然后单击submit将其存储在数据库中,php,multiple-file-upload,Php,Multiple File Upload,需要帮助创建表单,以便使用动态添加的多个文本输入框进行多次上载吗 用于将文件上载到服务器 if(isset($_POST['submit'])) { $count=count($_FILES['files']['name']); for($i=0;$i<$count;$i++) { $allowed = array("mp3" => "audio/mp3","wav" => "audio/wav"
if(isset($_POST['submit']))
{
$count=count($_FILES['files']['name']);
for($i=0;$i<$count;$i++)
{
$allowed = array("mp3" => "audio/mp3","wav" => "audio/wav");
$cat_type = $_POST['cat_type'];
$title = $_POST['title'][$i];
$filename= $_FILES['files']['name'][$i];
$tempfilename= $_FILES['files']['tmp_name'][$i];
$filetype=$_FILES['files']['type'][$i];
$filesize = $_FILES['files']['size'][$i];
// Verify file extension
$video_ext = pathinfo($filename, PATHINFO_EXTENSION);
if(!array_key_exists($video_ext, $allowed)) die("Error: Please select a valid file format.");
// Verify file size - 5MB maximum
$maxsize = 5 * 1024 * 1024;
if($filesize > $maxsize) die("Error: File size is larger than the allowed limit.");
// Verify MYME type of the file
if(in_array($filetype, $allowed))
{
// Check whether file exists before uploading it
if(file_exists($ringtonelocation . $filename))
{
echo $filename . " is already exists.";
}
else
{
//uploading file and storing it to database as well
try
{
$cat_type = $_POST['cat_type'];
$cat_alias = strtolower(preg_replace('/\s+/', '', $cat_type));
$highest_id += 1;
$uploaddate= date("d-m-Y_h-i-sa");
// Rename file
$newvideofilename = strtolower(str_replace(" ", "_",$title)). "_" .$highest_id. "_" .$uploaddate .".".$video_ext;
move_uploaded_file($_FILES['files']['tmp_name'][$i],$videolocation.$newvideofilename);
// $filepath="upload/".$filename;
// echo "<br/> Category:-".$cat_type;
// echo "<br/> Title:-".$title;
// echo "<br/> File Name:-".$filename;
// echo "<br/> Record Insert successfully";
// echo "<br/>";
// $sql = "INSERT INTO video_master (id, name , url) VALUES (NULL,'$title','$filepath')";
$sql = "INSERT INTO ringtone_master
(id, name ,cat_type, cat_alias, url, downloads, views, fav_counter, likes, dislikes)
VALUES
(NULL,'$title','$cat_type','$cat_alias','$newvideofilename',0,0,0,0,0)";
if(mysqli_query($con,$sql))
{
echo "<br/> Record Insert successfully";
}
else
{
echo "Error: " . $sql . "<br>" . mysqli_error($con);
}
}
catch(Exception $e)
{
$response['error'] = true;
$response['message'] = 'Could not upload file1....';
}
}
}
}
}
if(isset($\u POST['submit']))
{
$count=count($_文件['FILES']['name']);
对于($i=0;$i“音频/mp3”,“wav”=>“音频/wav”);
$cat_type=$_POST['cat_type'];
$title=$_POST['title'][$i];
$filename=$_文件['FILES']['name'][$i];
$tempfilename=$\u文件['FILES']['tmp\u name'][$i];
$filetype=$_文件['FILES']['type'][$i];
$filesize=$_文件['FILES']['size'][$i];
//验证文件扩展名
$video\u ext=pathinfo($filename,pathinfo\u扩展名);
如果(!array_key_存在($video_ext,$allowed))死亡(“错误:请选择有效的文件格式”);
//验证文件大小-最大5MB
$maxsize=5*1024*1024;
如果($filesize>$maxsize)死亡(“错误:文件大小大于允许的限制”);
//验证文件的MYME类型
if(在数组中($filetype,$allowed))
{
//上传文件前检查文件是否存在
如果(文件_存在($ringtonelocation.$filename))
{
echo$filename。“已存在。”;
}
其他的
{
//上传文件并将其存储到数据库
尝试
{
$cat_type=$_POST['cat_type'];
$cat_alias=strtolower(preg_replace('/\s+/','$cat_type));
$highest_id+=1;
$uploaddate=日期(“d-m-Y_h-i-sa”);
//重命名文件
$newvideofilename=strtolower(str_replace(“,“,”,$title)).“,$highest_id.”.“,$uploaddate.”.“$video_ext;
移动上传的文件($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\$i],$videolocation.$newvideofilename);
//$filepath=“upload/”$filename;
//回声“
类别:-”$cat_类型;
//echo“
Title:-”$Title;
//echo“
文件名:-”$filename;
//回显“
记录插入成功”;
//回声“
”;
//$sql=“插入到视频_主控(id、名称、url)值中(NULL、$title、$filepath”)”;
$sql=“插入铃声\u主机”
(id、名称、类别、类别别名、url、下载、视图、fav_计数器、喜欢和不喜欢)
价值观
(空,“$title”、“$cat_type”、“$cat_alias”、“$newvideofilename”、0,0,0,0)”;
if(mysqli_查询($con,$sql))
{
回显“
记录插入成功”;
}
其他的
{
echo“Error:”.$sql.
“.mysqli_Error($con);
}
}
捕获(例外$e)
{
$response['error']=true;
$response['message']=“无法上载文件1…”;
}
}
}
}
}
在浏览器中临时存储文件
<script>
var selDiv = "";
var storedFiles = [];
$(document).ready(function() {
$("#files").on("change", handleFileSelect);
selDiv = $("#selectedFiles");
$("#myForm").on("submit", handleForm);
$("body").on("click", ".selFile", removeFile);
});
function handleFileSelect(e) {
var files = e.target.files;
var filesArr = Array.prototype.slice.call(files);
filesArr.forEach(function(f) {
if(!f.type.match("audio.mp3")) {
return;
}
storedFiles.push(f);
var reader = new FileReader();
reader.onload = function (e) {
// var html = "<div><img src=\"" + e.target.result + "\" data-file='"+f.name+"' class='selFile' title='Click to remove'>" + f.name + "<br clear=\"left\"/></div>";
var html = "<div><input type='text' name='title[] required'>"+ f.name + "</div>";
selDiv.append(html);
}
reader.readAsDataURL(f);
});
}
</script>
var selDiv=“”;
var-storedFiles=[];
$(文档).ready(函数(){
$(“#文件”)。在(“更改”,handleFileSelect);
selDiv=$(“#selectedFiles”);
美元(“#我的表格”)。关于(“提交”,手册);
$(“正文”)。在(“单击“,.selFile”,删除文件);
});
功能手柄文件选择(e){
var files=e.target.files;
var filesArr=Array.prototype.slice.call(文件);
forEach(函数(f){
如果(!f.type.match(“audio.mp3”)){
返回;
}
存储文件。推送(f);
var reader=new FileReader();
reader.onload=函数(e){
//var html=”“+f.name+”
;
var html=“”+f.name+”;
selDiv.append(html);
}
reader.readAsDataURL(f);
});
}
Html部分
选择要上载的视频:
当我选择多个文件时,它会根据上传的文件生成输入字段的数量,但问题是输入字段和文件的顺序不同
因此,请帮助解决这个问题,谢谢好的,退一步,我注意到我没有提到很多事情,为了纠正它,我使用了一个不同于我建议的实现,下面的方法对我有效 将您的手柄文件选择更改为以下内容:
function handleFileSelect(e) {
var files = e.target.files;
var filesArr = Array.prototype.slice.call(files);
filesArr.forEach(function(f,index) {
if(!f.type.match("audio.mp3")) {
return;
}
storedFiles.push(f);
var reader = new FileReader();
reader.onload = function (e) {
// var html = "<div><img src=\"" + e.target.result + "\" data-file='"+f.name+"' class='selFile' title='Click to remove'>" + f.name + "<br clear=\"left\"/></div>";
var html = "<div><input type='text' name='title["+index+"] required'>"+ f.name + "</div>";
selDiv.append(html);
}
reader.readAsDataURL(f);
});
}
if(isset($_POST['submit']))
{
$count=count($_FILES['files']['name']);
for($i=0;$i<$count;$i++)
{
$allowed = array("mp3" => "audio/mp3","wav" => "audio/wav");
$cat_type = $_POST['cat_type'];
$title = $_POST['title'][$i];
$filename= $_FILES['files']['name'][$i];
$tempfilename= $_FILES['files']['tmp_name'][$i];
$filetype=$_FILES['files']['type'][$i];
$filesize = $_FILES['files']['size'][$i];
// Verify file extension
$video_ext = pathinfo($filename, PATHINFO_EXTENSION);
if(!array_key_exists($video_ext, $allowed)) die("Error: Please select a valid file format.");
// Verify file size - 5MB maximum
$maxsize = 5 * 1024 * 1024;
if($filesize > $maxsize) die("Error: File size is larger than the allowed limit.");
// Verify MYME type of the file
if(in_array($filetype, $allowed))
{
// Check whether file exists before uploading it
if(file_exists($ringtonelocation . $filename))
{
echo $filename . " is already exists.";
}
else
{
//uploading file and storing it to database as well
try
{
$cat_type = $_POST['cat_type'];
$cat_alias = strtolower(preg_replace('/\s+/', '', $cat_type));
$highest_id += 1;
$uploaddate= date("d-m-Y_h-i-sa");
// Rename file
$newvideofilename = strtolower(str_replace(" ", "_",$title)). "_" .$highest_id. "_" .$uploaddate .".".$video_ext;
move_uploaded_file($_FILES['files']['tmp_name'][$i],$videolocation.$newvideofilename);
// $filepath="upload/".$filename;
// echo "<br/> Category:-".$cat_type;
// echo "<br/> Title:-".$title;
// echo "<br/> File Name:-".$filename;
// echo "<br/> Record Insert successfully";
// echo "<br/>";
// $sql = "INSERT INTO video_master (id, name , url) VALUES (NULL,'$title','$filepath')";
$sql = "INSERT INTO ringtone_master
(id, name ,cat_type, cat_alias, url, downloads, views, fav_counter, likes, dislikes)
VALUES
(NULL,'$title','$cat_type','$cat_alias','$newvideofilename',0,0,0,0,0)";
if(mysqli_query($con,$sql))
{
echo "<br/> Record Insert successfully";
}
else
{
echo "Error: " . $sql . "<br>" . mysqli_error($con);
}
}
catch(Exception $e)
{
$response['error'] = true;
$response['message'] = 'Could not upload file1....';
}
}
}
}
}
功能手柄文件选择(e){
var files=e.target.files;
var filesArr=Array.prototype.slice.call(文件);
forEach(函数(f,索引){
如果(!f.type.match(“audio.mp3”)){
返回;
}
存储文件。推送(f);
var reader=new FileReader();
reader.onload=函数(e){
//var html=”“+f.name+”
;
var html=“”+f.name+”;
selDiv.append(html);
}
reader.readAsDataURL(f);
});
}
然后,在php代码中,您可以切换回执行以下操作:
function handleFileSelect(e) {
var files = e.target.files;
var filesArr = Array.prototype.slice.call(files);
filesArr.forEach(function(f,index) {
if(!f.type.match("audio.mp3")) {
return;
}
storedFiles.push(f);
var reader = new FileReader();
reader.onload = function (e) {
// var html = "<div><img src=\"" + e.target.result + "\" data-file='"+f.name+"' class='selFile' title='Click to remove'>" + f.name + "<br clear=\"left\"/></div>";
var html = "<div><input type='text' name='title["+index+"] required'>"+ f.name + "</div>";
selDiv.append(html);
}
reader.readAsDataURL(f);
});
}
if(isset($_POST['submit']))
{
$count=count($_FILES['files']['name']);
for($i=0;$i<$count;$i++)
{
$allowed = array("mp3" => "audio/mp3","wav" => "audio/wav");
$cat_type = $_POST['cat_type'];
$title = $_POST['title'][$i];
$filename= $_FILES['files']['name'][$i];
$tempfilename= $_FILES['files']['tmp_name'][$i];
$filetype=$_FILES['files']['type'][$i];
$filesize = $_FILES['files']['size'][$i];
// Verify file extension
$video_ext = pathinfo($filename, PATHINFO_EXTENSION);
if(!array_key_exists($video_ext, $allowed)) die("Error: Please select a valid file format.");
// Verify file size - 5MB maximum
$maxsize = 5 * 1024 * 1024;
if($filesize > $maxsize) die("Error: File size is larger than the allowed limit.");
// Verify MYME type of the file
if(in_array($filetype, $allowed))
{
// Check whether file exists before uploading it
if(file_exists($ringtonelocation . $filename))
{
echo $filename . " is already exists.";
}
else
{
//uploading file and storing it to database as well
try
{
$cat_type = $_POST['cat_type'];
$cat_alias = strtolower(preg_replace('/\s+/', '', $cat_type));
$highest_id += 1;
$uploaddate= date("d-m-Y_h-i-sa");
// Rename file
$newvideofilename = strtolower(str_replace(" ", "_",$title)). "_" .$highest_id. "_" .$uploaddate .".".$video_ext;
move_uploaded_file($_FILES['files']['tmp_name'][$i],$videolocation.$newvideofilename);
// $filepath="upload/".$filename;
// echo "<br/> Category:-".$cat_type;
// echo "<br/> Title:-".$title;
// echo "<br/> File Name:-".$filename;
// echo "<br/> Record Insert successfully";
// echo "<br/>";
// $sql = "INSERT INTO video_master (id, name , url) VALUES (NULL,'$title','$filepath')";
$sql = "INSERT INTO ringtone_master
(id, name ,cat_type, cat_alias, url, downloads, views, fav_counter, likes, dislikes)
VALUES
(NULL,'$title','$cat_type','$cat_alias','$newvideofilename',0,0,0,0,0)";
if(mysqli_query($con,$sql))
{
echo "<br/> Record Insert successfully";
}
else
{
echo "Error: " . $sql . "<br>" . mysqli_error($con);
}
}
catch(Exception $e)
{
$response['error'] = true;
$response['message'] = 'Could not upload file1....';
}
}
}
}
}
if(isset($\u POST['submit']))
{
$count=count($_文件['FILES']['name']);
对于($i=0;$i“音频/mp3”,“wav”=>“音频/wav”);
$cat_type=$_POST['cat_type'];
$title=$_POST['title'][$i];
$filename=$_文件['FILES']['name'][$i];
$tempfilename=$\u文件['FILES'