PHP下载2路径

时间:2014-10-06 03:13:20

标签: php mysql download

我有脚本PHP下载2路径, 我尝试在localhost这个代码工作,但我尝试在我的服务器错误无法正常工作

此错误

  

解析错误:语法错误,意外' ['在第10行的C:\ xampp \ 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. 所以我希望这个脚本在我的服务器上运行。

1 个答案:

答案 0 :(得分:1)

该脚本使用PHP 5.4中引入的数组声明的简短形式。

使用PHP 5.4,您可以声明一个这样的数组:

$arr = [];  // for 5.3 you'd use $arr = array();

如果您的代码在一台服务器上运行但在另一台服务器上抛出此错误,则在发生故障的服务器上有一个小于5.4的PHP版本。

要么:将服务器升级到PHP 5.4或更高版本;或编辑代码以使用旧形式的数组声明。

注意 - 代码和早期版本的PHP之间可能存在其他不兼容性。升级服务器是可行的方法。