Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Lapidos
0 / 0 / 1
Регистрация: 13.12.2012
Сообщений: 43
1

Не получается передать значение методом POST в FancyUpload

06.06.2014, 17:34. Просмотров 569. Ответов 6
Метки нет (Все метки)

Здравствуйте. Не получается изменить код в FancyUpload, чтобы фотографии загружались в разные папки. Суть вот в чем: на сайте имеются фотоальбомы, и нужно чтобы FancyUpload загружал фотографии в фотоальбом, для которого эти фотографии и загружаются. В коде же указана конкретная папка, и все фотографии грузятся в эту папку. Думал передавать название альбома методом POST, но не выходит. Исходники брал с этого сайта.

В исходниках имеется форма:

HTML5
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
<form action="server/script.php" method="post" enctype="multipart/form-data" id="form-demo">
 
    <fieldset id="demo-fallback">
        <legend>Загрузить изображения</legend>
        <p>
            В вашем браузере отключено выполнение JavaScript. Для корректной работы требуется включить JavaScript.
        </p>
        <label for="demo-photoupload">
            Загрузить фото:
            <input type="file" name="Filedata" />
        </label>
    </fieldset>
 
    <div id="demo-status" class="hide">
        <p>
            <a href="#" id="demo-browse">Выбрать файлы</a> |
            <a href="#" id="demo-clear">Очистить список</a> |
            <a href="#" id="demo-upload">Начать загрузку</a>
        </p>
        <div>
            <strong class="overall-title"></strong><br />
            <img src="assets/progress-bar/bar.gif" class="progress overall-progress" />
        </div>
        <div>
            <strong class="current-title"></strong><br />
            <img src="assets/progress-bar/bar.gif" class="progress current-progress" />
        </div>
        <div class="current-text"></div>
    </div>
 
    <ul id="demo-list"></ul>
 
</form>
Я в эту форму пробовал добавить input
HTML5
1
<input type="hidden" name="album" value="12">
А в файле script.php изменил строку, где указана папка
PHP
1
if(!move_uploaded_file($_FILES['Filedata']['tmp_name'], '../uploads/'.$_POST['album].'/'.$new))
Ничего не вышло, значение album не передается из формы. Может это связано с ajax, и надо редактировать скрипт? Может быть есть какие нибудь аналоги FancyUpload, если можно, посоветуйте. Спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2014, 17:34
Ответы с готовыми решениями:

Передать значение select методом POST
Сначала я заполняю значения selecta значениями из БД. Нужно передать выбранное значение select...

Не получается передать значение методом GET
Суть проблемы. Нам необходимо передать значение полю &quot;Цена:&quot;. Форма, которой принадлежит это поле,...

Не получается передать POST запрос, используя pear http
Здравствуйте, столкнулся со следующей проблемой. Есть 5 одинаковых скриптов (script1.php,...

Передать массив методом POST
Здравствуйте, вопрос такой. Есть форма, например &lt;form method='post'&gt; &lt;input type='text'...

Как передать ip адрес методом post?
Всем доброго времени суток. Из базы данных достал ip адрес. теперь его надо передать ajax ом в...

6
programmer123
12 / 12 / 3
Регистрация: 17.03.2014
Сообщений: 75
06.06.2014, 18:01 2
Выложите пожалуйста весь файл script.php
0
Lapidos
0 / 0 / 1
Регистрация: 13.12.2012
Сообщений: 43
06.06.2014, 18:02  [ТС] 3
Вот весь файл

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<?php
/**
 * Swiff.Uploader Example Backend
 *
 * This file represents a simple logging, validation and output.
 *  *
 * WARNING: If you really copy these lines in your backend without
 * any modification, there is something seriously wrong! Drop me a line
 * and I can give you a good rate for fancy and customised installation.
 *
 * No showcase represents 100% an actual real world file handling,
 * you need to move and process the file in your own code!
 * Just like you would do it with other uploaded files, nothing
 * special.
 *
 * @license     MIT License
 *
 * @author      Harald Kirschner <mail [at] digitarald [dot] de>
 * @copyright   Authors
 *
 */
 
 
/**
 * Only needed if you have a logged in user, see option appendCookieData,
 * which adds session id and other available cookies to the sent data.
 *
 * session_name('SID'); // whatever your session name is, adapt that!
 * session_start();
 */
 
// Request log
 
/**
 * You don't need to log, this is just for the showcase. Better remove
 * those lines for production since the log contains detailed file
 * information.
 */
 
 
//Данные для ведения логов
$result = array();
 
$result['time'] = date('r');
$result['addr'] = substr_replace(gethostbyaddr($_SERVER['REMOTE_ADDR']), '******', 0, 6);
$result['agent'] = $_SERVER['HTTP_USER_AGENT'];
 
if (count($_GET)) {
    $result['get'] = $_GET;
}
if (count($_POST)) {
    $result['post'] = $_POST;
}
if (count($_FILES)) {
    $result['files'] = $_FILES;
}
 
 
if (file_exists('script.log') && filesize('script.log') > 102400) {
    unlink('script.log');
}
//Запись данных в лог файл 
$log = @fopen('script.log', 'a');
if ($log) {
    fputs($log, print_r($result, true) . "\n---\n");
    fclose($log);
}
 
 
//Изначально у нас нет ошибок 
$error = false;
 
//Определяем, был ли файл загружен при помощи HTTP POST 
if (!isset($_FILES['Filedata']) || !is_uploaded_file($_FILES['Filedata']['tmp_name'])) {
    $error = 'Invalid Upload';
}
 
 
//Проверяем размер загружаемых файлов 
if (!$error && $_FILES['Filedata']['size'] > 2 * 1024 * 1024){
    $error = 'Размер загружаемого файла не должен превышать 2 Мб';
}
 
//При желание вы можете добавить другие проверки
 
 
 
 
//Если появились ошибки возвращаем их 
if ($error) {
 
    $return = array(
        'status' => '0',
        'error' => $error
    );
 
} else {//Если ошибок нет
 
    $return = array(
        'status' => '1',
        'name' => $_FILES['Filedata']['name']
    );
 
    //Получаем информацию о загруженном файле
    $info = @getimagesize($_FILES['Filedata']['tmp_name']);
 
    if ($info) {
        $return['width'] = $info[0];//ширина картинки в пикселях
        $return['height'] = $info[1];//высота в пиксилях
    }
    $filename = $_FILES['Filedata']['name'];//Определяем имя файла
    $ext = substr($filename,strpos($filename,'.'),strlen($filename)-1);//Определяем расширение файла
    $new = date("Ymd")."_".rand(1000,9999).$ext;//Генерируем новое имя файла во избежании совпадения названий
    $return['new'] = $new;//Возвращаем имя нового файла
 
    if(!move_uploaded_file($_FILES['Filedata']['tmp_name'], '../uploads/'.$_POST['album].'/'.$new)) //Загружаем файл с новым именем. 
    //Не забудьте установить на каталог uploads права на запись 755 или 777
    {
        $return = array(
        'status' => '0',
        'error' => 'Загрузка не удалась'
        );
    }
}
 
 
 
if (isset($_REQUEST['response']) && $_REQUEST['response'] == 'xml') {
    // header('Content-type: text/xml');
 
    // Really dirty, use DOM and CDATA section!
    echo '<response>';
    foreach ($return as $key => $value) {
        echo "<$key><![CDATA[$value]]></$key>";
    }
    echo '</response>';
} else {
    // header('Content-type: application/json');
 
    echo json_encode($return);
 
}
 
?>
0
programmer123
12 / 12 / 3
Регистрация: 17.03.2014
Сообщений: 75
06.06.2014, 18:08 4
Вы пробовали просто в script.php вывести $_POST['album] и ничего не выходит?
0
Lapidos
0 / 0 / 1
Регистрация: 13.12.2012
Сообщений: 43
06.06.2014, 18:09  [ТС] 5
Да, пробовал. Присваивал переменной значение $_POST['album], пробовал ее выводить, ничего не выводилось.
0
programmer123
12 / 12 / 3
Регистрация: 17.03.2014
Сообщений: 75
06.06.2014, 18:15 6
Да, я сейчас смотрю код ajax на сайте переменная не передаётся

Добавлено через 1 минуту
var position_polos = $('#id_input').val();
Объявите в ajax свою перемененную и добавьте в date

Добавлено через 1 минуту
я не очень понятно объясняю лучше погуглите на эту тему
0
Lapidos
0 / 0 / 1
Регистрация: 13.12.2012
Сообщений: 43
06.06.2014, 18:16  [ТС] 7
Спасибо, сейчас посмотрю.
0
06.06.2014, 18:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2014, 18:16

Как передать нажатие на ссылку методом post
Раньше была кнопка при нажатие на которую переменная $sec, передавалась на другую страницу теперь у...

Как передать массив из скрипта в скрипт методом POST
В файле parts.php есть форма &lt;form action=&quot;search_parts.php&quot; method=&quot;POST&quot;&gt; &lt;input...

Как передать id сообщения методом post на его удаление?
Здравстуйте. У меня есть форма, куда циклом из бд подгружаются сообщения пользователю. Нужно,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru