# PHP SDK

[transloadit/php-sdk](https://github.com/transloadit/php-sdk)

Mit unserem PHP SDK können Sie Datei-Uploads über die TransloaditREST API mit PHP automatisieren.

Die Installation erfolgt über Composer.

## Installation

![](/_next/static/media/copy.04p1cju9qekk_.svg?dpl=dpl_3z41v8VuCJJKgtsQfSKB6o2uiSXL)

```
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](/workspaces/credentials/).

## Verwendung

### 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.

![](/_next/static/media/copy.04p1cju9qekk_.svg?dpl=dpl_3z41v8VuCJJKgtsQfSKB6o2uiSXL)

```php
<?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

Dieses Beispiel zeigt, wie Sie ein einfaches Transloadit-Upload-Formular erstellen, das nach Abschluss des Uploads zu Ihrer Website zurückleitet.

Sobald das Skript die Weiterleitungsanfrage empfängt, wird mit `Transloadit::response()` der aktuelle Status dieser Assemblyangezeigt.

###### Hinweis

Es ist nicht garantiert, dass die Ausführung der Assembly bereits abgeschlossen ist, wenn `$response` abgerufen wird. Verwenden Sie dafür den Parameter`notify_url`.

![](/_next/static/media/copy.04p1cju9qekk_.svg?dpl=dpl_3z41v8VuCJJKgtsQfSKB6o2uiSXL)

```php
<?php
require 'vendor/autoload.php';

use transloadit\Transloadit;

$transloadit = new Transloadit([
  'key' => 'YOUR_TRANSLOADIT_KEY',
  'secret' => 'YOUR_TRANSLOADIT_SECRET',
]);

// Check if this request is a Transloadit redirect_url notification.
// If so fetch the response and output the current assembly status:
$response = Transloadit::response();
if ($response) {
  echo '<h1>Assembly Status:</h1>';
  echo '<pre>';
  print_r($response);
  echo '</pre>';
  exit();
}

// This should work on most environments, but you might have to modify
// this for your particular setup.
$redirectUrl = sprintf('http://%s%s', $_SERVER['HTTP_HOST'], $_SERVER['REQUEST_URI']);

// Setup a simple file upload form that resizes an image to 200x100px
echo $transloadit->createAssemblyForm([
  'params' => [
    'steps' => [
      'resize' => [
        'robot' => '/image/resize',
        'width' => 200,
        'height' => 100,
      ],
    ],
    'redirect_url' => $redirectUrl,
  ],
]);
?>
<h1>Pick an image to resize</h1>
<input name="example_upload" type="file">
<input type="submit" value="Upload">
</form>

```

### 3. Uppy für Datei-Uploads verwenden

Wir empfehlen [Uppy](/de/docs/sdks/uppy.md), unseren modernen Datei-Uploader für das Web.

1. Binden Sie Uppy in Ihre Seite ein:

![](/_next/static/media/copy.04p1cju9qekk_.svg?dpl=dpl_3z41v8VuCJJKgtsQfSKB6o2uiSXL)

```html
<link href="https://releases.transloadit.com/uppy/v3.3.1/uppy.min.css" rel="stylesheet" />
<script src="https://releases.transloadit.com/uppy/v3.3.1/uppy.min.js"></script>

```

1. Initialisieren Sie Uppy mit dem Transloadit-Plugin:

![](/_next/static/media/copy.04p1cju9qekk_.svg?dpl=dpl_3z41v8VuCJJKgtsQfSKB6o2uiSXL)

```html
<div id="uppy"></div>

<script>
  const uppy = new Uppy.Core()
    .use(Uppy.Dashboard, {
      inline: true,
      target: '#uppy',
    })
    .use(Uppy.Transloadit, {
      params: {
        auth: { key: 'YOUR_TRANSLOADIT_KEY' },
        template_id: 'YOUR_TEMPLATE_ID',
        notify_url: 'https://your-site.com/transloadit_notify.php',
      },
    })
</script>

```

1. Verarbeiten Sie Benachrichtigungen in Ihrem PHP-Backend:

![](/_next/static/media/copy.04p1cju9qekk_.svg?dpl=dpl_3z41v8VuCJJKgtsQfSKB6o2uiSXL)

```php
<?php
require 'vendor/autoload.php';

use transloadit\Transloadit;

$transloadit = new Transloadit([
  'key' => 'YOUR_TRANSLOADIT_KEY',
  'secret' => 'YOUR_TRANSLOADIT_SECRET',
]);

$response = Transloadit::response();
if ($response) {
  http_response_code(200);
  echo 'OK';
  return;
}

http_response_code(400);
echo 'Bad Request';

```

### 4. Assembly Status JSON abrufen

Mit der Methode `getAssembly` können Sie den Assembly Status abrufen.

![](/_next/static/media/copy.04p1cju9qekk_.svg?dpl=dpl_3z41v8VuCJJKgtsQfSKB6o2uiSXL)

```php
<?php
require 'vendor/autoload.php';
$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 mitTemplates erstellen.

Erstellen Sie dazu im Dashboard Ihres Transloadit-Kontos ein Template und fügen Sie hier dieTemplate ID ein.

![](/_next/static/media/copy.04p1cju9qekk_.svg?dpl=dpl_3z41v8VuCJJKgtsQfSKB6o2uiSXL)

```php
<?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 führt Signature Authentication standardmäßig intern durch, sodass Sie sich darum nicht kümmern müssen :)

## Beispiel

Vollständig funktionsfähige Beispiele finden Sie unter[examples/](https://github.com/transloadit/php-sdk/tree/HEAD/examples).

## Dokumentation

Die vollständige Dokumentation finden Sie auf [GitHub](https://github.com/transloadit/php-sdk).
