Intereting Posts
Существует ли переменная во всех функциях класса? Запуск командного файла из планировщика задач Windows, но скрытого или сведенного к минимуму Вывод скрипта после команды тайм-аута Извлечение значений из многомерного массива, где ключи динамически генерируются Установка php-soap с yum и грушей не работает Роллинг вашей собственной вики-страницы (Wiki внутри БД) Доступ к дочернему объекту из родительской области Получить URL-адрес изображения из параметра twit api entity php Самый быстрый способ извлечь определенный кадр из видео (PHP / ffmpeg / anything) Предоставление PHP5 не удалось открыть поток: ошибка запроса HTTP-запроса при использовании fopen Как заполнить jquery datatable с помощью обработки на стороне сервера (PHP)? PHP if-statement игнорируется, когда заголовок (Location: xxx) находится внутри Получение первого дня месяца определенного месяца / года Рекурсивное слияние php Разделить строку на переменные PHP

uploadify – переименовать загруженный файл

Hy, я смотрел на uploadify.php и ничего не понял.

У меня есть такая форма:

<form id="formid" name="upload_pic" action="upload.php"> <select name="product_id"> <option value="1">Apples</option> <option value="2">Oranges</option> ... etc </select> <input id="file_upload" name="file_upload" /> </form> 

и мои настройки загрузки:

 <script type="text/javascript"> $(document).ready(function() { $('#file_upload').uploadify({ 'uploader' : 'uploadify/uploadify.swf', 'script' : 'uploadify/uploadify.php', 'cancelImg' : 'uploadify/cancel.png', 'folder' : '../images/level3/tabv_all/tab_header/', 'auto' : false, 'multi' : true, 'fileExt' : '*.jpg', 'fileDesc' : 'ONLY JPG (.JPG)', 'removeCompleted' : false }); }); </script> 

Что я хочу сделать, так это то, что если пользователь выбирает Apples есть id=1 и browse for a file like Tasty_apples.jpg -> загруженный файл, который будет переименовываться в product@1@Tasty_apples.jpg а затем вставляться в mysql как это?

Главный вопрос заключается в том, как добавить дополнительный product@id@ в файл на основе значения <select><option> value ?

большое спасибо

Файл uploadify.php:

 if (!empty($_FILES)) { $tempFile = $_FILES['Filedata']['tmp_name']; $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/'; $targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name']; move_uploaded_file($tempFile,$targetFile); echo str_replace($_SERVER['DOCUMENT_ROOT'],'',$targetFile); } 

Вы можете отправить дополнительные данные на ваш внутренний скрипт с помощью опции scriptData:

http://www.uploadify.com/documentation/options/scriptdata/

пример

 var selectedID = $("select[name=product_id]").val() 'scriptData' : {'pid': selectedID} // uplodify.php $targetFile = str_replace('//','/',$targetPath) . 'product@' . $_POST['pid'] . '@' . $_FILES['Filedata']['name']; 

Я думаю, я решил это … попробуйте это в файле upload.php

 if (!empty($_FILES)) { $tempFile = $_FILES['Filedata']['tmp_name']; $newName = $_FILES['Filedata']['name']; $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_GET['folder']; if(file_exists($targetPath."/".$newName)) { //echo "test";exit; $part=explode("." , $newName); $name1=$part[0]; $ext=$part[1]; $newName=$name1."_".rand().".".$ext; } $Path = $targetPath . '/'; $targetFile = str_replace('//','/',$Path) . $newName; move_uploaded_file($tempFile,$targetFile); 

}

было бы хорошо, если бы вы могли предоставить ваш фактический файл «uploadify.php», чтобы помочь с фактическим PHP. Но в качестве примера того, как вы собираетесь менять имя, было бы чем-то вроде этого:

 $tmp_name = @$_FILES['Filedata']['tmp_name']; $name = @$_FILES['Filedata']['name']; $filesize = @$_FILES['Filedata']['size']; $extension = strtolower(pathinfo($name,PATHINFO_EXTENSION)); $newname = 'apples&'.$name . "." . $extension ; 

Это просто пример, если бы у меня был ваш код, я мог бы указать его лучше; но надеюсь, что это понятно!

 //your categories array, example $cats = array(1=>'apples',2=>'oranges'); if (!empty($_FILES)) { $tempFile = $_FILES['Filedata']['tmp_name']; $targetPath = $_SERVER['DOCUMENT_ROOT'] .'/'. trim($_REQUEST['folder'], '/') . '/'; $name = pathinfo($_FILES['Filedata']['name'], PATHINFO_FILENAME); $extension = strtolower(pathinfo($_FILES['Filedata']['name'], PATHINFO_EXTENSION)); $newname = (isset($cats[$_REQUEST["product_id"]]) ? $cats[$_REQUEST["product_id"]] : 'category_not_exist' ).'@'. (int)$_REQUEST["product_id"].'@'. $name '.' . $extension; $targetFile = str_replace('//','/',$targetPath) . $newname; move_uploaded_file($tempFile, $targetFile); echo str_replace($_SERVER['DOCUMENT_ROOT'],'',$targetFile); }