<?php function data_info($data) { if ($data) { while (!feof($data)) { $buffer = fgets($data); if (file_exists($buffer)) { $bufferArray[$buffer]['Exists'] = (file_exists($buffer)); $bufferArray[$buffer]['Readable'] = (is_readable($buffer)); $bufferArray[$buffer]['Writable'] = (is_writable($buffer)); $bufferArray[$buffer]['Size'] = (filesize($buffer)); } else { $bufferArray[$buffer]['Exists'] = 'No'; } } print_r($bufferArray); } else { echo 'The file could not be opened'; } } $data = fopen('D:/xampp/htdocs/Practice/ficheros.txt', 'r'); data_info($data); ?>
If I have this: ficheros.txt: ExistingFile.txt ExistingFile2.txt ExistingFile3.txt… … It works, but If I have at least 1 NON EXISTING FILE then It will take every file as a non existing one too.
What’s wrong? I believe someting in the inner if condition.
I mean, what is wrong with the entire code.
I just need to make an array with arrays in it, a good result would be:
array ( 'text.txt' => array ( 'exists' => true, 'readable' => true, 'writable' => true, 'Size' => 64 ), 'document.doc' => array ( 'exists' => false ), 'photo.jpg' => array ( 'exists' => true, 'readable' => true, 'writable' => false, 'size' => 354915 ) )
Hmm, well that works in Linux (though I have to trim the filename
$bufferfirst).