Skip to main content
 首页 » 编程设计

php之如何优化这个简单的PHP脚本

2025年12月25日55exmyth

通过AJAX请求,每个用户都会多次调用该第一个脚本。它在另一台服务器上调用另一个脚本以获取文本文件的最后一行。它工作正常,但是我认为还有很多改进的余地,但是我不是一个很好的PHP编码器,因此我希望在社区的帮助下,我可以针对速度和效率进行优化:

对此脚本发出的AJAX POST请求

<?php session_start(); 
$fileName = $_POST['textFile']; 
$result = file_get_contents($_SESSION['serverURL']."fileReader.php?textFile=$fileName"); 
echo $result; 
?> 


它对该读取文本文件的外部脚本发出GET请求

<?php 
$fileName = $_GET['textFile']; 
if (file_exists('text/'.$fileName.'.txt')) { 
    $lines = file('text/'.$fileName.'.txt'); 
    echo $lines[sizeof($lines)-1]; 
} 
else{ 
    echo 0; 
} 
?> 


我将不胜感激任何帮助。我认为在第一个脚本中可以做更多的改进。它产生了一个昂贵的函数调用(file_get_contents),至少我认为它很昂贵!

请您参考如下方法:

该脚本应限制将要返回的位置和文件类型。

想想有人尝试这样做:

http://www.yoursite.com/yourscript.php?textFile=../../../etc/passwd(或类似名称)

尝试找出延迟发生的位置.. HTTP请求是否花费很长时间,或者文件太大而导致读取花费很长时间。

如果请求很慢,请尝试在本地缓存结果。

如果文件很大,那么您可以设置一个cron作业,以固定的时间间隔(或每次更改)提取文件的最后一行,并将其保存到其他脚本可以直接访问的文件中。