关于uploadify上传插件获取文件名问题
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 src="/static/imghw/default1.png" data-src="../member/images/default.png" class="lazy" id="photo" 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);
}

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Laravel simplifie la gestion des données de session temporaires à l'aide de ses méthodes de flash intuitives. Ceci est parfait pour afficher de brefs messages, alertes ou notifications dans votre application. Les données ne persistent que pour la demande ultérieure par défaut: $ demande-

L'extension PHP Client URL (CURL) est un outil puissant pour les développeurs, permettant une interaction transparente avec des serveurs distants et des API REST. En tirant parti de Libcurl, une bibliothèque de transfert de fichiers multi-protocol très respectée, PHP Curl facilite Efficient Execu

Alipay Php ...

Laravel fournit une syntaxe de simulation de réponse HTTP concise, simplifiant les tests d'interaction HTTP. Cette approche réduit considérablement la redondance du code tout en rendant votre simulation de test plus intuitive. L'implémentation de base fournit une variété de raccourcis de type de réponse: Utiliser illuminate \ support \ faades \ http; Http :: faux ([[ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

Voulez-vous fournir des solutions instantanées en temps réel aux problèmes les plus pressants de vos clients? Le chat en direct vous permet d'avoir des conversations en temps réel avec les clients et de résoudre leurs problèmes instantanément. Il vous permet de fournir un service plus rapide à votre personnalité

L'article traite de la liaison statique tardive (LSB) dans PHP, introduite dans PHP 5.3, permettant une résolution d'exécution de la méthode statique nécessite un héritage plus flexible. Problème main: LSB vs polymorphisme traditionnel; Applications pratiques de LSB et perfo potentiel

L'article examine l'ajout de fonctionnalités personnalisées aux cadres, en se concentrant sur la compréhension de l'architecture, l'identification des points d'extension et les meilleures pratiques pour l'intégration et le débogage.

L'article traite des fonctionnalités de sécurité essentielles dans les cadres pour se protéger contre les vulnérabilités, notamment la validation des entrées, l'authentification et les mises à jour régulières.
