Kuidas rakendada tükis üleslaadimist PHP-s
Postitatud PHP-s
Hiljuti küsis üks meie lugejatest PHP-sse üleslaadimise kohta. Nad soovivad suuri faile kiiresti ja usaldusväärselt üles laadida. Tükeldatud üleslaadimise abil saate serveris suuri faile hõlpsalt üles laadida / teisaldada. Sellesse artiklisse kirjutan suurte failide üleslaadimiseks PHP-koodi, mis võib olla kasulik suurte failide üleslaadimiseks / teisaldamiseks.
Mõnikord peate veebirakenduses tegelema suurte failidega. See võib olla video- ja ZIP-fail, mis peab serveris liikuma kindlasse kohta.
Palju üleslaadimist on PHP-s väga lihtne rakendada. Allolevas koodis liigutame lähtefaili kataloogi ‘uploads’. Lugesime faili tükkidena 256 baiti ja kirjutasime selle sihtfaili. See protsess jätkub seni, kuni skript loeb kõik baid lähtefailist läbi ja kirjutab need baidid sihtfaili. Selle toimingu jaoks kasutan PHP natiivfunktsioone – fopen, fread, fwrite ja fseek.
Oletame, et teil on fail „video.mp4", mille soovite teisaldada kausta „üleslaadimised”. Allpool on kood, mis teisaldab faili tükkidena sihtkausta.
<?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.";
See selleks! See on nii palju lihtsat jupi üleslaadimist PHP-s. Tahaksin kuulda teie mõtteid või ettepanekuid allpool olevas kommentaaride jaotises.