我有脚本PHP下载2路径,我在localhost中尝试此代码工作,但我在服务器错误中尝试不工作
此错误
分析错误:语法错误,第10行上C:''examplep''htdocs''pm_mobile_indosat''link.php中出现意外的"["
全代码
<?php
include "conection.php";
$id = $_GET['id'];
$data = mysql_fetch_array(mysql_query("SELECT * FROM task WHERE id = '$id'"));
$paths = [
"Attachment/".$data['task_id']."/",
"D:/ALL BACKUP GOES HERE/Attachment_kt_fri_jpg_dll/".$data['task_id']."/"
];
foreach ($paths as $path) {
if (file_exists($path . $data['attachment_file'])) {
header("Content-Disposition: attachment; filename=" . $data['attachment_file']);
print file_get_contents($path . $data['attachment_file']);
exit;
}
}
echo "File not found";
exit;
?>
中的此错误
$paths = [
"Attachment/".$data['task_id']."/",
"D:/ALL BACKUP GOES HERE/Attachment_kt_fri_jpg_dll/".$data['task_id']."/" ];
因为我有一个脚本,如果磁盘C满了,那么磁盘C中的文件就会被剪切到磁盘D。所以我想让这个脚本在我的服务器上运行。
脚本使用PHP 5.4中引入的数组声明的缩写形式。
使用PHP5.4,您可以声明这样的数组:
$arr = []; // for 5.3 you'd use $arr = array();
如果您的代码在一台服务器上运行,但在另一台服务器中抛出此错误,那么在出现故障的服务器上,您的PHP版本低于5.4。
要么:将服务器升级到PHP 5.4或更高版本;或者编辑代码以使用数组声明的旧形式。
注意:代码和早期版本的PHP之间可能存在其他不兼容之处。升级您的服务器是最好的选择。