Как исправить ошибку Filemtime & File Put Content (?) [Laravel] - PullRequest
1 голос
/ 10 октября 2019

У меня есть код ошибки в файле controller. Ошибка, почему я перехожу с хостинга на локальный. И где я использую xampp я вижу эту ошибку. Моя ошибка в:

Ошибка file_put_contents:

file_put_contents (/home/xxxx/public_html/xxx/index.phpclient/localhost/stylesheet.less): не удалось открыть поток: неттакой файл или каталог в /home/xxxx/public_html/xxx/application/controller.php

Ошибка exec ():

Предупреждение: exec () отключенапо соображениям безопасности в /home/xxxx/public_html/xxx/application/controller.php в строке

Ошибка filemtime:

Предупреждение: filemtime (): stat не удалось выполнить для/home/xxxx/public_html/xxx/index.phpclient/localhost/stylesheet.css в /home/xxxx/public_html/xxx/application/controller.php

А это мой код:

public function get_client_css()
    {
        //$client   = $GLOBALS['config']['real_path'] . 'client/' . $GLOBALS['config']['subdomain'];
        $client   = $GLOBALS['config']['real_path'] . 'client/' . $GLOBALS['config']['subdomain'];
        $base     = str_repeat('../', count($GLOBALS['request']));
        $baseless = $GLOBALS['config']['real_path'] . 'assets/less/base.less';
        $lessc    = $GLOBALS['config']['app']['lessc'];
        $fileless = $client . '/stylesheet.less';
        $filecss  = $client . '/stylesheet.css';

        if(!file_exists($fileless))
        {
            //file_put_contents($fileless, "@import \"../../assets/less/base.less\";\n");


            file_put_contents($fileless, "@import \"../assets/less/base.less\";\n");

        }

        if(file_exists($filecss))
        {
            $newless = filemtime($fileless) > filemtime($filecss);
            $newbase = filemtime($baseless) > filemtime($filecss);

            if($newless OR $newbase)
            {
                exec("$lessc \"$fileless\" \"$filecss\"");
            }
        }
        else
        {
            exec("$lessc \"$fileless\" \"$filecss\"");
        }

        $time = filemtime($filecss);
        return $base . 'client/' . $GLOBALS['config']['subdomain'] . '/stylesheet.css?m=' . $this->to_base($time);
    }

Что мне делать? Я думаю, что не изменил код: (

1 Ответ

0 голосов
/ 10 октября 2019

Ваш родительский каталог, вероятно, не существует, вы можете добавить его до file_put_contents

if (!file_exists($client)) mkdir($client, 0777, true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...