2017-03-02 70 views
-6

我搬到現場,一個新的託管(PHP 5.6),並在此之後,我得到這個錯誤:PHP的警告:非法串偏移「路徑」和「標題」

PHP Warning: Illegal string offset 'path' in /home/sitedirectory/public_html/website/templates/all_files.php on line 4

下面是該文件


<?php defined('DIR') OR exit ?> 
     <div class="atachment"><?php echo (l()=='ge') ? 'Attached Documents' : 'Attachments'; ?></div> 
<?php foreach($files as $file) : ?>   
     <div class="pdf"><a href="<?php echo $file['path'];?>"><?php echo $file['title'];?></a></div> 
<?php endforeach; ?> 

我怎樣才能解決這個問題?

+2

哪裏是'被定義$ files'? – FrankerZ

+0

'$ files'包含什麼? – arkascha

+1

通過不嘗試使用字符串值,就好像它是一個數組... – CBroe

回答

0

錯誤表示$file陣列不包含密鑰path(或title);

在代碼中進行一些調試以找出錯誤的原因。例如,增加:

print_r($file); 

然後看看它是否用這些鍵輸出一個數組。

這可能是因爲一些$files是空的本質,在這種情況下,這樣做:

<?php foreach($files as $file) : ?> 
    <?php if (isset($file['path']) && isset($file['title'])) : ?>  
     <div class="pdf"><a href="<?php echo $file['path'];?>"><?php echo $file['title'];?></a></div> 
    <?php endif; ?> 
<?php endforeach; ?> 
+0

謝謝你@Niraj Shah 它的工作,代碼固定的問題:) – ULTRAMAX

相關問題