PHP Codeigniter-函数中传递的urlencode在url中删除.html
URl:/optimization/page/%2Flove-your-body-club.html中的值是正确的 但是当我在函数中的给定变量中收集url时,会删除.htmlPHP Codeigniter-函数中传递的urlencode在url中删除.html,php,codeigniter,codeigniter-3,urlencode,urldecode,Php,Codeigniter,Codeigniter 3,Urlencode,Urldecode,URl:/optimization/page/%2Flove-your-body-club.html中的值是正确的 但是当我在函数中的给定变量中收集url时,会删除.html function($url){ $urlDecoded = urldecode($url); 我已经尝试回显编码和解码的值,但仍然缺少.html 因为我在codeigniter中使用了page suffix.html作为默认值,所以它似乎将其作为传递变量的一部分来读取 任何解决方法?假设您在application/con
function($url){
$urlDecoded = urldecode($url);
我已经尝试回显编码和解码的值,但仍然缺少.html
因为我在codeigniter中使用了page suffix.html作为默认值,所以它似乎将其作为传递变量的一部分来读取
任何解决方法?假设您在
application/config/config.php
中将url\u后缀
配置设置为.html
,您只需修改函数,将url\u后缀
始终附加到输入字符串
试试这个:
function($url) {
$urlDecoded = urldecode($url . $this->config->item('url_suffix'));
}
我可能会创建一个助手函数,您可以在应用程序中的任何地方调用它,可以称之为myurldecode($url)
因此在application/helpers/my_helper.php中
add
<?php
function myurldecode($url) {
$CI =& get_instance();
return urldecode($url . $CI->config->item('url_suffix'))
}
如果我将字符串
'/optimization/page/%2Love your body club.html'
传递给urldecode()
,则返回值为'/optimization/page//love your body club.html'
。所以我的猜测是,$url
的值不是你想象的那样。我的问题是,你为什么要强迫CodeIgniter(一个PHP框架)提供html文件?它的设计目的是为视图提供.php文件,并使用指向控制器/方法/参数的URI。问题是它不显示实际的html文件。它用于从DB收集这些URL的数据。我有一个数据库(实际上是多个数据库)可以收集URL上的数据,这里的函数本身就是一个页面,在仪表板上提供这些数据。因此,函数本身被设计为从许多不同的表和数据库收集数据,因此需要基于Url进行操作,因为这些数据库和表除了实际Url之外没有其他关系
$autoload['helper'] = array('my_helper');