С Новым годом! Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
_ROM_

Uploadify и передача данных формы

03.07.2012, 00:09. Показов 2129. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте всем.
Давно копаю, но так и не смог найти ответа на вопрос:
как же все таки загрузить файлы и передать при этом данные формы на обработку?

Использую Uploadify Version 3.1.1.
Знаю, есть опция "formData", но с ее помощью получилось передать только статичные данные (например, 'formData': {'pole':'asdfgh'} ).

Ладно, думаю, не вышло в лоб, попробую с другой стороны.
Думал сделать по такой логике: присвоить переменной сесссии уникальный идентефикатор пользователя; в скрипте, который принимает
файлы, присвоить файлам названия типа ид-сессии_номерпопорядку.jpg а дальше делать с загруженными файлами что надо.
Но и здесь засада - сессия не передается из файла формы в скрипт получения файлов (вернее работает только в IE, а опера и ФФ стартует новую сессию).
Вероятно флеш что-то портит.

Поэтому вопрос: как сделать загрузку файлов с одновременным получением и обработкой данных формы.
Заранее благодарен.
Собственно файлы.
-------------------------
2.js
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
$(document).ready(function () {
$(function() {
        $('#file_upload').uploadify({
        'buttonText' : 'Выберите до 2-х файлов',
    'width'   : 180,
    'fileTypeDesc' : 'Только файлы jpg',
    'fileTypeExts' : '*.jpg',
    'swf'      : '../uploadify/uploadify.swf',
        'uploader' : '../1/loadfile.php',
    'cancelImg'   : '../uploadify/cancel.png',
    'multi'    : true,
    'auto'     : false,
    'method'   : 'post',
    'fileSizeLimit' : '300KB',
    'uploadLimit' : 2,
    'formData': {'pole':'asdfgh'},
/*пытался делать так, но без результата:
//'formData': {"pole":document.getElementById('pole').value},
//'formData': {"pole":$("#pole").val()},
//'formData': {"sity":''+$('#sity option:selected').attr('value')+''},
//'formData': {"sity": sity,"pole": pole},
//'formData': {'pole':"<?php echo $_SESSION['user_ses_id'];?>"},
*/
        
    'onUploadSuccess' : function(file, data, response)
    {
        $('#images').append(data);//вывод превьюшек
    },
        });
 });
 
});
----------
2.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
session_start();
error_reporting(E_ALL);
 
include_once($_SERVER['DOCUMENT_ROOT'].'/fun/functions.php');
//идентефикатор сессии пользователя (нужен для загрузки файлов на сервер при добавлении фото)
//получаем случайную строку из 20 символов
if( !isset($_SESSION['user_ses_id']) ) $_SESSION['user_ses_id']=getUniqueCode(20);
 
print_r($_SESSION);
?>
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    <title>My Uploadify Implementation</title>
<link rel="stylesheet" type="text/css" href="../uploadify/uploadify.css">
<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript" src="../js/jsonlib.js"></script>
<script type="text/javascript" src="../uploadify/jquery.uploadify-3.1.min.js"></script>
<script type="text/javascript" src="2.js"></script>
    
</head>
<body>
 
<div id="z">заголовок</div>
    
<input id="pole" type="text" name="pole" size="5" maxlength="5">
<select id="sity" name="sity" size="1">
<option>111111111</option>
<option>2222222222</option>
<option>33333333</option>
</select>
 
<br>
 
<input type="file" name="file_upload" id="file_upload" />
<!--<a href="javascript:$('#file_upload').uploadify('upload','*')">Upload Files</a>-->
<!--<input type="submit" value="Загрузить файлы" name="button" onclick="javascript:$('#file_upload').uploadify('upload','*')">-->
<!--<input type="submit" value="Загрузить файлы" name="button" id="file_upload">-->
<input type="submit" value="Загрузить файлы" name="button" onclick="javascript:$('#file_upload').uploadify('upload','*')">
<div id="otvet"></div>
<div id="images"></div>
</body>
</html>
----------
loadfile.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
session_start();
error_reporting(E_ALL);
/*идентефикатор сессии пользователя (нужен для загрузки файлов на сервер при добавлении фото)
 * почему-то не получает сессии с другой страницы и не сохраняет для других страниц
 */
if( !isset($_SESSION['user_ses_id']) )
{
    include_once($_SERVER['DOCUMENT_ROOT'].'/fun/functions.php');
    $_SESSION['user_ses_id']=getUniqueCode(20);
    echo "новый user_ses_id =".$_SESSION['user_ses_id'];
}
print_r($_SESSION);
 
$targetFolder = '/temp'; // папка для записи файлов
//просто получаем и пишем полученный файл с тем же именем в нужную папку
if (!empty($_FILES)) {
    $tempFile = $_FILES['Filedata']['tmp_name'];
    $targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
    $targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name'];
 
    
    // Validate the file type
    $fileTypes = array('jpg','jpeg','gif','png'); // File extensions
    $fileParts = pathinfo($_FILES['Filedata']['name']);
    
    if (in_array($fileParts['extension'],$fileTypes)) {
        move_uploaded_file($tempFile,$targetFile);
        
        //удаляем из абсолютного пути, нужного для поиска файлов, часть абсолютного пути,
        //оставляя только часть относительного пути, нужного для вывода картинки
        $s=str_replace($_SERVER['DOCUMENT_ROOT'],'',$targetFile);
        echo '<img src="'.$s.'" width="100" />';
    }
    else 
    {
        echo 'Invalid file type.';
    }
}
 
?>
----------
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.07.2012, 00:09
Ответы с готовыми решениями:

Передача данных из одной формы в таблицу dataGridView другой формы
Есть две формы на одной таблица на второй поля в которые пользователь вводит значения. Не получает со второй формы добавить больше одного...

Передача данных с DataGridView одной формы в TextBox другой формы
Ребята, мне необходимо передать значения с выбранной строки Datagridview в textboxы второй формы, но есть одно но! Нужно чтобы доступ был...

Передача данных в DGV 1-ой формы из textBox-ов 2-ой формы
У меня есть две формы, пытаюсь добавить новую строчку в datagridview 1-ой формы через textBox-ы 2-ой формы. Для этого пишу во 2-ой форме...

2
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
03.07.2012, 18:45
JavaScript
1
'formData':$('#myForm').serialize()
Должно заработать
0
_ROM_
03.07.2012, 23:00
Или я не верно делаю или не работает
Но т.к. serialize загоняет данные в строку типа &name1=value1&name2=value2, а такие строки не могут быть безразмерными(на сколько я знаю), то и это не подходит, если в форме есть textarea, например.
Жаль, так хорошо все начиналось
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.07.2012, 23:00
Помогаю со студенческими работами здесь

Передача данных из одной формы в БД другой формы
Сразу скажу, что я новичок в программирование. Суть следующая, имеются две формы, на первой форме несколько textboxов и кнопка...

Передача данных с формы
Доброго. Сильно камнями не кидайте. Есть страница с товарами и их характеристиками (1.html) и страница оплаты (buy.php), например: ...

Передача данных из формы
Нашёл тут скрипт, который используется для обработки формы. Объясните, пожалуйста, подробно, как он работает function parseGET(url) { ...

Передача данных из формы в БД
Вот обработчик &lt;html&gt; &lt;body&gt; &lt;?php if (!$date || !$temp) die (&quot;Не все данные введены.&lt;br&gt; Пожалуйста, вернитесь назад и...

Передача данных из формы
Здравствуйте! Я недавно изучаю PHP и решил задать вопрос. Имеются два поля для ввода: &quot;Количество вопросов&quot; и &quot;Количество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru