PHP排序功能在localhost上的工作方式不同,然后在网站服务器上

时间:2014-08-31 17:42:59

标签: php html sorting scandir

我有这个网站:http://www.oemsynthetics.com/order.php

在底部你会看到产品图片。我做的是我在一个文件夹中有产品图片并使用php scadir()来保存他们的名字。在每个名字的开头我放了一个数字,这样我就可以对它进行排序例如,其中一个图像名称是1motor-oil.jpg。当我在localhost上使用sort函数时,它通常按数字排序并且运行良好。在网站服务器上虽然它根本没有排序。 我不知道为什么。有人可以帮帮我吗? 这是我使用的代码:

<?php
//By Product Part 
    $byProduct = "http://amsoil.com/shop/by-product/";
    $byEquipment = "http://www.amsoil.com/shop/by-equipment/";
    $dirEqui = "./assets/byEquipment";
    $dirPr = "./assets/byProduct";
    $imagesPr = scandir($dirPr,0);//save all the image names in alphabetical order(I used numbers for ordering in a way that I want)
    $imagesEqui = scandir($dirEqui,0);//save all product images in alphabetical order by equipment
    //i = 2 because the the first files in directory are . and ..
    sort($imagesEqui, SORT_NATURAL | SORT_FLAG_CASE);//sort by equipment
    sort($imagesPr, SORT_NATURAL | SORT_FLAG_CASE);//sort the array naturally
   for ($i=2; $i < count($imagesPr); $i++) { 
       if(preg_match('/\.(jpg|png)/',$imagesPr[$i])){
        //Delete .jpg from the file name
            $product = $imagesPr[$i];
            $product = preg_replace('/\.(jpg|png)/','',$product);
            $product = preg_replace('/\d+/','',$product);
        //Create links and pictures
            echo "<a href='".$byProduct.$product."?zo=".ZO."'><img class='products' src='".$dirPr."/".$imagesPr[$i]."'></a>";
       }else continue;
   }
?>

提前感谢大家的帮助。

0 个答案:

没有答案