|
|
|
| Помогите, никогда не сталкивался, вот такая комбинация (фрагмент) уже не работает:
for($i=0; $i<count($_FILES["attach"]["name"]); $i++){
if($_FILES["attach"]["size"]>0){ //если файл загружен
$img=imagecreatefromjpeg($_FILES["attach"]["tmp_name"][$i]);
$old_w=imagesx($img);
$old_h=imagesy($img);
|
пишет
imagesx(): supplied argument is not a valid Image resource
как можно это решить?
задача состоит в том чтобы получить десяток картинок и привести каждую к определенной величине из форм
<input type="file" name="attach[]" size="10" />
<input type="file" name="attach[]" size="10" />
<input type="file" name="attach[]" size="10" />
вот так работает
for($i=0; $i<count($_FILES["attach"]["name"]); $i++){
if($_FILES["attach"]["size"]>0){ //если файл загружен
$type=file_ext(strtolower($_FILES["attach"]["name"][$i])); //получаем тип файла (расширение)
$filename="$newsid-$i.$type";
move_uploaded_file($_FILES["attach"]["tmp_name"][$i], $save_dir_pub.$filename);
}
}
|
но мне нужно еще изменить каждую картинку...
что делать, посоветуйте?
Спасибо | |
|
|
|
|
|
|
|
для: AN
(17.07.2008 в 04:25)
| | В цикле по числу $_FILES["attach"] проверять:
if (is_uploaded_file($_FILES['attach']['tmp_name'][$i])),
если да, то вызываем функцию, в которую передаем $_FILES['attach']['tmp_name'][$i], где узнаем и тип, и делаем ресайз, и сохраняем изображение. | |
|
|
|
|
|
|
|
для: sim5
(17.07.2008 в 04:42)
| | а можно немного подробнее или пример какой? чет я не очень понял как это делается? | |
|
|
|
|
|
|
|
для: AN
(17.07.2008 в 04:47)
| | Подробнее о чем? Собственно цикл, это будет не для count($_FILES["attach"]["name"]), а для count($_FILES["attach"]). Проверять загружено или нет изображение коректнее с помощью is_uploaded_file(). Собственно и все. Если изображение загружено на сервер, то берем этот темп-файл изображения и передаем его в качестве аргумента в функцию ресайза, например:
resizeImg($_FILES["attach"]["tmp_name"][$i], $path),
в которой и выполняем все операции, включая и сохранение файлов на диск - как сам оригинал (move_uploaded_file($_FILES["attach"]["tmp_name"][$i])), так и эскиз его. Аргументом в эту функцию также передаем путь для сохранения файлов ($path). | |
|
|
|