问题发标题,希望各位指点一下;我现在的程序上传完图片后是可以在页面显示的,但当我按“提交“按钮时怎样才能获取文件名存入数据,
程序代码如下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>
<?php
if(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" width="148" height="160" />
<!--这个是上传图片的-->
<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
/*
Uploadify
Copyright (c) 2012 Reactive Apps, Ronnie Garcia
Released 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 '无效的文件类型.';
}
}
?>
其它的我没有改过,都是原生态!!希望各位指点一下,如果有更好的办法吼可以提供uploadify上传插件获取文件名

解决方案 »

  1.   

    这个有回调函数,你应该看看官方的例子。这里给点提示
     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)
                         }
      

  2.   

    TottyAndBaty 谢谢你的回答,英文 我不太懂啊,按你的提示操作了一下,还是不行业,打印不出那个文件名if(isset($_POST['dosub'])){
    print_r($_POST);
    }