下面是一个使用PHP来测试硬盘写入速度的简单示例。请注意,这个示例可能不会非常精确,因为它受到PHP运行环境和文件系统缓存等多种因素的影响。但是,它可以给你一个大致的写入速度概念。
<?php
// 设置要写入文件的路径和大小(以MB为单位)
$filePath = 'test_write_speed.tmp';
$fileSizeMB = 100; // 100MB
$fileSizeBytes = $fileSizeMB * 1024 * 1024;
// 获取开始时间
$startTime = microtime(true);
// 写入文件
$handle = fopen($filePath, 'wb');
if ($handle) {
for ($i = 0; $i < $fileSizeBytes; $i += 1024) { // 每次写入1KB
fwrite($handle, str_repeat('x', 1024));
}
fclose($handle);
} else {
echo "无法打开文件以写入。\n";
exit;
}
// 获取结束时间
$endTime = microtime(true);
// 计算写入时间(秒)
$elapsedTime = $endTime - $startTime;
// 计算写入速度(MB/s)
$writeSpeed = ($fileSizeMB / $elapsedTime);
echo "写入速度: " . round($writeSpeed, 2) . " MB/s\n";
// 清理测试文件
unlink($filePath);
?>
这段PHP代码首先定义了要写入的文件路径、大小和每次写入的字节数(这里设置为1KB)。然后,它记录开始时间,打开文件进行写入,每次写入1KB直到达到指定的大小,之后关闭文件并记录结束时间。最后,它计算写入所花费的时间,并据此计算出写入速度(以MB/s为单位),并将结果打印出来。最后,它还会删除测试文件以清理环境。
请注意,由于文件系统缓存和其他因素的影响,这个测试可能不会非常精确,但它可以给你一个大致的写入速度范围。