English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Решение проблемы неактивногоcheckbox(галочки)вExtjs gridpanel в зависимости от условий строки

Загрузка файлов PHP

С помощью PHP можно загружать файлы на сервер.

Этот раздел примера выполнен в проекте test, структура каталога:

test
|-----upload             # Каталог для загрузки файлов
|-----form.html          # Файл формы
|-----upload_file.php    # Код загрузки файлов на PHP

Скачать исходный код:Загрузка файлов

Создание формы для загрузки файлов
Позволяет пользователю загружать файлы через форму, что очень полезно.
Смотрите下面的这个用于上传文件的 HTML 表формы:

<html>
<head>
<meta charset="utf-8">
<title>Птица-тренер(runoob.com)</title>
</head>
<body>
<form action="upload_file.php" method="post" enctype="multipart/form-data">
 <label for="file">Имя файла:</label>
 <input type="file" name="file" id="file"><br>
 <input type="submit" name="submit" value="Подтвердить">
</form>
</body>
</html>

Сохраните приведенный выше код в файл form.html.
Несколько замечаний по поводу вышеуказанной HTML-формы приведены ниже:

1. Атрибут enctype тега <form> определяет, какой тип содержимого следует использовать при отправке формы. Если форма требует двоичных данных, таких как содержимое файла, используйте "multipart/form-data".
2. Атрибут type="file" тега <input> определяет, что ввод следует обрабатывать как файл. Например, при просмотре в браузере旁边 будет виден кнопка "Просмотр".
Комментарий:Разрешение пользователям загружать файлы представляет собой巨大的 безопасность риск. Разрешайте только доверенным пользователям выполнять операции по загрузке файлов.

Создание сценария загрузки
Файл "upload_file.php" содержит код для загрузки файлов:

<?php
if ($_FILES["file"]["error"] > 0)
{
 echo "Ошибка: " . $_FILES["file"]["error"] . "<br>";
}
else
{
 echo "Имя загружаемого файла: " . $_FILES["file"]["name"] . "<br>";
 echo "Тип файла: " . $_FILES["file"]["type"] . "<br>";
 echo "Размер файла: " . ($_FILES["file"]["size"] / 1024) . " кБ<br>";
 echo "Временное хранение файла: " . $_FILES["file"]["tmp_name"];
}
?>

Используя глобальный массив PHP $_FILES, вы можете загружать файлы с компьютера клиента на удаленный сервер.
Первый параметр - name поля формы, второй индекс может быть "name", "type", "size", "tmp_name" или "error". Вот пример:
$_FILES["file"]["name"] - Название загружаемого файла
$_FILES["file"]["type"] - Тип загружаемого файла
$_FILES["file"]["size"] - Размер загружаемого файла в байтах
$_FILES["file"]["tmp_name"] - Название временной копии файла, хранящегося на сервере
$_FILES["file"]["error"] - Код ошибки, вызываемый загрузкой файла

Это очень простой способ загрузки файлов. Учитывая安全问题, вы должны добавить ограничения на то, какие пользователи могут загружать файлы.

Ограничения на загрузку
В этой скрипте мы добавили ограничения на загрузку файлов. Пользователи могут загружать только файлы .gif, .jpeg, .jpg, .png, размер файла должен быть меньше 200 кБ:

<?php
// Разрешенные расширения изображений для загрузки
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);  // Получить расширение файла
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg"))
|| ($_FILES["file"]["type"] == "image/jpg"))
|| ($_FILES["file"]["type"] == "image/pjpeg"))
|| ($_FILES["file"]["type"] == "image/x-png"))
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 204800) // Меньше 200 кБ
&& in_array($extension, $allowedExts))
{
 if ($_FILES["file"]["error"] > 0)
 {
 echo "Ошибка: " . $_FILES["file"]["error"] . "<br>";
 }
 else
 {
 echo "Имя загружаемого файла: " . $_FILES["file"]["name"] . "<br>";
 echo "Тип файла: " . $_FILES["file"]["type"] . "<br>";
 echo "Размер файла: " . ($_FILES["file"]["size"] / 1024) . " кБ<br>";
 echo "Временное хранение файла: " . $_FILES["file"]["tmp_name"];
 }
}
else
{
 echo "Некорректный формат файла";
}
?>

Сохранение загруженного файла
В примере выше на сервере в временной папке PHP был создан временный файл загруженного файла.
Эта временная копия файла исчезнет после завершения скрипта. Чтобы сохранить загруженный файл, нужно его скопировать в другое место:

<?php
// Разрешенные расширения изображений для загрузки
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
echo $_FILES["file"]["size"];
$extension = end($temp);  // Получить расширение файла
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg"))
|| ($_FILES["file"]["type"] == "image/jpg"))
|| ($_FILES["file"]["type"] == "image/pjpeg"))
|| ($_FILES["file"]["type"] == "image/x-png"))
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 204800) // Меньше 200 кБ
&& in_array($extension, $allowedExts))
{
 if ($_FILES["file"]["error"] > 0)
 {
 echo "Ошибка: " . $_FILES["file"]["error"] . "<br>";
 }
 else
 {
 echo "Имя загружаемого файла: " . $_FILES["file"]["name"] . "<br>";
 echo "Тип файла: " . $_FILES["file"]["type"] . "<br>";
 echo "Размер файла: " . ($_FILES["file"]["size"] / 1024) . " кБ<br>";
 echo "Временное хранение файла: " . $_FILES["file"]["tmp_name"] . "<br>";
 // Проверка наличия файла в текущей папке под именем upload
 // Если не существует папки upload, вам нужно создать ее, права доступа к папке upload 777
 if (file_exists("upload/" . $_FILES["file"]["name"]))
 {
 echo $_FILES["file"]["name"] . " файл уже существует. ";
 }
 else
 {
 // Если папка upload не содержит этого файла, файл будет загружен в папку upload
 move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
 echo "Файл хранится в: " . "upload/" . $_FILES["file"]["name"];
 }
 }
}
else
{
 echo "Некорректный формат файла";
}
?>

Upper скрипт проверяет, существует ли файл, если он не существует, он копирует файл в папку под названием "upload".
Пример демонстрации операции загрузки файла приведен ниже:

Вот весь контент этой статьи, надеюсь, он поможет вам в изучении, также希望大家多多支持呐喊教程。

Заявление: содержимое этой статьи взято из Интернета, авторские права принадлежат соответствующему автору, содержимое предоставлено пользователями Интернета в добровольном порядке, сайт не обладает правами собственности, не производилось редактирование人工, также не несет ответственности за соответствующие юридические вопросы. Если вы обнаружите контент,涉嫌侵犯版权, пожалуйста, отправьте письмо по адресу: notice#oldtoolbag.com (при отправке письма, пожалуйста, замените # на @) для сообщения о нарушении,并提供 соответствующие доказательства. Если подтвердится, сайт немедленно удалил涉嫌侵权的内容。

Давай подумаем