Hur man implementerar bitöverföring i PHP
Upplagt i PHP
Nyligen frågade en av våra läsare om uppladdning av bitar i PHP. De vill ladda upp stora filer på ett snabbt och pålitligt sätt. Genom att implementera chunk-uppladdning kan du enkelt ladda upp / flytta stora filer på en server. I den här artikeln kommer jag att skriva en PHP-kod för uppladdning av bitar som kan vara användbar för att ladda upp / flytta stora filer.
Ibland måste du hantera stora filer i webbapplikationen. Det kan vara video-, zip-filer som måste flyttas till en viss plats på servern.
Det är väldigt enkelt att implementera bituppladdning i PHP. I koden nedan flyttar vi källfilen in i katalogen ‘uppladdningar’. Vi läser filen i bitar av 256 byte och skriver den till målfilen. Denna process fortsätter tills skriptet läser alla byte från källfilen och skriver dessa byte till målfilen. För denna operation använder jag PHP-inbyggda funktioner – fopen, fread, fwrite och fseek.
Låt oss säga att du har en ‘video.mp4′-fil som du vill flytta under mappen’ uppladdningar ‘. Nedan är koden som flyttar en fil i bitar till målmappen.
<?php
$source = 'video.mp4';
$orig_file_size = filesize($source);
$destination = 'uploads/video.mp4';
$chunk_size = 256; // chunk in bytes
$upload_start = 0;
$handle = fopen($source, "rb");
$fp = fopen($destination, 'w');
while($upload_start < $orig_file_size) {
$contents = fread($handle, $chunk_size);
fwrite($fp, $contents);
$upload_start += strlen($contents);
fseek($handle, $upload_start);
}
fclose($handle);
fclose($fp);
echo "File uploaded successfully.";
Det är allt! Det är så mycket enkelt att implementera klumpuppladdning i PHP. Jag skulle vilja höra dina tankar eller förslag i kommentarsektionen nedan.
relaterade artiklar
- Ladda upp filer till Amazon S3 med AWS PHP SDK
- Dra och släpp filöverföring med JavaScript och PHP
- Hur man överför filer till fjärrserver i PHP