Как-то попахивает это всё.
То этот несчастный никак не мог сделать загрузку, а то дали ему волшебную ссылку, и у него вдруг за три минуты все заработало. Хотя за три минуты даже прочесть этот текст не успеешь, не то что выполнить.
FanatPHP, хах, смешно.
Просто гуглить надо)
Возможно у него был открыт код и он оперативно обновлял страницу и ждал ответа и мгновенно их проверял.
В принципе, скопировать можно за 1 минуту.
В чем смысл читать ссылки?) Я лично оттуда всегда просто код копирую
<?php
include_once('functions.php')
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Загрузка изображений на сервер</title>
</head>
<body>
<form method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="Загрузить файл!">
</form>
<?php
// если была произведена отправка формы
if(isset($_FILES['file'])) {
// проверяем, можно ли загружать изображение
$check = can_upload($_FILES['file']);
if($check === true){
// загружаем изображение на сервер
make_upload($_FILES['file']);
echo "<strong>Файл успешно загружен!</strong>";
}
else{
// выводим сообщение об ошибке
echo "<strong>$check</strong>";
}
}
?>
</body>
</html>
Ну и класс функции самой
<?php
function can_upload($file){
// если имя пустое, значит файл не выбран
if($file['name'] == '')
return 'Вы не выбрали файл.';
/* если размер файла 0, значит его не пропустили настройки
сервера из-за того, что он слишком большой */
if($file['size'] == 0)
return 'Файл слишком большой.';
// разбиваем имя файла по точке и получаем массив
$getMime = explode('.', $file['name']);
// нас интересует последний элемент массива - расширение
$mime = strtolower(end($getMime));
// объявим массив допустимых расширений
$types = array('jpg', 'png', 'gif', 'bmp', 'jpeg');
// если расширение не входит в список допустимых - return
if(!in_array($mime, $types))
return 'Недопустимый тип файла.';
return true;
}
function make_upload($file){
// формируем уникальное имя картинки: случайное число и name
$name = mt_rand(0, 10000) . $file['name'];
copy($file['tmp_name'], 'img/' . $name);
}
LML4, подскажи как сделать загрузку нескольких файлов? поставил <input type="file" name="file" multiple>
Нажимаю загрузить и грузится только одна, последняя фогография.
Полный код:
<?php
include_once('functions.php')
?>
<form method="post" enctype="multipart/form-data">
<input type="file" name="file" multiple>
<div class="form_submit">
<div class="form-field form-field_size_m form-field_theme_alfa-on-color" data-reactid="80">
<div class="form-field__control" data-reactid="81">
<div class="button-case" data-reactid="82">
<br>
<input class="button button_view_default button_size_l button_width_available button_theme_alfa-on-color" type="submit" value="Загрузить фотографии">
<input class="form-control" name="login" type="hidden" id="login" value="submit" />
</div>
</div>
</div>
</div>
<?php
// если была произведена отправка формы
if(isset($_FILES['file'])) {
// проверяем, можно ли загружать изображение
$check = can_upload($_FILES['file']);
if($check === true){
// загружаем изображение на сервер
make_upload($_FILES['file']);
echo "<strong>Фотографии успешно загружены!</strong>";
}
else{
// выводим сообщение об ошибке
echo "<strong>$check</strong>";
}
}
?>
</form>
Для загрузки нескольких файлов используется multiple
В качестве имени используется массив, тогда файлы будут передаваться в массиве <input multiple type="file" name="files[]">