parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Бешусь и схожу с ума ((

Ильяс 15.03.2008 18:58

Вот код загрузки файла на сервер

<form enctype="multipart/form-data" method=post>
<input type=hidden name=cat value=$catalog.id>
Фото <input type=file name=foto class=input1><br><br>
Описание <input type=text name=text class=input1><br><br>
<input type=submit name=post_add_foto value="Добавить" class=input2>
</form>
^test_and_add_foto[]


Вот обработчик

@test_and_add_foto[]
^if(def $form:post_add_foto && def $form:foto){
$photo[^image::measure[$form:foto]]
^if($photo.width > 800 || $photo.height > 1000){
$response:location[/cp/catalog.html?cat=$form:cat&error="Размеры фото не должны превышать 800 на 600 пикселей"]
}{
^void:sql{INSERT INTO fotos (id, parent, text) VALUES (NULL, '$form:cat', '$form:text')}
$last_id[^int:sql{SELECT DISTINCT last_insert_id() FROM fotos}[$.default{0}]]
^form:foto.save[binary;/pic/catalog/${last_id}.jpg]
$response:location[/cp/catalog.html?cat=$form:cat&error=Фото добавлено]
}
}

Так вот он ругается, что measure failed: No such file or directory (2), actual filename 'x:/home/ntc-progress.ru/www/cp/2.jpg'
Ну естественно его там нет! Он же еще не записан на диск.

Думал обойти эту ошибку все таки сохранив временно файл на диск, и действовать с ним.

@test_and_add_foto[]
^if(def $form:post_add_foto && def $form:foto){
^form:foto.save[binary;/pic/catalog/temp/temp.jpg]
$photo[^image::measure[/pic/catalog/temp/temp.jpg]]
^if($photo.width > 800 || $photo.height > 1000){
$response:location[/cp/catalog.html?cat=$form:cat&error="Размеры фото не должны превышать 800 на 600 пикселей"]
}{
^void:sql{INSERT INTO fotos (id, parent, text) VALUES (NULL, '$form:cat', '$form:text')}
$last_id[^int:sql{SELECT DISTINCT last_insert_id() FROM fotos}[$.default{0}]]
^form:foto.save[binary;/pic/catalog/${last_id}.jpg]
$response:location[/cp/catalog.html?cat=$form:cat&error=Фото добавлено]
}
}

На этот раз вылазит следующая ошибка
unknown mode, must be 'append'
binary

Ну что здесь не так?