2017-06-19 51 views
0

的download.php编码下载网址

$dl_file = $_GET['download_file']; 

我不想直接显示下载网址我每次指向箭头的时间来下载按钮,我使用笨。我如何编码?

回答

0

基地64不会在所有的工作因为它使用的字符不能通过浏览器传输。

你应该使用它如下:

href="http://mywebsite/index.php/files/download?download_file=<?php echo urlencode(base64_encode($ph['FileName']));?>" 

而且它的download.php

$dl_file = base64_decode(urldecode($_GET['download_file'])); 
+1

base64编码所说==登录编码值和它不是由在缺省URL允许的。所以你应该去**的application/config/config.php文件** 并更改以下值。 '$ config ['permitted_uri_chars'] ='a-z 0-9〜%。:_ \ - =';' 最后的等号是由我添加的,但它不会默认存在。 –

+0

非常感谢! :) – jenii

+0

@HimanshuUpadhyay有没有更强的编码比的base64? – jenii

0

为了达到你的目的,你可以做的是:

编码您的网址

href="http://mywebsite/index.php/files/download?download_file=<?php echo base64_encode($ph['FileName']);?>" 

而且它的download.php解码

$dl_file = base64_decode($_GET['download_file']); 
+0

base64编码把==登录编码值,它是不是默认的URL允许解码。所以你应该去**的application/config/config.php文件** 并更改以下值。 '$配置[ 'permitted_uri_chars'] = 'A-Z 0-9%〜:_ \ - =';' 等号,最后是由我添加的,但它不会存在默认情况下。 –