php - 完成后如何从 uploadify 获取上传的文件详细信息

标签 php uploadify

上传过程完成后,我应该如何从 uploadify 检索上传的文件详细信息。

我想对上传的文件进行处理。 但是当我使用 uploadify 时,它只是通过我自定义的 uploadify.php 将文件上传到某个位置。 我希望此上传过程在完成文件详细信息(例如文件名)和目标位置后重定向到一个页面,我将在其中对上传的文件进行第二次操作

更新

这就是我现在的代码

<style type="text/css">
body {
    font: 0.8em/1.6em Arial, Helvetica, sans-serif;
}
fieldset {
    width: 500px;
}

#sample {
    display:table;
}
#sampleFile {
    float: left;
    display:table-cell;
    margin-right: 15px;
}
#download {
    margin-top: 15px;
    display: table;
}
.dlImage {
    display: table-cell;
    float: left;
    margin-right: 10px;
}
.dlText {
    float: left;
    display: table-cell;
}
.fileDetails {
    color: red;
}
.releaseDate{
    margin-top: -3px;
    color: gray;
}
</style>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Uploadify scriptData Sample</title>

<link rel="stylesheet" href="uploadify/uploadify.css" type="text/css" />

<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/jquery.uploadify.js"></script>

<script type="text/javascript">

$(document).ready(function() {
    $("#fileUpload").fileUpload({
        'uploader': 'uploadify/uploader.swf',
        'cancelImg': 'uploadify/cancel.png',
        'script': 'uploadify/upload.php',
        'folder': 'files',
        'multi': false,
        'displayData': 'speed',
        'onComplete'  : function(event, queueID, fileObj, reponse, data) {    
            location.href="complete.php"; 
        }
    });


});

</script>
</head>

<body>






<div id="sample">
<div id="sampleFile">

 <fieldset style="border: 1px solid #CDCDCD; padding: 8px; padding-bottom:0px; margin: 8px 0">
        <legend><strong>Sélectionner l'image à imprimer :</strong></legend>


        <div id="fileUpload">You have a problem with your javascript</div>
        <a href="javascript:$('#fileUpload').fileUploadStart()">Start Upload</a>        <p></p>
 </fieldset>
</div>
</body>
</html>

在第二页上我确实想回显上传的文件名 我在第二页有complete.php

<?php
print_r($_FILES);

echo $_FILES['type'];
echo $_FILES['tmp_name'];
echo $_FILES['name'];
echo $_FILES['size'];

?>

最佳答案

您知道吗,您可以在 onComplete 事件中获取 filenamefilpath,如下所示:-

onComplete: function(event, queueID, fileObj, reponse, data) 
{
    alert fileObj.name; //The name of the uploaded file
    alert fileObj.filePath; //The path on the server to the uploaded file

    location.href= "complete.php?filename="+fileObj.name+"&filepath="+fileObj.filePath; //Here you can do a javascript redirect
}

查看文档以了解更多详细信息 http://www.uploadify.com/documentation/events/oncomplete-2/

您在寻找这些值(value)观吗?如果没有请告诉我

更新

根据您的问题更新,您有 2 个选择。

在 uploadify.php 文件上传后执行“某些处理”。您可以看到uploadify插件附带的文件uploadify.php。那里有包含所有文件信息的 $_FILES['Filedata'] 数组。您可以在这里自行进行后处理(通过更好地调用函数,而不是在 uploadify 的核心代码中编写大量代码)

在 uploadify.php
$_FILES['Filedata']['name']//文件名

或者就像我说的,在 onComplete 事件中获取文件名和路径。然后像这样传递这些参数:-

 location.href= "complete.php?filename="+fileObj.name+"&filepath="+fileObj.filePath;

我觉得这样更好。您可以发送 ajax 请求来完成整个过程(文件上传+您的“某些过程”),而无需再次加载页面。 写一个$.post()使用这些参数在 onComplete 事件中请求并发布到“complete.php”

onComplete中获取默认情况下不可用的参数

您必须使用onComplete内可用的response参数 我在 uploadify 版本 2.1.0 上工作,所以我的解决方案肯定会在该版本上工作。 如果您只需要一个参数,可以在 uploadify.php 末尾回显该参数 我做了以下事情:-

在我的 uploadify.php 中进行了更改(这是在原始的 uploadify.php 中):-

move_uploaded_file($tempFile,$targetFile);
echo "1";

对此:-

move_uploaded_file($tempFile,$targetFile);
echo $tempFile;

然后在 onComplete 事件中发生了爆炸 -

var tmpName = reponse;

但是,如果您想在 onComplete 中获取多个参数,这是我可以提供的一个技巧(这不是一个好方法,但我无法通过任何方法返回多个参数其他方式 - 我尝试返回 json 数组等):-

move_uploaded_file($tempFile,$targetFile);
echo $param1.'%%__%%'.$param2;

然后在 onComplete 事件中发生了爆炸 -

var paramsArray = explode('%%__%%',reponse);
param1 = paramsArray[0]; 
param2 = paramsArray[1]; 

关于php - 完成后如何从 uploadify 获取上传的文件详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4386554/

相关文章:

php - 登录后不重定向到下一页

php - iTunes 艺术作品数据为 html 图像

javascript - 如何通过单击文本显示文件浏览器并在悬停文本时将鼠标光标更改为指针

javascript - uploadify 中出现未知错误

javascript - 子域和 Uploadify 不起作用

php - 检查数组是否不为空

javascript - PHP防止同一页面上多个表单重新提交

php - 联系表 : Why won't this form validate?

java - Uploadify 插件不调用 Java Servlet

c# - 在 .net 中没有 flash 的情况下,uploadify flash 按钮在浏览器中不起作用