Сообщение от Sleeve
|
Как через uploadifive передать файл, который формируется на странице пользователем и обратно получить ссылку на него?
|
вот кусок из функции:
$('#file_upload').uploadify({
'formData' : {
'method' : 'post',
'dataType': "text",
'timestamp' : '<?php echo $timestamp;?>',
'token' : '<?php echo md5('unique_salt' . $timestamp);?>' },
'auto' : false,
'swf' : 'uploadify.swf',
'uploader' : 'uploadify.php',
// .....
'onUploadComplete' : function(data) {
/// здесь получить из 'uploadify.php'
}
});
в файле uploadify.php все операции по загрузке файла и прочее...
результат вернуть из него html data ..
ну или к примеру, вот часть кода из него:
$targetFolder = '/files/'; // каталог назначения загруженных файлов
$verifyToken = md5('unique_salt' . $_POST['timestamp']);
if (!empty($_FILES) && $_POST['token'] == $verifyToken) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
// проверка типа файла
$fileTypes = array('jpg','jpeg','docx','doc','xlsx','xls','pdf','ppsx','pptx','ppt','zip','7z','rar','avi','mpg','mpeg','exe','msi'); // разрешенные расширения
$fileParts = pathinfo($_FILES['Filedata']['name']);
$file_ext = $fileParts['extension'] ; //расширение загружаемого файла
$filename = md5(microtime()); //генерация нового имени
$new_file = $filename.'.'.$file_ext;
$targetFile = rtrim($targetPath,'/') . '/' . $new_file; //переименованный файл подготовлен
if (in_array($fileParts['extension'],$fileTypes)) {
move_uploaded_file($tempFile,$targetFile); // если тип файла разрешен - заливаем
echo '1'; // ключ выполненной операции
$endurl='http://'.$_SERVER['SERVER_NAME'].$targetFolder.$new_file; //сформировал URL загруженного файла для браузера
}