Вот функция.
function printObj(obj) {
console.log((function traverse(tab, obj) {
let str = "";
if(typeof obj !== 'object') {
return obj + ',';
}
if(Array.isArray(obj)) {
return '[' + obj.map(o=>JSON.stringify(o)).join(',') + ']' + ',';
}
str = str + '{\n';
for(var p in obj) {
str = str + tab + ' ' + p + ' : ' + traverse(tab+' ', obj[p]) +'\n';
}
str = str.slice(0,-2) + str.slice(-1);
str = str + tab + '},';
return str;
}('',obj).slice(0,-1)))};
Он может отображать объект, используя вкладку tab с удобочитаемостью.
Проверьте свое разрешение на каталог, в котором находится файл. Вы видите, что когда файл не существует, он все равно создает файл. Смотрите документацию php fopen. Вот ссылка: fopen