所以我有一个名为/ kv /的目录,我想要它,所以当你去blah.com/getkv.php它将从目录下载一个随机文件。如果可能的话,我希望它在下载文件后删除它。所有帮助将不胜感激!
答案 0 :(得分:3)
您可以按数字顺序存储文件,然后通过生成随机数随机选择一个文件。
$random = mt_rand(1,100); //The amount of files you have
接下来,一旦选择了文件,您就可以设置下载标题
$file="/path/to/file/".$random.".png"; //file location
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file).'"');
header('Content-Length: ' . filesize($file));
readfile($file);
最后用
删除文件delete($file);
选择随机文件的另一种方法是索引文件夹,然后随机选择其中一个文件。
进行检查以确保文件存在也是明智的。
答案 1 :(得分:0)
这里有一些PHP从目录中获取随机文件:
$files = glob('*.{php,html}', GLOB_BRACE);
$file = $files[rand(0,count($files) - 1)];
然后添加viralpickaxe提供的部分答案:
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file).'"');
header('Content-Length: ' . filesize($file));
readfile($file);
...并从目录中删除该文件:
unlink($file);