Как получить загруженные данные о файле после загрузки после завершения процесса загрузки.
Я хочу сделать процесс в загруженном файле. Но когда я использую uploadify, он просто загружает файл в папку через uploadify.php, который я настроил. Я хочу, чтобы этот процесс uploadify перенаправлялся на страницу после завершения с подробностями файла, такого как имя файла и целевое местоположение, где я продолжу свою вторую операцию в загруженном файле
Обновления
Это мой код на данный момент
<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']; ?>
Знаете ли вы, что вы можете получить filename
, filpath
внутри события onComplete
следующим образом:
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/
Вы ищете эти ценности? Если не дайте мне знать
Обновления
По мере обновления вашего вопроса у вас есть 2 варианта.
Либо сделать «некоторый процесс» после загрузки файла в файл uploadify.php. Вы можете увидеть файл uploadify.php
который поставляется с плагином uploadify. Там у вас есть $_FILES['Filedata']
содержащий всю информацию о файле. Вы можете сделать эту посылку здесь самостоятельно (вызывая функцию лучше, а не записывая много кода в код ядра uploadify)
в uploadify.php
$ _FILES ['Filedata'] ['name'] // имя файла
Или, как я уже сказал, получить имя файла и путь внутри события onComplete
. Затем выполните следующие параметры:
location.href= "complete.php?filename="+fileObj.name+"&filepath="+fileObj.filePath;
Думаю, это лучше. Вы можете отправить запрос ajax вместо этого, чтобы выполнить весь процесс (загрузка файла + ваш «некоторый процесс»), не загружая страницу снова. Напишите запрос $ .post () внутри события onComplete
с этими параметрами и onComplete
сообщение в "complete.php"
Получение параметров внутри onComplete
которые по умолчанию недоступны
Вы должны использовать параметр response
доступный внутри onComplete
я работал над загрузкой версии 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];
вы можете получить все детали загруженного файла, нажав ниже строки;
print_r($_FIELS);
ИЛИ вы можете echo
все поля файлов с расширением.
echo $_FIELS['type']; echo $_FIELS['tmp_name']; echo $_FIELS['name']; echo $_FIELS['size'];
Если бы я понял тебя, что ты хочешь сказать. но, пожалуйста, сделайте комментарий, если вы ищете что-нибудь еще.
Благодарю.