2011-06-22 3 views
0

У меня есть контент, загруженный через ajax, который включает в себя функцию scandir(). На локальном и на моем сервере он работает отлично, однако на сервере моего клиента это не сработало, потому что они запускают PHP4 (scandir() был реализован в версии 5). Я назвал техническую поддержку, и их решение заключалось в изменении расширений файлов с .php на .php5. Однако это только частично работает, если я вызываю непосредственно страницу, но когда я загружаю ее через ajax, это не так.PHP-скандир с вызовом ajax

Есть ли способ исправить это? Я не знал, что ajax и PHP могут быть несовместимы.

EDIT

Вот часть кода. Есть просто галерея изображений и я использую 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> 

я на самом деле забыл, чтобы изменить .php5 в вызове Ajax, уже сделал это, но все равно не будет работать. Другое дело, что когда я вызываю страницу напрямую, слайд-шоу не работает, но, по крайней мере, фотографии есть.

Аякса вызов заключается в следующем:

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

Вам нужно будет указать код. Что произойдет, если вы сделаете вызов Ajax прямо в своем браузере? Какие возвращаемые значения вы получаете? –

+0

Я полагаю, что в вашем запросе ajax вы не заменили .php .php5 –

ответ

0

Вы можете попробовать добавить файл .htaccess для запуска php5 на расширениях, которые заканчиваются на .php, добавив

AddHandler application/x-httpd-php5 .php 

В файле .htaccess.

+0

Спасибо jpiasetz, это сработало! – brunn

Смежные вопросы