2017-03-02 58 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