PHP ActiveX
PHP ActiveX
File Read Blocks
Demonstrates how to read a file in fixed-size blocks (except for the very last block).Chilkat PHP ActiveX Downloads
<?php
$success = 0;
// Demonstrates how to read a file in blocks,
// which can be useful when uploading to cloud storage
// services such as Azure, S3, Google, etc.
// For this example, we're simply writing the blocks
// to an output file, and then checking to see if the
// resulting file contents equals the original file contents.
$facSrc = new COM("Chilkat.FileAccess");
$facDest = new COM("Chilkat.FileAccess");
$srcPath = 'qa_data/xml/hamlet.xml';
$destPath = 'qa_output/hamletOut.xml';
$success = $facSrc->OpenForRead($srcPath);
$success = $facDest->OpenForWrite($destPath);
// Assuming success for the example..
// How many 1024-byte blocks? (Including 1 for the last partial block)
$numBlocks = $facSrc->GetNumBlocks(1024);
$i = 0;
while (($i < $numBlocks)) {
$dataBlock = $facSrc->ReadBlock($i,1024);
if ($facSrc->LastMethodSuccess != 1) {
print $facSrc->LastErrorText . "\n";
exit;
}
$success = $facDest->FileWrite($dataBlock);
if ($success != 1) {
print $facDest->LastErrorText . "\n";
exit;
}
$i = $i + 1;
}
$facSrc->FileClose();
$facDest->FileClose();
$bEqual = $facSrc->FileContentsEqual($srcPath,$destPath);
if ($bEqual != 1) {
print 'Something went wrong!' . "\n";
exit;
}
print 'File successfully copied by blocks.' . "\n";
?>