Система, на которой я работаю — это CentOS 6. Предположим, у меня есть этот путь к файлу: /var/www/examplesite.com/uploads/Dog Photos/happy dog.jpg
Чтобы поддержать пробелы, я бегу простой $filepath = str_replace(' ', '\\ ', $filepath)
чтобы избежать пробелов.
Это приводит к новому пути к файлу: /var/www/examplesite.com/uploads/Dog\ Photos/happy\ dog.jpg
Тем не мение, file_exists($filepath)
возвращает ложь
Это странно, потому что stat /var/www/examplesite.com/uploads/Dog\ Photos/happy\ dog.jpg
возвращает правильную информацию о файле.
Что я делаю неправильно?
Сделайте разрешение 777 для доступа к этой папке. Также при загрузке файла вы можете изменить имя файла, просто вставив подчеркивание вместо пробела.
Других решений пока нет …