Updated! There is a script for uploading the image to the server, but here's the bad luck. Only 1 image is loaded, of course, I understand that it is a foreach loop. No matter how I twisted the cycle, nothing happened, I returned an error about a bad file extension. Var_dump gave out information that several images were successfully contained in a variable. HTML Code:
<form action="scripts/upload.php" method="post" enctype="multipart/form-data"> <p> <input type="file" name="image[]" multiple/><br /> <input type="hidden"name="MAX_FILE_SIZE" value="100000" /> <input type="submit" id="submit" value="Upload" /> </p> </form>
PHP Code:
// вызов файла соединения с базой данных require("conn.php"); // короткая функция, которая распечатывает содержание массива способом, при котором его легко прочитать // можно использовать эту функцию во время отладки, но ей можно пренебречь во время работы скрипта function showContents($array) { echo " "; print_r($array); echo " "; } // определение некоторых констант // в этой переменной - путь к папке изображений, в которой все изображения будут сохраненными // обратите внимание на слэш $TARGET_PATH = "images/"; // получение отправленных переменных foreach($_FILES['image']['name'] as $image){ var_dump($image); $file_ext = strrchr(basename($image["name"]), '.'); var_dump($file_ext); $image['name'] = mysql_real_escape_string($image['name']); $image['name'] = xx().$file_ext; // Построение пути, по которому файл будет перемещен // т.e. images/picture.jpg $TARGET_PATH .= $image['name']; // проверка, заполнены ли все поля формы if ($image['name'] == "" ) { $_SESSION['error'] = "Все поля должны быть заполнены"; header("Location: ../fund_deposit.php"); exit; } // проверка, является ли загружаемый файл изображением // проверяется тип файла, а не расширение, поскольку расширение легко сфальсифицировать // проверка, нет ли в базе данных файла с таким же названием // устранение проблем с названием с использованием метки времени if (file_exists($TARGET_PATH)) { $_SESSION['error'] = "Файл с таким именем уже существует"; header("Location: ../fund_deposit.php"); exit; } // перемещение файла из временного хранилища в постоянное if (move_uploaded_file($image['tmp_name'],$TARGET_PATH)) { // ВНИМАНИЕ: это место, где очень многие делают ошибки // мы не вставляем изображение в базу данных; мы вставляем ссылку на расположение файла на сервере $sql = "UPDATE users set filename = '" .$image['name'] . "' where id = '$userid' "; $result = mysql_query($sql) or die ("Невозможно вставить данные в базу: " . mysql_error()); exit; } else { // частая причина неудачи в продвижении файла в ошибке в правах доступа к директории, нужны права на запись // установите для директории права доступа с записью $_SESSION['error'] = "Невозможно загрузить файл. Проверьте права доступа к директории (чтение/запись)"; header("Location: ../fund_deposit.php"); exit; } }
is_valid_type
, which was in the very first version? This is the most important thing, no? Error, say, "about the bad extension." - Ivan Pshenitsyn