2012-03-30 26 views
1

所以我想我會寫我的第一個codeigniter助手(對於codeigniter來說還是有點新的)。我需要一些能夠從照片目錄返回一系列文件名的超鏈接。這樣我就不必自己寫出每個文件名了,並且向該目錄添加新照片可以動態更新該網站。無法讓我的幫手返回結果

所以我做了一個名爲photo_helper.php新的幫手,看起來像這樣:

<?php 

    function spit_out_images($path) 
    { 
     $aryPhotos = get_filenames($path); 

     //does parsing to create hyperlinks 

     return $aryPhotos; 
    } 

我設置了filephoto助手自動加載在我的autoload.php

然後在我看來,我叫助手功能spit_out_images像這樣:

<?php 
     $photoPath = base_url().'assets/_images/TwentyYears/thumbs'; 
     echo spit_out_images($photoPath); 

?> 

但我從來沒有得到任何結果出。我甚至試圖迴應$photoPath變量,以確保它正確地發佈了路徑,它是。

我確定這是簡單的東西我很想念,我只是無法弄清楚。

謝謝!

+0

'get_filenames()'返回什麼? var_dump(spit_out_images($ photoPath));輸出是什麼? – 2012-03-30 20:56:43

+0

你的幫手是否包含一個遞歸函數? – itachi 2012-03-30 20:57:46

+0

var_dump()返回'bool(false)',但我不確定這意味着什麼。我嘗試使用'get_filesnames($ photoPath)',但它不返回任何內容。雖然目錄中有照片。 – drpcken 2012-03-30 21:02:41

回答

1

確保base_url() . 'assets/_images/TwentyYears/thumbs'具有Apache/PHP執行和讀取目錄和文件的正確權限,0755應該是合適的模式。

+0

它在我刪除base_url()時起作用。它返回數組。我應該更改權限還是直接使用沒有http:// baseurl的直接路徑? – drpcken 2012-03-30 21:31:19

+0

@drpcken:我的壞,我甚至沒有注意到你正在調用'base_url()'! 'get_filenames()'是一個文件系統函數,它與HTTP協議和URL無關,所以放下它即可。您不應該需要更改權限。 – 2012-03-30 21:33:25

+0

我覺得你應該得到答案,指出我在正確的方向:) – drpcken 2012-03-30 21:35:28

0

很可能您沒有從該目錄的讀取權限。您可以使用filezilla檢查目錄權限,但要更改您將需要ssh訪問權限。