PHPackages                             sancho2804/yandex\_disk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. sancho2804/yandex\_disk

ActiveLibrary[File &amp; Storage](/categories/file-storage)

sancho2804/yandex\_disk
=======================

Yandex Disk Sync

1.0.2(6y ago)29Apache-2.0PHPPHP ^7.0

Since May 6Pushed 5y ago1 watchersCompare

[ Source](https://github.com/sancho2804/ya_disk)[ Packagist](https://packagist.org/packages/sancho2804/yandex_disk)[ RSS](/packages/sancho2804-yandex-disk/feed)WikiDiscussions master Synced yesterday

READMEChangelog (3)Dependencies (1)Versions (4)Used By (0)

Загрузчик на Яндекс Диск
========================

[](#загрузчик-на-яндекс-диск)

На работе была дана задача: синхронизировать файлы с локального сервера с яндекс диском. После утановки и шаманства со стандартной программой от Яндекс для debian, ничего не вышло. Файлов много - около 700.000. Яндекс не мог стартовать, чтобы начать синхронизацию. Было принято решение написать скрипт на PHP, который мог бы выполнить поставленную задачу. Скрипт написан и выполнил задачу. Для этого я его поставил в CRON с периодом в час. Если у вас возникли подобные проблемы, то предлагаю использовать мое решение.

---

Установка:
----------

[](#установка)

**Устанавливаем через composer:**

```
composer require sancho2804/yandex_disk
```

Подключаем библиотеку и создаем объект класса:

```
include_once 'vendor/autoload.php';
use sancho2804\yandex_disk; //Используем namespace.
$yandex_disk=new yandex_disk\init($token[,'/files/www/yandex_disk']);
```

**Аргументы**

1. Токен от Яндекс OAuth.
2. Абсолютный путь до папки, которую необходимо закачать.

---

Доступные свойства:
-------------------

[](#доступные-свойства)

### string yandex\_disk::error

[](#string-yandex_diskerror)

Содержит последнее сообщение об ошибке. Доступно только на чтение.

### string yandex\_disk::start\_path

[](#string-yandex_diskstart_path)

Содержит начальную директорию сканирования.

---

Доступные методы:
-----------------

[](#доступные-методы)

### yandex\_disk::get\_space(string $unit='gb'):array

[](#yandex_diskget_spacestring-unitgbarray)

Возвращает использованное, свободное и сколько всего места на диске.

**Аргументы:**

1. string $unit - единицы измерения возвращаемых значений (b,kb,mb,gb,tb).

**Возвращаемые значения:**

```
$result=[
  'total', //сколько всего места на диске.
  'used', //использовано места.
  'free', //свободно места.
  'trash' //занято корзиной.
];
```

**Пример:**

```
$result=$yandex_disk->get_space('gb');
var_dump($result);
```

### yandex\_disk::add\_skip\_dirs(array $dirs):bool

[](#yandex_diskadd_skip_dirsarray-dirsbool)

Добавляет папки в список игнорируемых. Пути передаются в массиве относительно от начальной директории сканирования. В этом примере /files/www/yandex\_disk/ + передаваемая папка.

**Аргументы:**

1. array $dirs - массив относительных путей.

**Возвращаемые значения:**

```
$result=true; //Если передаваемый массив добавлен.
$result=false; //Если массив пустой, или добавляемые папки уже есть в игнорируемых.
```

**Пример:**

```
$result=$yandex_disk->add_skip_dirs(['.vscode','vendor']);
var_dump($result);
//будут игнорироваться при сканировании.
//files/www/yandex_disk/.vscode
//files/www/yandex_disk/vendor
```

### yandex\_disk::add\_skip\_dirs\_by\_name(array $names):bool

[](#yandex_diskadd_skip_dirs_by_namearray-namesbool)

Добавляет имена папок в список игнорируемых. Если такая папка встретится где либо в сканируемой директории, она будет пропущена.

**Аргументы:**

1. array $names - массив имен папок.

**Возвращаемые значения:**

```
$result=true; //Если передаваемый массив добавлен.
$result=false; //Если массив пустой, или добавляемые папки уже есть в игнорируемых.
```

**Пример:**

```
$result=$yandex_disk->add_skip_dirs_by_name(['.git']);
var_dump($result);
//будут игнорироваться при сканировании.
//files/www/yandex_disk/.git
//files/www/yandex_disk/.../.../.git
```

### yandex\_disk::add\_skip\_files(array $files):bool

[](#yandex_diskadd_skip_filesarray-filesbool)

Добавляет файлы в список игнорируемых. Пути передаются в массиве относительно от начальной директории сканирования. В этом примере /files/www/yandex\_disk/ + передаваемый файл.

**Аргументы:**

1. array $files - массив путей до файлов.

**Возвращаемые значения:**

```
$result=true; //Если передаваемый массив добавлен.
$result=false; //Если массив пустой, или добавляемые файлы уже есть в игнорируемых.
```

**Пример:**

```
$result=$yandex_disk->add_skip_files(['.gitignore']);
var_dump($result);
//будет игнорироваться при сканировании.
//files/www/yandex_disk/.gitignore
```

### yandex\_disk::add\_skip\_files\_by\_name(array $names):bool

[](#yandex_diskadd_skip_files_by_namearray-namesbool)

Добавляет имена файлов в список игнорируемых. Если такой файл встретится где либо в сканируемой директории, он будет пропущен.

**Аргументы:**

1. array $names - массив имен файлов.

**Возвращаемые значения:**

```
$result=true; //Если передаваемый массив добавлен.
$result=false; //Если массив пустой, или добавляемые файлы уже есть в игнорируемых.
```

**Пример:**

```
$result=$yandex_disk->add_skip_files_by_name(['.ds_store']);
var_dump($result);
//будет игнорироваться при сканировании.
//files/www/yandex_disk/.ds_store
//files/www/yandex_disk/.../.../.ds_store
```

### yandex\_disk::sync(string $path=null, string $start\_path\_on\_disk='/'):mixed

[](#yandex_disksyncstring-pathnull-string-start_path_on_diskmixed)

Закачивает папку от начальной директории сканирования на яндекс диск, если передан первый аргумент. Если он пропущен, то закачивается вся папка начальной директории сканирования, учитывая различные виды игнорирования.

**Аргументы:**

1. string $path - относительный путь до папки от начальной директории сканирования.
2. string $start\_path\_on\_disk - полный путь на яднекс диске, куда будет все закачиваться.

**Возвращаемые значения:**

```
$result=[
  'files'=>int, //Общее количество найденных файлов.
  'need_update'=>int, //Количество файлов требующих обновления.
  'updated'=>int //Количество файлов, которые успешно обновлены.
];

$result=false; //Если найденные файлы не нуждаются в обновлении.
```

**Пример:**

```
$result=$yandex_disk->sync('/upload','/test');
var_dump($result);
```

---

**Информация о файлах сохраняется в !yd\_sync.json рядом со скриптом**

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

2198d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/60216371?v=4)[soClose](/maintainers/sancho2804)[@sancho2804](https://github.com/sancho2804)

---

Top Contributors

[![sancho2804](https://avatars.githubusercontent.com/u/60216371?v=4)](https://github.com/sancho2804 "sancho2804 (13 commits)")

### Embed Badge

![Health badge](/badges/sancho2804-yandex-disk/health.svg)

```
[![Health](https://phpackages.com/badges/sancho2804-yandex-disk/health.svg)](https://phpackages.com/packages/sancho2804-yandex-disk)
```

###  Alternatives

[knplabs/gaufrette

PHP library that provides a filesystem abstraction layer

2.5k39.8M123](/packages/knplabs-gaufrette)[google/cloud-storage

Cloud Storage Client for PHP

34390.8M125](/packages/google-cloud-storage)[illuminate/filesystem

The Illuminate Filesystem package.

15261.6M2.6k](/packages/illuminate-filesystem)[superbalist/flysystem-google-storage

Flysystem adapter for Google Cloud Storage

26320.6M30](/packages/superbalist-flysystem-google-storage)[creocoder/yii2-flysystem

The flysystem extension for the Yii framework

2931.7M62](/packages/creocoder-yii2-flysystem)[flowjs/flow-php-server

PHP library for handling chunk uploads. Works with flow.js html5 file uploads.

2451.6M15](/packages/flowjs-flow-php-server)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
