Php Laravel 4中的路由下载链接

Php Laravel 4中的路由下载链接,php,file,laravel,routes,Php,File,Laravel,Routes,我正在从事一个基于Laravel 4的项目。 我试图将一些结果保存到一个文件中,并提供给用户,以便他们可以下载它 看来Laravel有自己的路由机制。我在公用文件夹中创建了一个目录,并尝试使用URL::to函数来路由到该文件 我认为URL::to主要用于链接页面,是否有其他方法访问公用文件夹或存储文件夹中的文件 $fp = fopen(URL::to('download/file.csv'), 'w'); fwrite($fp,"\xEF\xBB\xBF"); fputcsv($fp

我正在从事一个基于Laravel 4的项目。
我试图将一些结果保存到一个文件中,并提供给用户,以便他们可以下载它

看来Laravel有自己的路由机制。我在公用文件夹中创建了一个目录,并尝试使用
URL::to
函数来路由到该文件

我认为
URL::to
主要用于链接页面,是否有其他方法访问公用文件夹或存储文件夹中的文件

  $fp = fopen(URL::to('download/file.csv'), 'w');
  fwrite($fp,"\xEF\xBB\xBF");
  fputcsv($fp,$cols,'$');
.... writing result ...
 fclose($fp);
 return "Done! <a href='".URL::to('download/file.csv')."' >Download</a>";
$fp=fopen(URL::to('download/file.csv'),'w');
写入($fp,“\xEF\xBB\xBF”);
fputcsv($fp,$cols,“$”);
.... 写作成绩。。。
fclose($fp);
返回“完成!”;

如果
下载
目录位于公用文件夹内,则可以使用
资产()
方法获取url,并使用
公用路径()
获取路径

  $fp = fopen(public_path().'/download/file.csv', 'w');
  fwrite($fp,"\xEF\xBB\xBF");
  fputcsv($fp,$cols,'$');
.... writing result ...
 fclose($fp);
 return "Done! <a href='".asset('download/file.csv')."' >Download</a>";
$fp=fopen(public_path()。/download/file.csv',w');
写入($fp,“\xEF\xBB\xBF”);
fputcsv($fp,$cols,“$”);
.... 写作成绩。。。
fclose($fp);
返回“完成!”;

请参阅。

如果
下载
目录位于公用文件夹内,则可以使用
资产()
方法获取url,并使用
公用路径()
获取路径

  $fp = fopen(public_path().'/download/file.csv', 'w');
  fwrite($fp,"\xEF\xBB\xBF");
  fputcsv($fp,$cols,'$');
.... writing result ...
 fclose($fp);
 return "Done! <a href='".asset('download/file.csv')."' >Download</a>";
$fp=fopen(public_path()。/download/file.csv',w');
写入($fp,“\xEF\xBB\xBF”);
fputcsv($fp,$cols,“$”);
.... 写作成绩。。。
fclose($fp);
返回“完成!”;

请参阅。

您可以使用laravel facades“更干净”地完成这些工作,例如公共路径和文件facade:

Route::get('file', function()
{
    $path = public_path('test.txt');
    $file = File::put($path, 'contents');
    return "<a href='".$path."'>Download</a>";
});

您可以使用laravel facades实现这些“更干净”的功能,例如公共路径和文件facade:

Route::get('file', function()
{
    $path = public_path('test.txt');
    $file = File::put($path, 'contents');
    return "<a href='".$path."'>Download</a>";
});

谢谢你的回答,如果你觉得有趣的话,请考虑投票,我已经做了一些修改。谢谢你的回答,如果你觉得有趣的话,请考虑投票,我已经做了一些修改。