php - 如何在Laravel中访问%APPDATA%

标签 php laravel sqlite electron

我有包含laravel项目的 Electron 应用程序,我想在启动时创建一个sqlite数据库并将其存储在AppData文件夹中。然后从config文件夹中的database.php中,我要访问AppData文件夹并获取数据库。就启动时创建数据库而言,一切正常,但是我无法访问laravel中的AppData文件夹。它抛出一个错误。
这是我在AppServiceProvider中启动时创建数据库的代码

    public function boot()
{           
    
    if(!file_exists('%APPDATA%\pos\database.sqlite')){
         //1. create the file                   
        
        $handle = fopen('%APPDATA%\pos\database.sqlite', 'w') or die('Cannot open file');
        
        Artisan::call('migrate');
        
        fclose($handle);    
    }       
    
    
    
    Schema::defaultStringLength(191);
    Blade::directive('active', function ($url) {
        return "<?php echo request()->is($url.'*') || request()->is($url.'/*')? ' active' : ''; ?>";
    });       

}
这是我来自database.php的sqlite代码
        'sqlite' => [
        'driver' => 'sqlite',
        'url' => env('DATABASE_URL'),
        'database' => '%APPDATA%\pos\database.sqlite',
        'prefix' => '',
        'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
    ],
我该怎么办 ?是否有其他解决方案可用于以 Electron 方式检索数据库?

最佳答案

APPDATA是一个环境变量。您可以使用Laravel的env()帮助器函数进行访问。

$appdata = env('APPDATA');
确保当APPDATA环境变量不存在时,您有一个明智的备份计划。

关于php - 如何在Laravel中访问%APPDATA%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63124081/

相关文章:

java - 使用 split 方法分割字符串

c# - 我如何使用 System.Data.SQLite merge 制作单一可执行文件?

php - laravel工厂插入外键

php - 使用 Mysql 和 PHP 构建动态网站

Laravel 8 + 修补匠 : How to create dummy data

python - MySQL v. SQLite 用于基于 Python 的金融 Web 应用程序

javascript - 当从android调用带有一些js代码的php文件时,js代码是这种调用的输出

php - 用问号替换无效的 UTF-8 字符,mbstring.substitute_character 似乎被忽略

javascript - Laravel Form::选择更改背景颜色

php - Laravel:如何在 Laravel 查询构建器中使用派生表/子查询