В этой статье мы поймем, как загрузить файл с помощью PHP. Давайте разберемся с некоторыми основными конфигурациями.
В файле » php.ini » найдите file_uploads и установите для него значение «Вкл.».
file_uploads = Вкл.
Подход:
- Сначала мы создаем файл HTML, в котором создаем форму, чтобы мы могли загрузить файл с помощью метода POST.
- Переменная $target_dirв «fileupload.php» принимает имя каталога через метод post.
- $target_fileпринимает местоположение каталога, в который будет загружен файл.
- $imageFileTypeиспользуется для получения расширения файла, чтобы мы могли убедиться, что файл имеет допустимое расширение.
- $extensionsиспользуются для хранения допустимых расширений, чтобы вы могли изменять их в соответствии с требованиями программы и добавлять или удалять их из массива расширений.
- На последнем шаге введите имя каталога, в который вы хотите загрузить файл, а затем выберите файл на локальном устройстве и отправьте его. Вы увидите, что файл загружен, как указано на изображении ниже.
index.html
<!DOCTYPE html>
<
html
>
<
body
>
<
form
action
=
"fileupload.php"
method
=
"post"
enctype
=
"multipart/form-data"
>
Directory<
input
type
=
"text"
name
=
"dirname"
id
=
"dirname"
><
br
>
Select image to upload:
<
input
type
=
"file"
name
=
"fileToUpload"
id
=
"fileToUpload"
><
br
>
<
input
type
=
"submit"
value
=
"Upload Image"
name
=
"submit"
>
</
form
>
</
body
>
</
html
>
файлupload.php
<!DOCTYPE html>
<?php
$target_dir
=
$_POST
[
"dirname"
].
"/"
;
$target_file
=
$target_dir
.
basename
(
$_FILES
[
"fileToUpload"
][
"name"
]);
$uploadOk
= 1;
$imageFileType
=
strtolower
(
pathinfo
(
$target_file
, PATHINFO_EXTENSION));
$extentions
=
array
(
"jpeg"
,
"jpg"
,
"png"
,
"pdf"
,
"gif"
);
if
(isset(
$_POST
[
"submit"
])) {
// To check whether directory exist or not
if
(!
empty
(
$_POST
[
"dirname"
])){
if
(!
is_dir
(
$_POST
[
"dirname"
])) {
mkdir
(
$_POST
[
"dirname"
]);
$uploadOk
= 1;
}
}
else
{
echo
"Specify the directory name..."
;
$uploadOk
= 0;
exit
;
}
// To check extensions are correct or not
if
(in_array(
$imageFileType
,
$extentions
) === true) {
$uploadOk
= 1;
}
else
{
echo
"No file selected or Invalid file extension..."
;
$uploadOk
= 0;
exit
;
}
}
// Check if file already exists
if
(
file_exists
(
$target_file
)) {
echo
"Sorry, file already exists."
;
$uploadOk
= 0;
exit
;
}
// Check file size
if
(
$_FILES
[
"fileToUpload"
][
"size"
] > 10000000) {
echo
"Sorry, your file is too large."
;
$uploadOk
= 0;
exit
;
}
// Check if $uploadOk is set to 0 by an error
if
(
$uploadOk
== 0)
{
echo
"Sorry, your file was not uploaded."
;
}
else
{
// If everything is ok, try to upload file
if
(move_uploaded_file(
$_FILES
[
"fileToUpload"
]
[
"tmp_name"
],
$target_file
))
{
echo
"The file "
.
$_FILES
[
"fileToUpload"
]
[
"name"
].
" has been uploaded."
;
}
else
{
echo
"Sorry, there was an error uploading your file."
;
}
}
?>
</body>
</html>
Выход:
напишите имя каталога и выберите файл
после загрузки файла