whileが見ているのは「fgets()」の戻り値ですので、fgets()自体はfopenの成否にかかわらず実行されます。
エラーメッセージが提示されていないので予測になりますが、恐らくエラー内容は「fgetsの引数がおかしい」というようなモノではないでしょうか。
そもそもfopenに失敗しているのにfgetsさせるのもコードとしてはおかしいので、
PHP
1if(($fp = fopen(DIR_ENTITY."/conf/desc.dat", "r")) !== false) {
2 while((($buffer = fgets($fp)) !== false) {
と言うような形にしてはいかがでしょうか
2016/10/20 03:58