Не работает file_exists

Q_BASIC

Хранитель порядка
Регистрация
30 Ноя 2013
Сообщения
516
Реакции
1.240
Приветствую,

Код:
PHP:
function _copy_file($from, $to)
    {
        $directory = dirname($to);
     
        var_dump($directory, file_exists($directory));
     
        if( !file_exists($directory))
            if( !mkdir($directory, NULL, true)) die('cant create '.$directory);
     
        $copy = copy($from, $to);
     
        if( !$copy)
        {
            var_dump($copy);
        }
     
        return $copy;
    }

Даю ему файл, file_exists говорит что директория есть, а copy возвращает ошибку failed to open stream: Permission denied

Смотрю по FTP папку - в ней нет нужной, о которой file_exists говорит, что она есть.

Если убрать проверку, а оставить mkdir - она выдает ошибку File exists

Что не так?

ПЫСЫ: Через FileZilla создать директорию не удается и удалить не получается. Что не так?

Ошибка обнаружена. При указании вторым параметром для mkdir NULL, он создавал папки с правами 0, а не с параметрами по умолчанию
 
Последнее редактирование:
Вероятней всего вы в метод передаёте неправильные данные. Код рабочий, проверен правда на платформе windows. Это касаемо кода, в плане копирования и создании директории с копированием в неё файла.
 
Последнее редактирование:
Ни о чем не говорит информация об ошибке "Permission denied"? Какие права выставлены у каталога?
 
chmod 777 путь_до_файла
 
If your server is a windows, I think you have to configure write/access permissions to the parent folder direclty on your hosting painel, but if it's a linux you can change permissions directly on filezilla or any other ftp client. With mkdir function you can set the mode to configure write/access permission to the new folder as well.
 
Назад
Сверху