Это просто потому, что вы просите curl создать имя файла, которое ваша операционная система (или, точнее, ваша файловая система) не позволяет ему использовать.
Ваш код указывает, что, если файл не существует, затем продолжайте извлекать копию с URL-адреса, и ни в коем случае вы не создаете локальный файл в своем скрипте PHP.
В вашей CURL Ваш код говорит
$fh = fopen ($local_filepath, 'w');
В PHP w имеет описание:
Открыть только для записи; поместите указатель файла в начале файла и обрежьте файл до нулевой длины. Если файл не существует, попытайтесь создать его .
Основная причина, по которой файлы не могут быть созданы, - это Разрешения папки, поскольку у нас есть константа для этой папки (define ('DIRECTORY_CACHE', './cache');
), вам необходимо иметь папку с именем cache в том же каталоге исполняемый скрипт . /
После этого CHMOD Папки на 777 и снова запустить скрипт