directory_separator:Windows主机下EduSoho编辑区上传文件路径异常

上传文件由“/files/default/2020/07-30/182238ee4e1c385083.png” 变成了“/files\\default/2020/07-30/182238ee4e1c385083.png”directory_separator,这个问题多出现在Windows服务器中。

directory_separator:Windows主机下EduSoho编辑区上传文件路径异常

原因是因为在不同的服务器环境中“DIRECTORY_SEPARATOR”所识别的值是不同的directory_separator。所以需要对代码进行修改

directory_separator:Windows主机下EduSoho编辑区上传文件路径异常

程序修改src/AppBundle/Controller/EditorController.php

// $url = rtrim($this->container->getParameter('topxia.upload.public_url_path'), ' /').DIRECTORY_SEPARATOR.$parsed['path'];// Windows主机路径错误处理directory_separator,替换斜线$url = rtrim($this->container->getParameter('topxia.upload.public_url_path'), ' /').'/'.$parsed['path'];

怎么修改laravel的config下面的配置文件

前言

难道每次改 .env 都得通过修改代码来改吗?.env 文件能不能通过在后台配置呢? 其实是很简单就可以实现的,把以下函数加入到你的项目中

示例代码

function modifyEnv(array $data)

{

$envPath = base_path() . DIRECTORY_SEPARATOR . \'.env\';

$contentArray = collect(file($envPath, FILE_IGNORE_NEW_LINES));

$contentArray->transform(function ($item) use ($data){

foreach ($data as $key => $value){

if(str_contains($item, $key)){

return $key . \'=\' . $value;

}

}

return $item;

});

$content = implode($contentArray->toArray(), \"\\n\");

\\File::put($envPath, $content);

}

使用

// 你可以更新你想要的任何值 key => value

$data = [

\'APP_ENV\' => \'your_environment\',

\'APP_KEY\' => \'your_key\',

\'APP_DEBUG\' => \'trueOrFalse\',

\'DB_DATABASE\' => \'test\',

\'DB_USERNAME\' => \'test\',

\'DB_PASSWORD\' => \'test\',

\'DB_HOST\' => \'localhost\',

\'CACHE_DRIVER\' => \'file\',

\'SESSION_DRIVER\' => \'file\',

];

// 或者

$data = [

\'DB_HOST\' => \'127.0.0.1\',

];

// 使用函数更新

modifyEnv($data);

怎样,是不是很简单,这样就可以通过后台图形化配置 Laravel 的 .env 文件啦