首页 >后端开发 >php教程 >关于uploadify上传插件获取文件名问题

关于uploadify上传插件获取文件名问题

WBOY
WBOY原创
2016-06-23 14:22:511059浏览

uploadify上传插件获取文件名

问题发标题,希望各位指点一下;

我现在的程序上传完图片后是可以在页面显示的,但当我按“提交“按钮时怎样才能获取文件名存入数据,
程序代码如下

test.php 文件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><script type="text/javascript" src="../plug-in/uploadify/jquery.min.js"></script><script type="text/javascript" src="../plug-in/uploadify/jquery.uploadify.min.js"></script><link  rel="stylesheet" type="text/css"  href="../plug-in/uploadify/uploadify.css" /><script type="text/javascript"><?php $timestamp = time();?>	$(function() {			$('#file_upload').uploadify({				'formData'     : {					'timestamp' : '<?php echo $timestamp;?>',					'token'     : '<?php echo md5('hx110' . $timestamp);?>',					'folder'    : '/student/upload/photo'//存储目录,上传服务器后要更改				},				'swf'      : '../plug-in/uploadify/uploadify.swf',				'uploader' : '../plug-in/uploadify/uploadify.php',				'fileTypeDesc' : 'Image Files',        		'fileTypeExts' : '*.gif; *.jpg; *.png',				 'height'        : 25,                    'width'         : 100,				 'buttonText'     : '上传相片',				 'onUploadComplete' : function(fileObj){//显示上传成功后的图片					 $('#photo').attr("src","<?php echo $accessory = $hoem_upload."photo/".$timestamp;?>"+fileObj.name)					 //alert(fileObj.name);					 }			});		});</script></head><body><?phpif(isset($_POST['dosubm'])){	//一按提交按钮就把文本框的内容及上传的图片名字添加到数据库	$sql = "INSERT INTO `表A`(`tx1,tx2,tx3`,`相片名称`) values ('tx[1]','tx[2]','tx[3]','相片名称') ";	mysql_query($sql,$conn);}?><form method="post" enctype="multipart/form-data"><input name="tx[1]" type="text" /><br /><input name="tx[2]" type="text" /><br /><input name="tx[3]" type="text" /><br /><!--上传后图片显示--><img  id="photo" src="../member/images/default.png"    style="max-width:90%"  style="max-width:90%" / alt="关于uploadify上传插件获取文件名问题" ><!--这个是上传图片的-->	<form>    <input id="file_upload" name="file_upload" type="file" multiple="true">    </form><input  name="dosubm" type="submit" id="提交" value="提交" /></form></body></html>



uploadify.php 文件

<?php/*UploadifyCopyright (c) 2012 Reactive Apps, Ronnie GarciaReleased under the MIT License <http://www.opensource.org/licenses/mit-license.php> */// Define a destination $targetFolder = $_POST['folder']; // Relative to the root $verifyToken = md5('hx110' . $_POST['timestamp']);if (!empty($_FILES) && $_POST['token'] == $verifyToken) {	// $_FILES["Filedata"]["name"] = $_POST['timestamp'];//更改文件名	$tempFile = $_FILES['Filedata']['tmp_name'];	$targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;	#rtrim() 函数从字符串右端删除字符	$targetFile = rtrim($targetPath,'/') . '/' .$_POST['timestamp']. $_FILES['Filedata']['name'];	// Validate the file type	$fileTypes = array('jpg','jpeg','gif','png'); // File extensions	$fileParts = pathinfo($_FILES['Filedata']['name']);//pathinfo函数以数组的形式返回文件路径的信息	#in_array() 函数在数组中搜索给定的值	if (in_array($fileParts['extension'],$fileTypes)) {		//move_uploaded_file($tempFile,$targetFile);		move_uploaded_file($tempFile,iconv("UTF-8","gb2312", $targetFile));//解决中文文件名乱码或无法上传的问题		//move_uploaded_file($tempFile,mb_convert_encoding($targetFile,'gb2312','UTF-8')); //解决中文文件名乱码或无法上传的问题(用这个效率比iconv()低一点,但iconv有一个BUG比较特殊的字符无法处一理)		echo '1';	} else {		echo '无效的文件类型.';	}}?>


其它的我没有改过,都是原生态!!

希望各位指点一下,如果有更好的办法吼可以提供

回复讨论(解决方案)

这个有回调函数,你应该看看官方的例子。这里给点提示

 if (in_array($fileParts['extension'],$fileTypes)) {        //move_uploaded_file($tempFile,$targetFile);        move_uploaded_file($tempFile,iconv("UTF-8","gb2312", $targetFile));                echo "<input type=hidden name=pic value='$targetFile'>";    } 



JS 部分:
'onUploadComplete' : function(fileObj){//显示上传成功后的图片                 $("form").append(fileObj)                     }

TottyAndBaty 谢谢你的回答,英文 我不太懂啊,按你的提示操作了一下,还是不行业,打印不出那个文件名

if(isset($_POST['dosub'])){
print_r($_POST);
}

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn