我想使用uploadify上传我的多张图片。
什么是方案
我想上传多张图片。我还想在数据库中输入每个上传图像的信息。在`oncomplete事件中,我想获得所有新输入的表的ID
的ID我做了什么 我的uploadify代码
$(document).ready(function() {
$('#fileid').uploadify({
'uploader' : '<?php echo SITEURL;?>/admin/uploadify/uploadify.swf',
'script' : '<?php echo SITEURL;?>/admin/action_files/area_pics_upload.php',
'cancelImg' : '<?php echo SITEURL;?>/admin/uploadify/cancel.png',
//'folder' : '<?php echo SITEURL;?>/admin/uploadify/uploads',
'auto': 'true',
'fileExt' : '*.jpeg;*.jpg;*.gif;*.png',
'fileDesc' : 'Image Files (*.JPEG,*.JPG, *.GIF, *.PNG)',
'multi' : true,
'onAllComplete': function(event, data)
{ alert(data); }
});
});
area_upload_pics.php中的代码
if (!empty($_FILES))
{
$allowedExtensions = array("jpeg","jpg","gif","png");
for($i=0;$i<count($_FILES);$i++)
{
if(in_array(end(explode(".",strtolower($_FILES['fileid'][$i]['name']))),$allowedExtensions))
{
$file = time().'-'.$_FILES["fileid"][$i]['name'];
if(move_uploaded_file($_FILES["fileid"][$i]["tmp_name"],'../../uploaded_files/area_pics/'.$file)
{
//save file info in database
$q = "INSERT INTO ".DB_PREFIX."_files (file) values (".$file.")";
mysql_query($q);
$images_ids[]=mysql_insert_id();
}
}
}
}
echo(json_encde($images_ids);
我的问题
图片未上传。我已经检查了好的路径。我究竟做错了什么。
答案 0 :(得分:0)
我对uploadify有错误的概念。我认为上传资源(上传文件)只需要一次,所以我们必须将$_FILES
作为数组。
但是,在您选择要上传的文件时,uploadify会多次点击上传脚本。例如,您已选择要上载的6个文件。 Uploadify会在uploadify的script
属性中显示6次上传脚本。因此,您无需使用for loop
并遍历$_FILES
。只需使用用于单个文件上载的脚本。
这是针对那些有同样问题的人。 : - )