Home > Backend Development > PHP Tutorial > 关于uploadify上传插件获取文件名问题

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

WBOY
Release: 2016-06-23 14:22:51
Original
1067 people have browsed it

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>
Copy after login



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 '无效的文件类型.';	}}?>
Copy after login


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

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


回复讨论(解决方案)

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

 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'>";    } 
Copy after login



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

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

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

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template