PHP CFStream is a PHP TUS client that makes it easy to send video files to Cloudflare Stream.
- Simple interface that supports:
- Upload videos
- Get status of uploaded videos
- Get embed code for videos
- Set allowedOrigins for each video
- Delete videos
- Implemented in pure PHP and CURL with the help of GuzzleHttp Client
- Tightly integrated with Cloudflare Stream
- Does not support:
- Resume uploads
Install the package via Composer as usual. Use the dev-master
branch.
composer require jianjye/php-cfstream dev-master
For Laravel 5.0 and newer projects, you can do vendor:publish
to enable basic integrations:
php artisan vendor:publish
Then select Provider: JianJye\CFStream\Laravel\ServiceProvider
. cfstream.php
will be copied to your config
folder.
After that, add these into your .env
file:
CLOUDFLARE_KEY=
CLOUDFLARE_ZONE=
CLOUDFLARE_EMAIL=
If you are on composer-enabled projects, the following instructions should work for you. Otherwise try requiring src/CFStream.php
directly in your project instead.
use JianJye\CFStream\CFStream;
$cfstream = new CFStream($key, $zone, $email);
$resourceUrl = $cfstream->upload($filepath);
$cfstream->status($resourceUrl);
$cfstream->code($resourceUrl);
$cfstream->allow($resourceUrl, 'example.com, *.example.net');
$cfstream->delete($resourceUrl);
If you have done the vendor:publish
step, then CFStream
can grab your credentials from the config file. You can use the CFStreamLaravel
client instead.
use JianJye\CFStream\CFStreamLaravel;
$cfstream = new CFStreamLaravel();
$resourceUrl = $cfstream->upload($filepath);
$cfstream->status($resourceUrl);
$cfstream->code($resourceUrl);
$cfstream->allow($resourceUrl, 'example.com, *.example.net');
$cfstream->delete($resourceUrl);
The namespace of this project has been updated from JJSee
to JianJye
. Please update your projects accordingly.