[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: FancyUpload и заливка фотографий
borman851
Проблема передачи переменной скрипту

есть вот это

$result = mysql_query ("INSERT INTO .... передача данных в базу

$poslid= mysql_insert_id(); /* Вытаскиваем последний id из таблицы */
mkdir("
../foto/$poslid", 0777); создание папки куда в последствии надо загрузить фото

далее форма добавления фото FancyUpload

<div>
<form
action="../admin/server/script.php" method="post" enctype="multipart/form-data" name="form-demo" id="form-demo">
<fieldset
id="demo-fallback">
<legend>
Загрузка фотографий</legend>

<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="../admin/assets/progress-bar/bar.gif" class="progress overall-progress" />
</div>
<div>
<strong
class="current-title"></strong><br />
<img
src="../admin/assets/progress-bar/bar.gif" class="progress current-progress" />
</div>
<div
class="current-text"></div>
</div>
<input
name="fotos" id="fotos" type="hidden" value=";">
<ul
id="demo-list"></ul>

</form>



а вот скрипт обработки фото куда надо передать и переменную $poslid вместе с файлом

<?php

$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);
}


// Validation

$error = false;

if (!isset($_FILES['Filedata']) || !is_uploaded_file($_FILES['Filedata']['tmp_name'])) {
$error = 'Invalid Upload';
}

//формируем имя уникальное файла
$apend=date('YmdHis').rand(100,1000).'.jpg';
move_uploaded_file($_FILES['Filedata']['tmp_name'],'../../foto/'.$apend);
$return['src'] = '../../foto/'.$apend;

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];
$return['mime'] = $info['mime'];
}

// $outfile - путь к файлу, который получится после преобразования
// $neww - ширина в px, к которой преобразуем
// $infile - путь к файлу, который преобразуем
// $quality - качество изображения в %
// вызов функции выглядит примерно так:
//
// imageresize("foto/out_image.jpg",150,"foto/image.jpg",100);
//

function imageresize($outfile,$percents,$infile,$quality) {
$im=imagecreatefromjpeg($infile);
$w=imagesx($im)*$percents/90;
$h=imagesy($im)*$percents/90;
$im1=imagecreatetruecolor($w,$h);
imagecopyresampled($im1,$im,0,0,0,0,$w,$h,imagesx($im),imagesy($im));

imagejpeg($im1,$outfile,$quality);
imagedestroy($im);
imagedestroy($im1);
}


$imagge='../../foto/'.$apend;
$imagge_out="../../foto/$poslid/".$apend;

удаляем исходный файл
if(@file_exists('../../foto/'.$apend))
{
unlink('../../foto/'.$apend);
}

}




if (isset($_REQUEST['response']) && $_REQUEST['response'] == 'xml') {

echo '<response>';
foreach ($return as $key => $value) {
echo "<$key><![CDATA[$value]]></$key>";
}
echo '</response>';
} else {

echo json_encode($return);
}

?>

Помогите с решением проблемы передачи переменной для формирования пути записи фото



Спустя 12 минут, 37 секунд (21.12.2009 - 20:17) Romms написал(а):
А оформить код в теги [php] [ /php] слабо?

Спустя 4 часа, 15 минут, 45 секунд (22.12.2009 - 00:33) vagrand написал(а):
В форме делаем скрытое поле со значением переменной $poslid

Спустя 15 часов, 25 минут, 26 секунд (22.12.2009 - 15:58) borman851 написал(а):
Писал вот так

<form action="../admin/server/script.php" method="post" enctype="multipart/form-data" name="form-demo" id="form-demo">

<
input type="hidden" id="poslid" name="poslid" value="poslid"/>

<
fieldset id="demo-fallback">
<
legend>Загрузка фотографий</legend>

А в скрипте добавлял

if (isset($_POST['poslid'])) {$poslid = $_POST['poslid']; }

Не помогает

Спустя 28 дней, 10 часов, 31 секунда (21.01.2010 - 01:59) Peroon написал(а):
window.addEvent('domready', function() { // wait for the content
var up = new FancyUpload2($('demo-status'), $('demo-list'), { // options object
verbose: true,

вот такую бню:

data: {'us' : <?php echo $user-username; ?>' },

собственно это и есть заложенная шняга для передачи методом POST переменных в исполняемый скрипт...

Спустя 3 минуты, 45 секунд (21.01.2010 - 02:03) Peroon написал(а):
для передачи через скрипт надо тупо прописать вот после этого:

window.addEvent('domready', function() { // wait for the content
var up = new FancyUpload2($('demo-status'), $('demo-list'), { // options object
verbose: true,

вот такую бню:

data: {'us' : <?php echo $user-username; ?>' },

собственно это и есть заложенная шняга для передачи методом POST переменных в исполняемый скрипт...

Спустя 11 часов, 35 минут, 59 секунд (21.01.2010 - 13:39) vagrand написал(а):
borman851

<input type="hidden" id="poslid" name="poslid" value="poslid"/>


не помогает потому что нужно писать примерно так:

<input type="hidden" id="poslid" name="poslid" value="<?php echo $poslid;?>"/>

Спустя 4 часа, 29 минут, 19 секунд (21.01.2010 - 18:08) Peroon написал(а):
vagrand
Да не передаст оно из стандартных input-ов, проверенно, именно по этому разработчик и заложил параметр data....

Спустя 9 месяцев, 18 дней, 8 часов, 40 минут, 41 секунда (10.11.2010 - 02:49) Гость_Миша написал(а):
Так впиши нужную переменную таким образом:
<form action="../server/script.php?album=<?php echo $album; ?>" method="POST" enctype="multipart/form-data" id="form-demo">


т.е. в начале формы, "action" указывай то, что тебе нужно. А потом в script.php доставай с помощью $_GET :)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.