zoukankan      html  css  js  c++  java
  • jquery uploadify修改上传的文件名和显示

    如果觉得看文章太麻烦,可以直接看参考:http://stackoverflow.com/questions/7707687/jquery-uploadify-change-file-name-as-it-is-being-uploaded

    贴上jquery uploadify官网地址:http://www.uploadify.com/

    哎呀,纠结了一上午,我说怎么file.name怎么都是我上传的名字,后来一查,我的天,原来是这个,data,我一直用的是file.name来显示的,才发现是用data来获取新的文件名称

    'onUploadSuccess' : function(file, data, response) {
            alert('Renamed file name is - ' + data);
        }

    我用的是thinkphp,所以修改的文件,麻烦哟,我的uploadify的文件路径是放在admin/Tpl/Index/uploadify这个路径下的,所以我的文件就变成了

    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 = 'stStone/Tpl/images/'; // Relative to the root
    
    $verifyToken = md5('unique_salt' . $_POST['timestamp']);
    
    if (!empty($_FILES) && $_POST['token'] == $verifyToken) {
        $tempFile = $_FILES['Filedata']['tmp_name'];
       //由于是要前台显示,所以用了很多个dirname()
        $targetPath =  dirname(dirname(dirname(dirname(dirname(__FILE__))))).'/Tpl/Index/images/';
    //获取文件的一些信息 $fileParts = pathinfo($_FILES['Filedata']['name']);
    //图片名称规则是 当前时间的时分秒.类型 如:20131221030820.jpg $filenames = date("YmdHis").".".$fileParts['extension'];
    //图片的完整路径咯
    $targetFile = rtrim($targetPath,'/') . '/' .$filenames; // Validate the file type $fileTypes = array('jpg','jpeg','gif','png'); // File extensions if (in_array($fileParts['extension'],$fileTypes)) { if(!file_exists($targetFile)){ move_uploaded_file($tempFile,$targetFile); chmod($targetFile,0777); }else{ unlink($targetFile); move_uploaded_file($tempFile,$targetFile); chmod($targetFile,0777); }
    //必须得返回这个图片名称哦
    echo $filenames; } else { echo 'Invalid file type.'; } } ?>

    页面调用方法:

    <?php $timestamp = strtotime(date("YmdHis")); ?>
        jQuery('#scroll_upload').uploadify({
            'multi':false,
            'formData'     : {
                    'timestamp' : '<?php echo $timestamp;?>',
                    'token'     : '<?php echo md5('unique_salt' . $timestamp);?>'
            },
            'swf':'<?php echo APP_PATH?>Tpl/Index/uploadify/uploadify.swf',
            'uploader': '<?php echo APP_PATH?>Tpl/Index/uploadify/uploadify.php',
             'buttonText':'上传图片',
             'auto': false,
             'multi': false,
            'onUploadSuccess' : function(file, data, response) {
              alert("新图片名字是"+data);
             }
        });    

    参数说明:

    #scroll_upload 是一个input type=file的按钮的id
    $timestamp 是当前时间的时间戳
    APP_PATH是当前项目的根目录,如后台使用,就是"./admin/"这样的(这里我也不是很懂啊,个人见解)
  • 相关阅读:
    小结css2与css3的区别
    javascript变量的作用域
    javascript面向对象
    小结php中几种网页跳转
    foreach
    post与get,这两人到底神马区别??
    typescript遍历Map
    dataTable.js参数
    showModal()和show()的区别
    javascript中location.protocol、location.hostname和location.port
  • 原文地址:https://www.cnblogs.com/fsong/p/3484936.html
Copyright © 2011-2022 走看看