我将网站迁移到新托管(PHP 5.6),之后我收到此错误:
PHP警告:非法字符串偏移'路径'在第4行的/home/sitedirectory/public_html/website/templates/all_files.php
这是该文件
<?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; ?>
如何解决此问题?
答案 0 :(得分: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; ?>