Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // Модификация с бд
- mysql_connect('localhost', 'root', '');
- mysql_select_db('phpt');
- $imagen = $_FILES[$formField];
- $image_filename = mysql_real_escape_string($imagen['tmp_name']);
- $image_info = getimagesize($newFileName);
- $image_mime_type = mysql_real_escape_string($image_info['mime']);
- $image_size = mysql_real_escape_string($imagen['size']);
- $image_data = file_get_contents($imagen['tmp_name']);
- $insert_image_sql = "
- INSERT INTO images
- (filename, mime_type, file_size, image_data)
- VALUES (
- mysql_real_escape_string($image_filename),
- mysql_real_escape_string($image_mime_type),
- mysql_real_escape_string($image_size),
- mysql_real_escape_string($image_data)
- )
- ";
- mysql_query($insert_image_sql);
- // 8) превратим в функцию
- function getImagesByDir($dir)
- {
- //4) получить список файлов в папке scandir
- $files = scandir($dir);
- //5) создадим пустой массив, в которую с перебором будем складывать подходящие нам файлы
- $ret = [];
- //6) складываем на ret подходящие нам файлы
- foreach ($files as $file) {
- // 7) сделаем фильтрацию, отсеиваем . и ..
- if ('.' == $file || /*|| - это или*/ '..' == $file) {
- continue;
- }
- //10) нужно подобрать только файлы, там может быть подпапка, а они нам не нуэжны
- //если не файл
- if(!is_file($dir . '/' . $file)) {
- continue;
- }
- //иначе 7 раздел добавим в пустой массив
- $ret[] = $file;
- }
- // массив ret все возвращает
- return $ret;
- }
- //2) папка, где мы хотим получить список
- //3) Если добавить realpath(), то путь будет переделан так, как нужно, для проверки на существование
- // 8) папка
- $dir = __DIR__ . '/img/';
- // 9) список файлов из него
- $images = getImagesByDir($dir);
- ?>
- <!--1) форма загрузки фото-->
- <form action="/upload.php" method="post" enctype="multipart/form-data">
- <input type="file" name="image">
- <input type="submit">
- </form>
- <?php
- //10) выведем изображение
- ?>
- <?php foreach($images as $image): ?>
- <?php // 11) выведем собственно говоря имя файла ?>
- <?php // 12) изменим размер, а то слишком большой ?>
- <img src="/img/<?php echo $image; ?>" style="max-width:300px;" /><br><br>
- <?php endforeach; ?>
- <!--Обработчик-->
- <?php
- //2) делаем замену подмассива image
- $formField = 'image';
- //1) если массив файл не пустой
- if(!empty($_FILES)) {
- //3) если в подмассиве
- if($_FILES[$formField]) {
- //4) делаем для подмассива error. Если error == 0, то мы можем начать загрузку файла
- //5) для подмассива size. Если размер загруженного файла больше 0, то делаем загрузку
- if(0 == $_FILES[$formField]['error'] && $_FILES[$formField]['size'] > 0) {
- //7) создадим постоянное место (текущая папка, из него сделаем папку /img/ и ставим имя файла)
- // 8) добавим basename, для взятия из длинной пути его имя файла,
- // для перестраховки, т.к. может прийти не имя файла, а папка пользователя
- $newFileName = __DIR__ . '/img/' . basename($_FILES[$formField]['name']);
- //6) Перемещаем загруженный файл в новое место (постоянное место)
- move_uploaded_file($imagen['tmp_name'], $newFileName);
- }
- }
- }
- header('Location: /index.php');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement