Heim > Backend-Entwicklung > PHP-Tutorial > 关于uploadify上传插件获取文件名问题

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

WBOY
Freigeben: 2016-06-23 14:22:51
Original
1067 Leute haben es durchsucht

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>
Nach dem Login kopieren



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 '无效的文件类型.';	}}?>
Nach dem Login kopieren


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

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


回复讨论(解决方案)

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

 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'>";    } 
Nach dem Login kopieren



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

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

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

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage