PHP SDK
Mit unserem PHP SDK können Sie Datei-Uploads über die Transloadit REST API mit PHP automatisieren.
Die Installation erfolgt über Composer.
Installation
composer require transloadit/php-sdk
Halten Sie den Auth Key und das Auth Secret Ihres Transloadit-Kontos bereit. Diese Werte finden Sie auf der Seite API-Zugangsdaten.
Verwendung
Führen Sie die folgenden PHP-Beispiele in vertrauenswürdigen serverseitigen Skripten aus. Bewahren Sie das Auth Secret auf Ihrem Server auf; autorisieren Sie Nutzer, bevor Sie ihnen erlauben, Uploads auszulösen oder Assembly-Ergebnisse anzufordern.
1. Ein Bild von Ihrem Server hochladen und skalieren
Dieses Beispiel zeigt, wie Sie mit dem SDK auf Ihrem Server eine Assembly erstellen.
Es verwendet eine Beispielbilddatei, lädt sie zu Transloadit hoch und startet dafür einen Job zur Größenänderung.
<?php
require 'vendor/autoload.php';
use transloadit\Transloadit;
$transloadit = new Transloadit([
'key' => 'YOUR_TRANSLOADIT_KEY',
'secret' => 'YOUR_TRANSLOADIT_SECRET',
]);
$response = $transloadit->createAssembly([
'files' => ['/PATH/TO/FILE.jpg'],
'params' => [
'steps' => [
'resize' => [
'robot' => '/image/resize',
'width' => 200,
'height' => 100,
],
],
],
]);
// Show the results of the assembly we spawned
echo '<pre>';
print_r($response);
echo '</pre>';
2. Ein einfaches Upload-Formular für Endnutzer erstellen
Für Browser-Uploads folgen Sie der Uppy-Integration unten. Dabei erfolgt die Signierung auf Ihrem Server, und Dateien werden direkt vom Browser zu Transloadit hochgeladen.
Für Benachrichtigungen über den Abschluss der Verarbeitung folgen Sie den Anweisungen zur
Signaturprüfung in der Dokumentation der Webhooks-API. Eine Weiterleitung
im Browser belegt nicht, dass eine Assembly abgeschlossen ist.
Transloadit::response() parst eingehende Benachrichtigungsdaten, authentifiziert sie aber nicht.
Das Erstellen einer Instanz von Transloadit mit einem Secret bewirkt nicht, dass
diese statische Methode einen Webhook verifiziert.
3. Uppy für Datei-Uploads verwenden
Wir empfehlen Uppy für Browser-Uploads. Beginnen Sie mit dem zentralen Leitfaden zu Uppy und Transloadit für die Einrichtung von Templates, serverseitige Signierung und frameworkspezifische Client-Beispiele.
Ihr PHP-Backend muss den Nutzer authentifizieren und den Upload autorisieren, bevor es kurzlebige Assembly-Optionen signiert. Wählen Sie das zulässige Template und die zulässigen Instructions auf dem Server aus. Signieren Sie keine beliebigen Parameter aus dem Browser. Unter Signature Authentication finden Sie das Signierungsprotokoll. Wie Sie Abschlussbenachrichtigungen verifizieren, erfahren Sie in der oben genannten Webhook-Dokumentation.
4. Assembly Status JSON abrufen
Mit der Methode getAssembly können Sie den Assembly Status abrufen.
<?php
require 'vendor/autoload.php';
use transloadit\Transloadit;
$assemblyId = 'YOUR_ASSEMBLY_ID';
$transloadit = new Transloadit([
'key' => 'YOUR_TRANSLOADIT_KEY',
'secret' => 'YOUR_TRANSLOADIT_SECRET',
]);
$response = $transloadit->getAssembly($assemblyId);
echo '<pre>';
print_r($response);
echo '</pre>';
5. Eine Assembly mit einem Template erstellen.
Dieses Beispiel zeigt, wie Sie mit dem SDK eine Assembly mit Templates erstellen.
Erstellen Sie dazu im Dashboard Ihres Transloadit-Kontos ein Template und fügen Sie hier die Template-ID ein.
<?php
require 'vendor/autoload.php';
use transloadit\Transloadit;
$transloadit = new Transloadit([
'key' => 'YOUR_TRANSLOADIT_KEY',
'secret' => 'YOUR_TRANSLOADIT_SECRET',
]);
$response = $transloadit->createAssembly([
'files' => ['/PATH/TO/FILE.jpg'],
'params' => [
'template_id' => 'YOUR_TEMPLATE_ID',
],
]);
// Show the results of the assembly we spawned
echo '<pre>';
print_r($response);
echo '</pre>';
Signature Auth
Das PHP SDK signiert ausgehende API-Anfragen mit Ihrem konfigurierten Auth Secret mithilfe der Signature Authentication. Eingehende Webhooks erfordern eine separate Signaturprüfung, wie in der Webhook-Dokumentation beschrieben.
Beispiel
Vollständig funktionsfähige Beispiele finden Sie unter
examples/.
Dokumentation
Die vollständige Dokumentation finden Sie auf GitHub.