[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Input type file
karm
1. Как сделать условие на проверку загрузки конкретного числа файлов через
<input type file multiple>?
Например мне нужно чтобы загружалось конкретно 10 изображений, не больше не меньше, как проверить

2. Как сделать условие на php(без Js), если загружают 6 файлов только, то писать запрещено вы загрузили 6 из 10
один вариант виже проверять через условия is_uploaded_file($_FILES['file'][tmp_name][0])
is_uploaded_file($_FILES['file'][tmp_name][1])
is_uploaded_file($_FILES['file'][tmp_name][2])

Но если файлов будет 1000, все в ручную придется писать

1. Foreach и For не работают, условие( echo "Успешно";)срабатывает даже если уже загружен один файл

 for($i=0;$i<count($_FILES['file']['name']);$i++) {
if(!is_uploaded_file($_FILES['file']['tmp_name'][$i])) {
echo 'вы загрузили не вс файлы';
} else {
echo "Успешно";
}
}
sergeiss
karm, если тебе нужно строго 10 файлов, то делай эту проверку в первую очередь на клиентской стороне. Иначе получится так, что юзер создаст тебе много трафика, а толку с этого не будет.

Да и п.2 тоже на JS надо делать.

Хотя, естественно, на ПХП тоже надо сделать проверку.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
karm
Да вы правильно сказали , спасибо учел!
Я решил так не делать, сделал по другому. теерь у меня такая проблема

move_uploaded_file();
переносит в папку не картинку а файл Array, в чем может быть проблема?

if (move_uploaded_file($_FILES["file"]["tmp_name"][0], $p))
{echo "удачно";}

else {echo "неудачно";}


возращает удачно, но в папке сохраняется файл Array
walerus
karm
Цитата
Я решил так не делать, сделал по другому. теерь у меня такая проблема
Как именно "сделал" ? или угадать ход Вашей мысли? Сохраняется Array, потому что передается массив, а не файл.
karm
walerus там короче какая-то фигня. Я заново переделал.
Вроде один файл скидывает, а много не хочет, я просто никогда не делал, правильно ли:

	foreach($_FILES["file"]["tmp_name"] as $img) {//up
if(move_uploaded_file($img,'images')) {//3
echo "zagrujeno";
}//3
else {die("ne zagrujeno");}//3

Пищет удачно, но ничего не приходит.
Код размещен в самом начале, после submit для теста
3. Одна картинка доходит, Если сделать для одного файла в input type file
Kusss
перед этим кодом сделайте вывод массива , и поймете что не так
echo '<pre>';
print_r($_FILES["file"]);
echo '</pre>';
die();
karm
Array
(
[
name] => Array
(
[
0] => 1.jpg
[1] => 2.jpg
[2] => 3.jpg
)

[
type] => Array
(
[
0] => image/jpeg
[1] => image/jpeg
[2] => image/jpeg
)

[
tmp_name] => Array
(
[
0] => /tmp/phpZemMVk
[1] => /tmp/phpVcmWFm
[2] => /tmp/phpJq47po
)

[
error] => Array
(
[
0] => 0
[1] => 0
[2] => 0
)

[
size] => Array
(
[
0] => 29244
[1] => 20085
[2] => 19779
)


может путь какой-то не правильный?
Kusss
http://php.net/manual/ru/function.move-uploaded-file.php
пример номер 1 . Прям то , что тебе нужно )
karm
Не понял!

Ну я же решил! Я оказывается забыл подставить в путь самое название файла
Быстрый ответ:

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