Hàm fwrite()
sẽ ghi nội dung nào đó vào vị trí hiện tại của con trỏ tệp tin của file. Nếu file đã có nội dung, nó sẽ ghi đè lên những nội dung trùng vị trí.
fwrite ( resource$handle
, string$string
[, int$length
] ) : int
$handle
là file đã được mở trước đó, là kết quả trả về từ hàm fopen()
.$string
là nội dung muốn ghi.$lenght
byte.<?php function fwrite_stream($fp, $string) { for ($written = 0; $written < strlen($string); $written += $fwrite) { $fwrite = fwrite($fp, substr($string, $written)); if ($fwrite === false) { return $written; } } return $written; } ?>
<?php $fp = fopen('data.txt', 'w'); fwrite($fp, '1'); fwrite($fp, '23'); fclose($fp); // the content of 'data.txt' is now 123 and not 23! ?>
<?php $filename = 'test.txt'; $somecontent = "Add this to the file\n"; // Let's make sure the file exists and is writable first. if (is_writable($filename)) { // In our example we're opening $filename in append mode. // The file pointer is at the bottom of the file hence // that's where $somecontent will go when we fwrite() it. if (!$handle = fopen($filename, 'a')) { echo "Cannot open file ($filename)"; exit; } // Write $somecontent to our opened file. if (fwrite($handle, $somecontent) === FALSE) { echo "Cannot write to file ($filename)"; exit; } echo "Success, wrote ($somecontent) to file ($filename)"; fclose($handle); } else { echo "The file $filename is not writable"; } ?>
<?php // BROKEN function - infinite loop when fwrite() returns 0s function fwrite_stream($fp, $string) { for ($written = 0; $written < strlen($string); $written += $fwrite) { $fwrite = fwrite($fp, substr($string, $written)); if ($fwrite === false) { return $written; } } return $written; } ?>
<?php $gfz = filesize_dir("d:\\starwars.mkv"); // 11,5GB echo 'Z:',$gfz,PHP_EOL; $fz = fopen('d:\\test2.mkv', 'wb'); $fp = fopen('d:\\starwars.mkv', 'rb'); echo PHP_EOL; $a = (float) 0; while(($l=fread($fp, 65536))) { fwrite($fz, $l); if(($a+=65536)%5) echo "\r", '>', $a, ' : ' , $gfz; } fclose($fp); fclose($fz); // test2.mkv' is 11,5GB function filesize_dir($file) { exec('dir ' . $file, $inf); $size_raw = $inf[6]; $size_exp = explode(" ",$size_raw); $size_ext = $size_exp[19]; $size_int = (float) str_replace(chr(255), '', $size_ext); return $size_int; } ?>
Các bạn có thể xem chi tiết hơn trên php.net.
Hi vọng với bài viết này, bạn đã hiểu rõ ứng dụng của hàm fwrite() trong PHP. Nếu bạn thấy bài viết hay và có ý nghĩa hãy like và chia sẻ bài viết này để mọi người cùng nhau học tập nhé. Cảm ơn các bạn đã ghé thăm codetutam.com
Bình luận: