Skip to content

Instantly share code, notes, and snippets.

@deuterium7
Created July 30, 2017 13:01
Show Gist options
  • Save deuterium7/4d5393faa8e652f2c5e876a07d56ba6d to your computer and use it in GitHub Desktop.
Save deuterium7/4d5393faa8e652f2c5e876a07d56ba6d to your computer and use it in GitHub Desktop.
Zabornyi Alex
<form method="post" enctype="multipart/form-data">
	<p>Размер загружаемых текстовых файлов не более 2мб</p>
	<input type="file" name="file[]" multiple>
	<input type="submit" name="submit">
</form>

<?php
	$errors = array(
        "1" => "Размер принятого файла превысил максимально допустимый размер.",
        "2" => "Размер загружаемого файла превысил значение.",
        "3" => "Загружаемый файл был получен только частично.",
        "4" => "Не выбран файл для загрузки.",
        "6" => "Отсутствует временная папка.",
        "7" => "Не удалось записать файл на диск.",
        "8" => "Программа остановилы загрузку файла."
    );

    if ($_FILES['upload']['error'] == 0) {

    	for ($i = 0; $i < count($_FILES['file']['name']); $i++) {

			if ( $_FILES['file']['size'][$i] < 2097152 ) {

				$path_info = pathinfo($_FILES['file']['name'][$i]);
				$allows = array('txt','rtf','pdf','doc','docx');
				$path_info_name = $path_info['basename'];
				
				if ( in_array($path_info['extension'], $allows) ) {
					$hashname = md5(time().rand());
				
					move_uploaded_file(
						$_FILES['file']['tmp_name'][$i],
						$_SERVER['DOCUMENT_ROOT']."/".$hashname.".".$path_info['extension']
					);
					?>
					<p style="color: green;">
						<?php echo "Загружен файл '$path_info_name': "; ?>
					</p>
					<?php
				} else {
					?>
					<p style="color: red;">
						<?php echo "Загружаемый файл '$path_info_name' - не текстовый!!!"; ?>
					</p>
					<?php
				}
			} else {
				?>
				<p style="color: red;">
					<?php echo "<br>Превышен лимит загружаемого '$path_info_name' файла!!!"; ?>
				</p>
				<?php
			}	
		}
    } else {
    	?>
		<p style="color: red;">
			<?php echo $errors[$_FILES['upload']['error']]; ?>
		</p>
		<?php
    }
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment