Guest User

Untitled

a guest
Feb 23rd, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.40 KB | None | 0 0
  1. <h1>index.php</h1>
  2. <?php
  3. ini_set('display_errors', '1');
  4. error_reporting(E_ALL);
  5. ?>
  6. <p>1. Создайте форму загрузки файлов на сервер. Принимайте отправляемых файл и перемещайте в место хранения.</p>
  7. <form action="server.php" method="POST" enctype="multipart/form-data">
  8. <input type="file" name="file" >
  9. <p><input type="submit" name="sendFirst"></p>
  10. </form>
  11. <p>2. Ограничьте объем и тип файлов, загружаемых через форму .</p>
  12. <form action="server.php" method="POST" enctype="multipart/form-data">
  13. <input type="file" name="file" >
  14. <p><input type="submit" name="sendSecond"></p>
  15. </form>
  16. <p>3. Создайте форму для загрузки изображений. После загрузки изображения должны отображаться на странице. 3'(4). Форма и обработка должны быть в отдельных файлах</p>
  17. <form action="server.php" method="POST" enctype="multipart/form-data">
  18. <input type="file" name="file" >
  19. <p><input type="submit" name="sendThird"></p>
  20. </form>
  21. <p>4(5). Сделайте загрузку файлов через iframe</p>
  22. <form action="server.php" method="POST" enctype="multipart/form-data" target="iframe">
  23. <input type="file" name="file" >
  24. <p><input type="submit" name="sendFourth"></p>
  25. </form>
  26. <iframe src="" id='iframe' name='iframe' width='250' height='250'></iframe>
  27. <p>5. Используя циклы сделайте возможность загрузки файлов из нескольких input</p>
  28. <form action="" method="POST">
  29. <input type="number" min='1' value='1' name="quantity" style='width: 50px;'>Выберите количество загружаемых файлов
  30. <p><input type="submit" name="createForm" value="Создать форму"></p>
  31. </form>
  32. <?php
  33. if (isset($_POST['createForm'])):
  34. ?>
  35. <form action="server.php" method="POST" enctype="multipart/form-data" target="fiftTask">
  36. <?php
  37. for ($i=1; $i <= $_POST['quantity']; $i++):
  38. ?>
  39. <input type="file" name="file<?php echo $i; ?>">
  40. <?php endfor; ?>
  41. <p><input type="submit" name="sendFifth"></p>
  42. </form>
  43. <iframe src="" id='fiftTask' name='fiftTask' width='500' height='500'></iframe>
  44. <?php endif; ?>
  45.  
  46. <!-- ----------------------------------------------------------------------------------------------------------------------------- -->
  47. <h1>server.php</h1>
  48.  
  49. <?php
  50. ini_set('display_errors', '1');
  51. error_reporting(E_ALL);
  52. function load() {
  53. $destination = $_SERVER['DOCUMENT_ROOT'].'/dz6/uploads';
  54. $fullFileName = $destination.'/'.md5(microtime().rand()).stristr($_FILES['file']['name'], '.');
  55. move_uploaded_file($_FILES['file']['tmp_name'], $fullFileName);
  56. return $fullFileName;
  57. }
  58. //1. Создайте форму загрузки файлов на сервер. Принимайте отправляемых файл и перемещайте в место хранения.
  59. if (isset($_POST['sendFirst'])){
  60. load();
  61. echo "Успешно(1)";
  62. };
  63. //2. Ограничьте объем и тип файлов, загружаемых через форму .
  64. $validFormats = ['image/gif', 'image/jpeg', 'text/html', 'application/zip', 'image/png'];
  65. if (isset($_POST['sendSecond'])){
  66. if ( array_search($_FILES['file']['type'], $validFormats) && $_FILES['file']['size'] < 3000000 ) {
  67. load();
  68. echo "Успешно";
  69. } else {
  70. echo "Файл не соответствует параметрам";
  71. }
  72. echo "(2)";
  73. };
  74. //3. Создайте форму для загрузки изображений. После загрузки изображения должны отображаться на странице.
  75. $imageValidFormats = ['image/gif', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/svg+xml', 'image/tiff', 'image/vnd.microsoft.icon', 'image/vnd.wap.wbmp', 'image/webp'];
  76. if (isset($_POST['sendThird'])){
  77. if ( array_search($_FILES['file']['type'], $imageValidFormats) ):
  78. echo "Успешно(3)<br>";
  79. $fullFileName = load();
  80. ?>
  81. <p><img src="uploads/<?php echo basename($fullFileName) ?>" style='width: 100%'></p>
  82. <?php
  83. else:
  84. echo "Файл не является изображением(3)";
  85. endif;
  86. };
  87. //5. Сделайте загрузку файлов через iframe
  88. if (isset($_POST['sendFourth'])):
  89. if ( array_search($_FILES['file']['type'], $imageValidFormats) ):
  90. echo "Успешно(4)<br>";
  91. $fullFileName = load();
  92. ?>
  93. <img src="uploads/<?php echo basename($fullFileName) ?>" style='width: 100%'>
  94. <?php
  95. else:
  96. echo "Файл не является изображением(4)";
  97. endif;
  98. endif;
  99. //6. Используя циклы сделайте возможность загрузки файлов из нескольких input
  100. if (isset($_POST['sendFifth'])):
  101. $destination = $_SERVER['DOCUMENT_ROOT'].'/dz6/uploads';
  102. foreach ($_FILES as $key => $value):
  103. if ( array_search($value['type'], $imageValidFormats) ):
  104. $fullFileName = $destination.'/'.md5(microtime().rand()).stristr($value['name'], '.');
  105. move_uploaded_file($value['tmp_name'], $fullFileName);
  106. ?>
  107. <p><img src="uploads/<?php echo basename($fullFileName) ?> " style='width: 100%'></p>
  108. <?php
  109. else:
  110. ?>
  111. <p>Файл <?php echo $value["name"]; ?> не является изображением</p>
  112. <?php
  113. endif;
  114. endforeach;
  115. endif;
  116. ?>
  117. <form action="index.php" method="POST" style='position: absolute; top:0; right: 0'>
  118. <input type="submit" value="на главную">
  119. </form>
Add Comment
Please, Sign In to add comment