1. Go to this page and download the library: Download inlayphp/media 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/ */
inlayphp / media example snippets
use Illuminate\Http\Request;
use Inlay\Media\Enums\MediaVisibility;
use Inlay\Media\Models\MediaFolder;
use Inlay\Media\Services\MediaUploader;
final class UploadController
{
public function __invoke(Request $request, MediaUploader $uploader)
{
$folder = MediaFolder::query()->find($request->integer('folder_id'));
$asset = $uploader->upload(
file: $request->file('attachment'),
folder: $folder,
metadata: [
'alt' => $request->string('alt')->toString(),
'caption' => $request->string('caption')->toString(),
],
visibility: MediaVisibility::Private,
);
return ['id' => $asset->key()];
}
}
use Inlay\Media\Enums\MediaVisibility;
use Inlay\Media\Services\MediaLibrary;
$library->moveAsset($asset, $archiveFolder);
$library->moveFolder($archiveFolder, $parentFolder);
$collection = $library->createCollection('Homepage');
$library->syncCollections($asset, [$collection->getKey()]);
$library->setVisibility($asset, MediaVisibility::Public);
$library->trash($asset);
$library->restore($asset);
$library->permanentlyDelete($asset);
use Inlay\Media\Contracts\MediaAssetContract;
use Inlay\Media\Contracts\MediaTransformer;
use Inlay\Media\Support\TransformerRegistry;
final class ExtractImageDimensions implements MediaTransformer
{
public function supports(MediaAssetContract $asset): bool
{
return str_starts_with($asset->mimeType(), 'image/');
}
public function transform(MediaAssetContract $asset): void
{
// Dispatch expensive work to a queue here.
}
}
app(TransformerRegistry::class)->register(new ExtractImageDimensions);
use Inlay\Media\Contracts\{MediaAssetContract, MediaReference, MediaReferenceResolver};
use Inlay\Media\Support\MediaReferenceRegistry;
app(MediaReferenceRegistry::class)->register('pages', new class implements MediaReferenceResolver {
public function resolve(MediaAssetContract $asset): iterable
{
if ($asset->key() === null) {
return;
}
yield new MediaReference('page', 'Homepage hero', '/admin/pages/1');
}
});