Научитесь отлаживать ваш код.
supplied argument is not a valid stream resource
означает, что переданная переменная содержит неожиданное значение.Таким образом, мы можем сделать логический вывод , что функция, возвращающая эту переменную, потерпела неудачу.Так.мы должны проверить fopen($file, "r");
что делает его неудачным?Может быть, мы можем проверить, существует ли файл?И т. Д.
Это называется отладкой, и вы не можете программировать без нее.
Хотя это кажется очень странным.Потому что fopen также должен выдавать ошибку.