PHP code example of diecoding / flysystem-google-drive

1. Go to this page and download the library: Download diecoding/flysystem-google-drive library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

diecoding / flysystem-google-drive example snippets


$client = new \Google_Client();
$client->setClientId('[app client id].apps.googleusercontent.com');
$client->setClientSecret('[app client secret]');
$client->refreshToken('[your refresh token]');

$service = new \Google_Service_Drive($client);

$adapter = new \Hypweb\Flysystem\GoogleDrive\GoogleDriveAdapter($service, '['root' or folder ID]');
/* Recommended cached adapter use */
// $adapter = new \League\Flysystem\Cached\CachedAdapter(
//     new \Hypweb\Flysystem\GoogleDrive\GoogleDriveAdapter($service, '['root' or folder ID]'),
//     new \League\Flysystem\Cached\Storage\Memory()
// );

$filesystem = new \League\Flysystem\Filesystem($adapter);

// Load composer autoloader
nt = new \Google_Client();
$client->setClientId('xxxxx CLIENTID xxxxx');
$client->setClientSecret('xxxxx CLIENTSECRET xxxxx');
$client->refreshToken('xxxxx REFRESH TOKEN xxxxx');

// Google Drive Adapter
$googleDrive = new \Hypweb\Flysystem\GoogleDrive\GoogleDriveAdapter(
 new \Google_Service_Drive($client), // Client service
 'root',                             // Folder ID as root ('root' or Folder ID)
 [ 'useHasDir' => true ]             // options (elFinder need hasDir method)
);

// Extended cached strage adapter class for cache enabled of hasDir() method
class myCachedStrageAdapter extends \League\Flysystem\Cached\Storage\Adapter
{
    use \Hypweb\Flysystem\Cached\Extra\Hasdir;
    use \Hypweb\Flysystem\Cached\Extra\DisableEnsureParentDirectories;
}

// Make Flysystem adapter and cache object
$useCache = true;
if ($useCache) {
 // Example to Flysystem cacheing
 $cache = new myCachedStrageAdapter(
  new \League\Flysystem\Adapter\Local('flycache'),
  'gdcache',
  300
 );

 // Flysystem cached adapter
 $adapter = new \League\Flysystem\Cached\CachedAdapter(
  $googleDrive,
  $cache
 );
} else {
 // Not use cached adapter
 $cache = null;
 $adapter = $googleDrive;
}

// Google Drive elFinder Volume driver
$gdrive = [
    //