Created
February 11, 2018 12:27
-
-
Save platinize/00c17bab299f755d1d81282353e83325 to your computer and use it in GitHub Desktop.
Php6Tasks
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<h1>index.php</h1> | |
<?php | |
ini_set('display_errors', '1'); | |
error_reporting(E_ALL); | |
?> | |
<p>1. Создайте форму загрузки файлов на сервер. Принимайте отправляемых файл и перемещайте в место хранения.</p> | |
<form action="server.php" method="POST" enctype="multipart/form-data"> | |
<input type="file" name="file" > | |
<p><input type="submit" name="sendFirst"></p> | |
</form> | |
<p>2. Ограничьте объем и тип файлов, загружаемых через форму .</p> | |
<form action="server.php" method="POST" enctype="multipart/form-data"> | |
<input type="file" name="file" > | |
<p><input type="submit" name="sendSecond"></p> | |
</form> | |
<p>3. Создайте форму для загрузки изображений. После загрузки изображения должны отображаться на странице. 3'(4). Форма и обработка должны быть в отдельных файлах</p> | |
<form action="server.php" method="POST" enctype="multipart/form-data"> | |
<input type="file" name="file" > | |
<p><input type="submit" name="sendThird"></p> | |
</form> | |
<p>4(5). Сделайте загрузку файлов через iframe</p> | |
<form action="server.php" method="POST" enctype="multipart/form-data" target="iframe"> | |
<input type="file" name="file" > | |
<p><input type="submit" name="sendFourth"></p> | |
</form> | |
<iframe src="" id='iframe' name='iframe' width='250' height='250'></iframe> | |
<p>5. Используя циклы сделайте возможность загрузки файлов из нескольких input</p> | |
<form action="" method="POST"> | |
<input type="number" min='1' value='1' name="quantity" style='width: 50px;'>Выберите количество загружаемых файлов | |
<p><input type="submit" name="createForm" value="Создать форму"></p> | |
</form> | |
<?php | |
if (isset($_POST['createForm'])): | |
?> | |
<form action="server.php" method="POST" enctype="multipart/form-data" target="fiftTask"> | |
<?php | |
for ($i=1; $i <= $_POST['quantity']; $i++): | |
?> | |
<input type="file" name="file<?php echo $i; ?>"> | |
<?php endfor; ?> | |
<p><input type="submit" name="sendFifth"></p> | |
</form> | |
<iframe src="" id='fiftTask' name='fiftTask' width='500' height='500'></iframe> | |
<?php endif; ?> | |
<!-- ----------------------------------------------------------------------------------------------------------------------------- --> | |
<h1>server.php</h1> | |
<?php | |
ini_set('display_errors', '1'); | |
error_reporting(E_ALL); | |
function load() { | |
$destination = $_SERVER['DOCUMENT_ROOT'].'/dz6/uploads'; | |
$fullFileName = $destination.'/'.md5(microtime().rand()).stristr($_FILES['file']['name'], '.'); | |
move_uploaded_file($_FILES['file']['tmp_name'], $fullFileName); | |
return $fullFileName; | |
} | |
//1. Создайте форму загрузки файлов на сервер. Принимайте отправляемых файл и перемещайте в место хранения. | |
if (isset($_POST['sendFirst'])){ | |
load(); | |
echo "Успешно(1)"; | |
}; | |
//2. Ограничьте объем и тип файлов, загружаемых через форму . | |
$validFormats = ['image/gif', 'image/jpeg', 'text/html', 'application/zip', 'image/png']; | |
if (isset($_POST['sendSecond'])){ | |
if ( array_search($_FILES['file']['type'], $validFormats) && $_FILES['file']['size'] < 3000000 ) { | |
load(); | |
echo "Успешно"; | |
} else { | |
echo "Файл не соответствует параметрам"; | |
} | |
echo "(2)"; | |
}; | |
//3. Создайте форму для загрузки изображений. После загрузки изображения должны отображаться на странице. | |
$imageValidFormats = ['image/gif', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/svg+xml', 'image/tiff', 'image/vnd.microsoft.icon', 'image/vnd.wap.wbmp', 'image/webp']; | |
if (isset($_POST['sendThird'])){ | |
if ( array_search($_FILES['file']['type'], $imageValidFormats) ): | |
echo "Успешно(3)<br>"; | |
$fullFileName = load(); | |
?> | |
<p><img src="uploads/<?php echo basename($fullFileName) ?>" style='width: 100%'></p> | |
<?php | |
else: | |
echo "Файл не является изображением(3)"; | |
endif; | |
}; | |
//5. Сделайте загрузку файлов через iframe | |
if (isset($_POST['sendFourth'])): | |
if ( array_search($_FILES['file']['type'], $imageValidFormats) ): | |
echo "Успешно(4)<br>"; | |
$fullFileName = load(); | |
?> | |
<img src="uploads/<?php echo basename($fullFileName) ?>" style='width: 100%'> | |
<?php | |
else: | |
echo "Файл не является изображением(4)"; | |
endif; | |
endif; | |
//6. Используя циклы сделайте возможность загрузки файлов из нескольких input | |
if (isset($_POST['sendFifth'])): | |
$destination = $_SERVER['DOCUMENT_ROOT'].'/dz6/uploads'; | |
foreach ($_FILES as $key => $value): | |
if ( array_search($value['type'], $imageValidFormats) ): | |
$fullFileName = $destination.'/'.md5(microtime().rand()).stristr($value['name'], '.'); | |
move_uploaded_file($value['tmp_name'], $fullFileName); | |
?> | |
<p><img src="uploads/<?php echo basename($fullFileName) ?> " style='width: 100%'></p> | |
<?php | |
else: | |
?> | |
<p>Файл <?php echo $value["name"]; ?> не является изображением</p> | |
<?php | |
endif; | |
endforeach; | |
endif; | |
?> | |
<form action="index.php" method="POST" style='position: absolute; top:0; right: 0'> | |
<input type="submit" value="на главную"> | |
</form> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment