Мне нужно прочитать все файлы в каталоге с помощью php. Так что мне нужно вернуть вот так
array(
'content_type' => 'application/zip',
'suggested_name' => 'this_is_example.zip',
'protected_path' => 'download/this_is_example.zip'
),
Мой сгенерированный файл выглядит следующим образом:
$download_list = array();
if(is_array($PROTECTED_DOWNLOADS)) {
foreach ($PROTECTED_DOWNLOADS as $key => $download) {
// Create a new key
$new = uniqid('key',TRUE);
// get download link and file size
$download_link = "http://" . $_SERVER['HTTP_HOST'] . DOWNLOAD_PATH . "?key=" . $new . "&i=" . $key;
$filesize = human_filesize(filesize($download['protected_path']), 2);
$filename = ($download['suggested_name']);
// Add to the download list
$download_list[] = array(
'download_link' => $download_link,
'filename' => $filename,
'filesize' => $filesize
);
/*
* Create a protected directory to store keys in
*/
if(!is_dir('history')) {
mkdir('keys');
$file = fopen('history/.htaccess','w');
fwrite($file,"Generator");
fclose($file);
}
/*
* Write the key key to the keys list
*/
$file = fopen('history/keys','a');
fwrite($file,"{$new}\n");
fclose($file);
}
}
Теперь все работает, но я должен сам вводить эти файлы перед запуском. Как я могу опубликовать все файлы из каталога? Теперь у меня так:
$PROTECTED_DOWNLOADS = array(
array(
'content_type' => 'application/png',
'suggested_name' => 'example.png',
'protected_path' => 'download/example.png'
),
array(
'content_type' => 'application/txt',
'suggested_name' => 'this_is_example.txt',
'protected_path' => 'download/this_is_example.txt'
),
array(
'content_type' => 'application/zip',
'suggested_name' => 'this_is_example.zip',
'protected_path' => 'download/this_is_example.zip'
),
array(
'content_type' => 'application/rar',
'suggested_name' => 'this_is_example.rar',
'protected_path' => 'download/this_is_example.rar'
),
array(
'content_type' => 'application/docx',
'suggested_name' => 'this_is_example.docx',
'protected_path' => 'download/this_is_example.docx'
)
);
Я пытался использовать glob(), scandir() и readdir(), но не смог получить желаемого результата. Спасибо!
Как далеко вы продвинулись? Добавьте код до сих пор, и люди могут настроить его, чтобы помочь.