Загрузка файла на сервер и обработка на PHP (Часть-2) | Базовый курс PHP-7

preview_player
Показать описание
Для загрузки пользовательских файлов на сервер применяется специальный элемент управления, позволяющий указать путь к загружаемому файлу.

Мы научимся следующим операциям с файлами:
- верстать форму на сайте для загрузи фала
- проверять наличие файла
- ограничивать размер загрузки файла
- копировать файл с буфера в нужную папку
- считывать данные о файле

ДОМАШНЕЕ ЗАДАНИЕ:
Рекомендации по теме
Комментарии
Автор

супер. продолжайте эту тему.php рулит)

space_m
Автор

здесь ошибка:
сперва нужна проверка на размер файл, и только после этого проверка на загрузку, т.к. в текущем варианте IF на размер файла срабатывает, но сам файл фактически загружается на сервер.

hephenstawking
Автор

Андрей, Работаю с openserver, проблема такая, при интерпретации php кода возникает проблема, при которой любой используемый браузер, не интерпретирует код, а лишь выводит на экран сам код.
Пытался менять домены, файлы, перезагружать openserver.
Итог: все равно выдает просто код (текстом)

MikhailMMA
Автор

Можно ответ увидеть или подсказку по последнему пункту домашнего задания?

solong
Автор

Не понимаю, я разделил по переносу строк, а как разбить строку на время, имя и текст?

kostyakozlov
Автор

можем ли мы сделать кнопку отправки неактивной, если размер файла превышает лимит?

asleshka
Автор

Форма:
<!DOCTYPE html>
<html>
<head>
<title>Lesson36</title>
<style type="text/css">
input{
position:absolute;
left:10%;
border-color: blue;
border-radius: 5px;
border-width: 1px;
}

/* input[type='file'] {
color: transparent;
}
*/
</style>
</head>
<body>
<form action="../core.php" method="POST"

<!-- Капча -->
<p>
<label for="file">Выберите файл</label>
<input type="file" name="file" id="file" value="ФАЙЛ">
</p>

<!-- <br>
<br> -->

<!-- Отправка -->
<p>
<label
<input type="submit" name="in_subm" id="in_subm" value="ОТПРАВИТЬ">
</p>
</form>
</body>
</html>

august
Автор

Андрей, привет. Планируешь курс по Yii2 или другой фреймворк?

Evgenii
Автор

Андрей привет подскажи в чем может быть проблема, написал всё в точности как у тебя, но обработчик будто не получает файл, и $_FILES соответственно пустой

okkxcqj
Автор

Как занести имя файла в таблицу бд для вывода

glbash_
Автор

Добрый день! нету файла из ДЗ. В какой папке temp, где этот файл?
Спасибо

sgowfbq
Автор

Почему sumbit у меня не кнопка, а поле ввода?

klodska
Автор

А как сделать проверку по формату jpg png gif нужен масив?

OPAPIZDEC
Автор

на реальном сервере не работает
пошел другим путём, читаю /tmp => scandir(), видит загруженный файл в массиве [3]
подставляю путь.название в move_uploads_file() ... и нихрена!!

phitrow
Автор

у меня не получается сделать дз как это делать можете помочь

sunnatillaortiqov
Автор

ИИСУС ХРИСТОС ЕСТЬ МЕССИЯ И ОН ВОСКРЕС!!!☦❤

xeither
Автор

БОГ ЕСТЬ ЛЮБИТЕ БОГА И СВОИХ БЛИЖНИХ!!!☦❤

xeither
Автор

Всем привет!
Кидаю свое решение, не смогла я додуматься, как сразу загруженный док открывать. Если будут комментарии буду благодарна.
if(move_uploaded_file($_FILES['filename']['tmp_name'],
if ($_FILES['filename']['size'] > 1*1024*1024) {
echo 'Размер файла превышает 2 мегабайта';
exit();
echo 'test';

}else{
echo 'Файл скопирован на сервер<br>';
echo 'Характеристики нашего файла:<br>';
echo 'Имя файла: ';
echo $_FILES['filename']['name'] . '<br>';
echo 'Размер файла: ';
echo $_FILES['filename']['size'] . '<br>';
echo 'Тип файла: ';
echo $_FILES['filename']['type'] . '<br>';


}
$data =
echo '<pre>';
print_r (var_dump($data));
echo '</pre>';
}

Oly
Автор

У меня получилось так:
<?php
//Контроль файла
// echo "<pre>";
// print_r($_FILES["filename"]);
// echo "</pre>";

//Загрузка файла на сервер
if (move_uploaded_file($_FILES["filename"]["tmp_name"], {
echo "Файл {$_FILES["filename"]["name"]} загружен успешно!". "<br>";
}else {
die("Ошибка при загрузке файла!");
}

//Преобразование файла в строку
$tempStr =
// echo $tempStr . "<br>";

//Преобразование строки в массив
$tempArr = explode("\n", $tempStr);
array_pop($tempArr);
//Контроль значений массива
// echo "<pre>";
// print_r($tempArr);
// echo "</pre>";


foreach ($tempArr as $value) {
$newArr = explode("]", $value);
//Контроль значений массива
// echo "<pre>";
// print_r($newArr);
// echo "</pre>";
for ($i=0; $i < count($newArr); $i++) {
$newArr[$i] = str_ireplace("[", "", $newArr[$i]);
}
//Вывод резултата
echo "Time: {$newArr[0]}" . "<br>";
echo "{$newArr[1]}" . "<br>";
echo "Write: {$newArr[2]}" . "<br>";
//Контроль значений массива
// echo "<pre>";
// print_r($newArr);
// echo "</pre>";

}

ypkgjbf
Автор

<?php

if {
move_uploaded_file($_FILES['userfile']['tmp_name'], 'temp/' .
echo '<h3>Информация о файле:</h3> ' . '<br>';
foreach ($_FILES as $key => $value) {
foreach ($value as $elem) {
echo $elem . '<br>';
}
}
} else {
echo 'Произошла неизвестная ошибка файл не загружен!';
}

mavvdies