【问题标题】:PHP's scandir with ajax call带有ajax调用的PHP scandir
【发布时间】:2011-06-22 16:05:33
【问题描述】:

我通过 ajax 加载了一些包含 scandir() 函数的内容。在本地和我的服务器上它可以完美运行,但是在我的客户端服务器上它不起作用,因为它们运行 PHP4(scandir() 在版本 5 中实现)。我打电话给技术支持,他们的解决方案是将文件扩展名从 .php 更改为 .php5。但是,如果我直接调用页面,这只会部分起作用,但是当我通过 ajax 加载它时它不会。

有没有办法解决这个问题?我不知道 ajax 和 PHP 可能不兼容。

编辑

这是代码的一部分。只是一个图片库,我正在使用scandir() 来获取图片:

<div id="#vtabs-content-a">
    <ul class="slider">
        <?php
            $featured_dir = 'img/systems/6020/';
            $scan = scandir($featured_dir);
            echo '<li id="' . $scan[2] . '"><img src="' . $featured_dir . $scan[2] . '" alt="' . $scan[2] . '" width="700" height="350" /></li>';
        ?>
    </ul>
    <ul class="thumb 6020a">
        <?php
            $dir = 'img/systems/6020/z_thumbs/';
            $scan = scandir($dir);  
            for ($i = 0; $i<count($scan); $i++) {
                if ($scan[$i] != '.' && $scan[$i] != '..') {
                echo '<li><a href="#' . $featured_dir . $scan[$i] . '"><img src="' . $dir . $scan[$i] . '" alt="' . $scan[$i] . '" width="40" height="40" /></a></li>';
                }
            }; 
        ?>
    </ul>

我实际上忘记在 ajax 调用中更改为 .php5,已经这样做了但仍然无法正常工作。还有一点就是直接调用页面的时候幻灯片是不行的,但至少图片是有的。

ajax 调用是这样的:

$(".a6020").live("click", function(){
    $("#main").load("a6020.php5 #container", function(){
        $('#vtabs5').jVertTabs();
        $.getScript("js/scandir.js", function(){
        });
    });
});

【问题讨论】:

  • 你需要展示一些代码。如果直接在浏览器中进行 Ajax 调用会发生什么?你得到什么返回值?
  • 我想在你的 ajax 请求中你没有用 .php5 替换 .php

标签: php jquery scandir


【解决方案1】:

您可以尝试添加一个 .htaccess 文件以在以 .php 结尾的扩展名上运行 php5,方法是添加

AddHandler application/x-httpd-php5 .php 

到 .htaccess 文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-17
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    • 2013-10-09
    相关资源
    最近更新 更多