PHP: файлы и папки

Возникла конкретная задача: создать на основании списка однотипных файлов определенную структуру в папке и эти файлы переместить. Код ниже. Согласен, что это скорее скрипт для pyton или вообще должен быть file.bat… однако я изучаю php. Структура будущей директории описана в комментариях к коду:

<?php
// подключаю свою библиотеку
include __DIR__ . '/../config/function.php';

// прочитать список файлов в массив $list
// https://php.net/manual/ru/function.scandir.php
$dir = __DIR__ . '/tmp';
$list = scandir($dir);

// в цикле сделать папки по определенной схеме:
//    --директория, по имени файла
//      --директория www
//      --директория images
//      --директория source
//        --переместить файл из основной в директорию source
//      --создать файл info.md и записать в него 'Y-m-d h:m:s'

foreach ($list as $key => $value) {
  if (!in_array($value,array(".",".."))){
  // отбросить расширение и создать директорию
  // https://php.net/manual/ru/function.substr.php
  // https://php.net/manual/ru/function.mkdir.php
  $name = substr($value, 0, -4);
  $mydir = $dir . '/' . $name ;
  mkdir($mydir);
  // создать директории www, image, source
  // https://php.net/manual/ru/function.mkdir.php
  mkdir($mydir . '/www');
  mkdir($mydir . '/images');
  mkdir($mydir . '/source');
  // создать файл info.md и записать в него 'Y-m-d h:m:s'
  file_put_contents($mydir . '/info.md', date('Y-m-d H:i:s'));
  // переместить(скопировать/удалить) файл из основной директории в source
  // https://php.net/manual/ru/function.move-uploaded-file.php
  // https://php.net/manual/ru/function.copy.php
  // https://php.net/manual/ru/function.unlink.php
  $t1 = $dir . '/' . $value;
  $t2 = $mydir . '/source/' . $value;
  copy($t1, $t2);
  unlink($t1);
  }
}

echo microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'];

Обязательный ресурс для изучающего PHP и работу с папками и файлами — php.net

Рейтинг
( Пока оценок нет )
Загрузка ...