uploadify上传插件获取文件名
问题发标题,希望各位指点一下;<!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>
<?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'>"; }
'onUploadComplete' : function(fileObj){//显示上传成功后的图片 $("form").append(fileObj) }
TottyAndBaty 谢谢你的回答,英文 我不太懂啊,按你的提示操作了一下,还是不行业,打印不出那个文件名
if(isset($_POST['dosub'])){
print_r($_POST);
}