我想在下载文件之前检查文件, 我有控制器下载和功能download_file
这是我的代码: 我厌倦了这段代码而且我总是没有
public function download_file($namafile,$nofile)
{
$filecek =(site_url()."/uploads/file/".$namafile);
$data = file_get_contents(site_url().'/uploads/file/'.$namafile);
echo "$filecek";
if (!file_exists($filecek)) {
echo "no";
}else {
force_download($namafile,$data);
echo "yes";
}
}
}
这是下载链接
<a href="<?php echo base_url(); ?>download/<?php echo $getFiles['file']; ?>/<?php echo $getFiles['nofile']; ?>"><i class="icon-download"></i> <?php echo $getFiles['kategori']; ?></a>
答案 0 :(得分:1)
sklearn
将不会以这种方式运作,因为您始终获得网站网址...
site_url()
检查服务器上是否存在目录或文件 - 所以你需要一个绝对位置..
您可以使用名为file_exists()
的{{1}} - 它指向CONSTANT
所在的目录。
所以基本上你可以试试以下
FCPATH
此处唯一的条件是index.php
中存在public function download_file($namafile,$nofile)
{
$filecek = FCPATH."uploads/file/".$namafile;
echo "$filecek";
if (!file_exists($filecek))
{
echo "no";
}
else
{
force_download($namafile, NULL);
echo "yes";
}
}
。
答案 1 :(得分:0)
$filecek
的输出是什么?
IMO $filecek =(site_url()."/uploads/file/".$namafile);
应更改为$filecek =(base_url()."/uploads/file/".$namafile);
,因为
echo base_url(); //http://example.com/website
echo site_url(); //http://example.com/website/index.php
访问资源base_url()
是可以接受的,因为您无法在http://example.com/website/index.php/file.ext