45 lines
1.2 KiB
PHP
45 lines
1.2 KiB
PHP
```php title="extract_from_bytes.php"
|
|
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/**
|
|
* Extracting from Bytes
|
|
*
|
|
* Extract content from file data in memory instead of from disk.
|
|
* Useful for processing uploaded files or data from remote sources.
|
|
*/
|
|
|
|
require_once __DIR__ . '/vendor/autoload.php';
|
|
|
|
use Kreuzberg\Kreuzberg;
|
|
use function Kreuzberg\extract_bytes;
|
|
|
|
$fileData = file_get_contents('document.pdf');
|
|
$mimeType = 'application/pdf';
|
|
|
|
$result = extract_bytes($fileData, $mimeType);
|
|
echo "Extracted using procedural API:\n";
|
|
echo substr($result->content, 0, 200) . "...\n\n";
|
|
|
|
$kreuzberg = new Kreuzberg();
|
|
$result = $kreuzberg->extractBytes($fileData, $mimeType);
|
|
echo "Extracted using OOP API:\n";
|
|
echo substr($result->content, 0, 200) . "...\n\n";
|
|
|
|
$uploadedFile = [
|
|
'tmp_name' => '/tmp/uploaded_document.pdf',
|
|
'type' => 'application/pdf',
|
|
'size' => 1024000,
|
|
];
|
|
|
|
if (file_exists($uploadedFile['tmp_name'])) {
|
|
$data = file_get_contents($uploadedFile['tmp_name']);
|
|
$result = extract_bytes($data, $uploadedFile['type']);
|
|
|
|
echo "Uploaded file processed:\n";
|
|
echo "Size: " . strlen($data) . " bytes\n";
|
|
echo "Content length: " . strlen($result->content) . " characters\n";
|
|
}
|
|
```
|