这个PHP opendir()在服务器上很累人吗? if(is_dir($dir)){ 如果($handle=opendir($dir)){ 而($file=readdir($handle)){ //将文件名按句点分隔;如果有多个文件,请抓取最后一个文件。 $parts=分解(“.”,$file); if(is_数组($parts)&&count($parts)>1){ $ext=结束($parts); //如果这是我们想要的图像,回显代码。 如果($ext==“png”或$ext==“png”或$ext==“jpg”或$ext==“jpg”或$ext==“jpeg”或$ext==“jpeg”或$ext==“gif”或$ext==“gif”) 回声“; } } closedir($handle); } ...
我在Wordpress中使用它,页面加载速度非常慢,但也可能是因为页面上有很多图像。我只是想确保我没有做一些因性能原因而不受欢迎的事情。获取firefox“quickjava”插件 通过这种方式,您可以禁用图像(通过单击右角的蓝色I使其变为红色),并在没有任何图像的情况下测试网页的性能。获取firefox“quickjava”插件这个PHP opendir()在服务器上很累人吗? if(is_dir($dir)){ 如果($handle=opendir($dir)){ 而($file=readdir($handle)){ //将文件名按句点分隔;如果有多个文件,请抓取最后一个文件。 $parts=分解(“.”,$file); if(is_数组($parts)&&count($parts)>1){ $ext=结束($parts); //如果这是我们想要的图像,回显代码。 如果($ext==“png”或$ext==“png”或$ext==“jpg”或$ext==“jpg”或$ext==“jpeg”或$ext==“jpeg”或$ext==“gif”或$ext==“gif”) 回声“; } } closedir($handle); } ...,php,performance,opendir,Php,Performance,Opendir,我在Wordpress中使用它,页面加载速度非常慢,但也可能是因为页面上有很多图像。我只是想确保我没有做一些因性能原因而不受欢迎的事情。获取firefox“quickjava”插件 通过这种方式,您可以禁用图像(通过单击右角的蓝色I使其变为红色),并在没有任何图像的情况下测试网页的性能。获取firefox“quickjava”插件 通过这种方式,您可以禁用图像(通过单击右角的蓝色I使其变为红色),并在没有任何图像的情况下测试网页的性能。您可以提高效率: if (is_dir($dir)) {
通过这种方式,您可以禁用图像(通过单击右角的蓝色I使其变为红色),并在没有任何图像的情况下测试网页的性能。您可以提高效率:
if (is_dir($dir)) {
if($handle = opendir($dir)) {
while($file = readdir($handle)) {
// Break the filename by period; if there's more than one piece, grab the last piece.
$parts = explode(".", $file);
if (is_array($parts) && count($parts) > 1) {
$ext = end($parts);
// If it's an image that we want, echo the code.
if ($ext == "png" OR $ext == "PNG" OR $ext == "jpg" OR $ext == "JPG" OR $ext == "jpeg" OR $ext == "JPEG" OR $ext == "gif" OR $ext == "GIF")
echo "<img src=\"$path/$file\" />";
}
}
closedir($handle);
}
...
$extension=strtoupper(pathinfo($file,pathinfo_扩展名));
if(在数组中($extension(数组('PNG','JPG','JPEG','GIF')){
回声';
}
或者甚至使用而不是opendir/readdir/closedir…因为您可以给它一个文件扩展名模式
但是它并没有天生的慢那么你可以让它更高效:
if (is_dir($dir)) {
if($handle = opendir($dir)) {
while($file = readdir($handle)) {
// Break the filename by period; if there's more than one piece, grab the last piece.
$parts = explode(".", $file);
if (is_array($parts) && count($parts) > 1) {
$ext = end($parts);
// If it's an image that we want, echo the code.
if ($ext == "png" OR $ext == "PNG" OR $ext == "jpg" OR $ext == "JPG" OR $ext == "jpeg" OR $ext == "JPEG" OR $ext == "gif" OR $ext == "GIF")
echo "<img src=\"$path/$file\" />";
}
}
closedir($handle);
}
...
$extension=strtoupper(pathinfo($file,pathinfo_扩展名));
if(在数组中($extension(数组('PNG','JPG','JPEG','GIF')){
回声';
}
或者甚至使用而不是opendir/readdir/closedir…因为您可以给它一个文件扩展名模式
但是它本身并不慢我们不能确切地说opendir慢,因为有许多配置值会影响性能 您应该做的是对应用程序中的代码段进行基准测试,如下所示:
$extension = strtoupper(pathinfo($file, PATHINFO_EXTENSION));
if (in_array($extension(array('PNG', 'JPG', 'JPEG', 'GIF'))) {
echo '<img src="$path/$file" />';
}
看看到底花了多长时间来处理
其他一些提示:
$ext==“png”或$ext==“png”
是多余的,您应该使用$ext=strtolower(end($parts));
然后只使用:
$start = microtime(true);
//Your Code
$end = (microtime(true) - $start);
更好的是,你可以直接使用
$ext == "png" OR $ext == "jpg" OR $ext == "jpeg" OR $ext == "gif"
另外,不要使用
或
,只需对OR条件使用双管道操作符:|
我们不能确切地说opendir很慢,因为它们有许多配置值可以影响性能
您应该做的是对应用程序中的代码段进行基准测试,如下所示:
$extension = strtoupper(pathinfo($file, PATHINFO_EXTENSION));
if (in_array($extension(array('PNG', 'JPG', 'JPEG', 'GIF'))) {
echo '<img src="$path/$file" />';
}
看看到底花了多长时间来处理
其他一些提示:
$ext==“png”或$ext==“png”
是多余的,您应该使用$ext=strtolower(end($parts));
然后只使用:
$start = microtime(true);
//Your Code
$end = (microtime(true) - $start);
更好的是,你可以直接使用
$ext == "png" OR $ext == "jpg" OR $ext == "jpeg" OR $ext == "gif"
另外,不要使用或
,只需对OR条件使用双管道操作符:|