Skip to content

Instantly share code, notes, and snippets.

View frankdejonge's full-sized avatar

Frank de Jonge frankdejonge

View GitHub Profile
<?php
function append_to_file($location, $contents)
{
$handle = fopen($location, 'a');
defer fclose($handle);
// stuff stuff
frwite($handle, $contents);
}
@frankdejonge
frankdejonge / example.php
Created November 11, 2014 20:31
AWS SDK v3 s3Client setup
<?php
$client = S3Client::factory([
'key' => '...',
'secret' => '...',
'region' => 'eu-west-1',
'version' => 'latest',
'debug' => true,
]);
@frankdejonge
frankdejonge / example.php
Created November 5, 2014 21:29
Write to dropbox example
<?php
use League\Flysystem\Filesystem;
use League\Flysystem\Adapter\Dropbox;
use League\Flysystem\Adapter\Local;
$dropbox = new Filesystem(new Dropbox($client, 'dropbox/root/dir'));
$local = new Filesystem(new Local('loca/root/path'));
$dropbox->write('destination.ext', $local->read('relative/path/to/file.ext'));
@frankdejonge
frankdejonge / example.php
Created October 31, 2014 15:01
Flysystem Download from FTP
<?php
$ftp = new League\Flysystem\Filesystem(new League\Flysystem\Adapter\Ftp($settings));
$local = new League\Flysystem\Filesystem(new League\Flysystem\Adapter\Local($path));
$local->write($destination, $ftp->read($source));
@frankdejonge
frankdejonge / gulpfile.js
Created October 6, 2014 13:37
Basic Gulp setup with Sass + Bower + Browserify
var gulp = require('gulp'),
browserify = require('gulp-browserify'),
uglify = require('gulp-uglify'),
rename = require('gulp-rename'),
sass = require('gulp-sass'),
jshint = require('gulp-jshint');
gulp.task('javascript', function () {
return gulp.src('assets/js/*.js')
.pipe(browserify({
@frankdejonge
frankdejonge / example.php
Created September 30, 2014 12:21
Call forwarding with interfaces and argument unpacking and the splat operator.
<?php
interface SomeInterface
{
public function forwardedCall($argument);
}
class Pre56BreakingInterface implements SomeInterface
{
public function forwardedCall()
@frankdejonge
frankdejonge / composer.json
Created September 24, 2014 16:48
PSR-0 folder structure with PSR-4 autoloading.
{
"autoload": {
"psr-4": {
"Vendor\\Package\\": "src/Vendor/Package"
}
}
}
@frankdejonge
frankdejonge / Envoy.blade.php
Created August 23, 2014 15:59
Envoy server at a non-standard port
@servers(['web' => '[email protected] -p 1234'])
@task('deploy', ['on' => 'web'])
ls -la
@endtask
<?php
use GuzzleHttp\Post\PostFile;
$request = $client->createRequest('POST', 'http://example.com/');
$postBody = $request->getBody();
$readStream = $flysystem->readStream($fileLocation);
$postBody->addFile(new PostFile('test', $readStream);
$response = $client->send($request);
@frankdejonge
frankdejonge / gist:5c19f8e7ce329dbcc1ef
Created June 10, 2014 18:38
Flysystem and user downloads
<?php
$stream = $fs->readStream($file);
// send the right headers
header("Content-Type: " . $fs->getMimetype($file));
header("Content-Length: " . $fs->getSize($file));
header("Content-disposition: attachment; filename=\"" . basename($file) . "\"");
// dump the attachement and stop the script