$fp
- это дескриптор, а не реальные данные из файла. Вы можете использовать эту ручку в других функциях, таких как fread
или fclose
.
file_get_contents
внутренне открывает файл, читает его, закрывает файл и возвращает строку. Поэтому, когда вы печатаете результат последнего, вы получаете содержимое файла.
Попробуйте echo fgets($fp)
и посмотрите, что вы получите.