Для получения полного доступа
зарегистрируйтесь.
RSS

Все сниппеты с тэгом «работа с файлами»



Gravatar image
jumper423
  • Репутация: 58
  • Сниппеты: 9
  • Ревизии: 2

File Iterator

Build Status

Ссылка GitHub

Установка

php composer.phar require --prefer-dist jumper423/file-iterator

или

"jumper423/yfile-iterator": "*"

в файле composer.json.

Использование

$fileIterator = new \jumper423\FileIterator(__DIR__ . '/file');
$fileIterator->rewind();
$fileIterator->next();
$fileIterator->next();
$fileIterator->seek(3);
$fileIterator->next();
echo $fileIterator->current();
$fileIterator->next();
echo $fileIterator->current();
$fileIterator->seek(9);
$fileIterator->next();
$fileIterator->next();
if ($fileIterator->valid()) {
    ...
}

Покрыт тестами

vendor/bin/phpunit 

Ссылка GitHub

Продолжение »

Valentin Sayik
  • Репутация: 37
  • Сниппеты: 5
  • Ревизии: 0

С помощью этой функции можно рекурсивно очистить папку. Удаляет так же подпапки. Обновлено 01.12.2015

// $dir - Путь к папке

function rrmdir($dir) {
    if (is_dir($dir)) {
        $objects = scandir($dir);
        foreach ($objects as $object) {
            if ($object != "." && $object != "..") {
                if (filetype($dir . "/" . $object) == "dir") {
                    rrmdir($dir . "/" . $object); 
                } else {
                    unlink($dir . "/" . $object);
                }
            }
        }
        reset($objects);
        rmdir($dir);
    }
}


dfatt
  • Репутация: 260
  • Сниппеты: 53
  • Ревизии: 7

Наткнулся на полезный (кто бы сомневался) проект Flysystem, от замечательной команды The League of Extraordinary Packages, который позволяет работать с такими хранилищами файлов как Dropbox, AWS, Azure, FTP, SFTP, WebDAV и другими. Для популярных фреймворков уже есть готовые интеграции, в том числе и для yii2 — yii2-flysystem

Допустим, нам необходимо создать папку для Dropbox. Создадим приложение на сайте, сгенерируем токен:

rAbTDKa.png

Добавим в composer:

composer require creocoder/yii2-flysystem

И подключим нужный нам адаптер, в нашем случае Dropbox:

Продолжение »