2010-12-01 168 views
1

我試圖使用PHP函數來讀取圖像的服務器目錄。然後需要使用.ajax()將圖像傳回給JQuery以用於幻燈片放映。我正在使用PHP函數希望簡化爲我的用戶添加/刪除圖像。基本上,他們所要做的就是添加或刪除目錄中的圖像以修改幻燈片並不編輯任何代碼。使用JQuery調用PHP函數.ajax()

我很努力讓JQuery函數返回我期待的。我已經完成了PHP已經有一段時間了,所以我可能會忽視某人。這裏是我的PHP代碼:

<?php 
    $path = "./"; 
while (false !== ($file = readdir($handle))) 
    { 
     if ($file != '.' && $file != '..') 
      echo "<img src=\"" . $path.$file. " alt=\"" . $file . "\>"; 
     { 
    } 
?> 

這是我的readImages jQuery函數:

function readImages() { 
    $.ajax({ 
     type: "POST", 
     url: "getimages.php", 
     dataType: "html", 
     success: function(imagepath){ 
      $(".slideshow").html(imagepath); 
      } 
    }); 

}

我想要做的就是將PHP與文件返回一個HTML格式的標籤名稱添加。 JQuery然後將返回的標籤添加到HTML代碼中。

到目前爲止...所有它的返回是「?{}>

任何想法,我在做什麼錯

回答

0

主要問題是borken如果結構Rob Olmos指出。但如果你使用php5,我也會切換到目錄迭代器而不是readfile

<?php 
    $path = "./"; 
    $dir = new DirectoryIterator(realpath($path)); 
    $img = '<img src="%s" alt="%s" />'; 

    foreach($dir as $file){ 
     if(!$dir->isDot() && 0 !== strpos('.', $file->getFilename()) && !$file->isDir()){ 
     $filepath = $path . $file->getFilename(); 
     echo sprintf($img, $filepath, $filepath); 
     } 
    } 
?> 
+0

這裏是上面的代碼返回 - 「;}}> ';的foreach($ DIR爲$文件){如果($ DIR-> isDot()&& 0 == strpos(!'? 。),$ file-> getFilename())&&!$ file-> isDir()){$ filepath = $ path。$ file-> getFilename(); echo sprintf($ img,$ filepath,$ filepath);} }?> 看起來像我在JQuery中做的事情是寫入PHP,因爲它寫。 – miraclechalk 2010-12-01 03:53:52

3

您如果()結構被破壞缺少一個開始,結束大括號

0

既然你說這回這個...

「。 {}?>

我的第一個猜測是你在關閉你的PHP時出現語法錯誤。缺少報價可能?

其餘部分看起來是正確的。