`
jdluojing
  • 浏览: 18018 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

basename函数 中文问题

 
阅读更多

前段时间对学校一电影站做了点修改,动态生成文件给用户下载,其中需要向一个页面传递一些参数,有些是中文。今天再去看,发现在下载的时候文件名中的中文全部获取不到,php中使用的是basename函数,前几天还好好的。在我本机上也没问题,就是放到服务器上就出现这个问题,参数传递中的中文是没有问题的,页面中能获取到,问题就除在basename这个函数上,更深层的问题没找到,可能跟php的版本或者配置有关系吧。既然basename不行,那就换一种方式吧!在网上看到一个利用正则表达式匹配出uri中文件名及后缀的方法,这个方法效率比利用substr和strrpos来做要高的多。

function get_basename($filename){

	 return preg_replace('/^.+[\\\\\\/]/', '', $filename);
	}

正则表达式处理字符串的能力真的是十分的强大啊!看来必须要掌握好这个知识点。好久没用php,以前学的都忘得差不多了...
分享到:
评论

相关推荐

    php使用函数pathinfo()、parse_url()和basename()解析URL

    3. `basename()` 函数: `basename()` 用于获取路径中的文件名,可选地去除指定的后缀。例如: ```php $test = basename("http://localhost/index.php?name=tank&sex=1#top"); echo $test; ``` 输出: ``` ...

    自编函数解决pathinfo()函数处理中文问题

    总之,对于处理中文文件名的问题,开发者需要具备对字符编码、字符串处理函数以及可能存在的编码问题的深入理解,以便编写出适应各种情况的代码。自定义的 `path_info()` 函数提供了一个有效的解决方案,但它并不...

    让phpmailer支持中文名称的附件和邮件标题中文乱码

    1. **避免使用`basename()`函数**:为了绕过`basename()`的限制,可以自己编写代码来提取文件名并确保支持中文字符。 ```php if (false === strpos($path, '/')) { $filename = $this->EncodeHeader($path); } ...

    GNU make中文手册

    - **$(basename FILE)**:说明 `basename` 函数如何提取文件的基本名。 - **$(addprefix PREFIX, TEXT)**:介绍 `addprefix` 函数如何在每个单词前添加前缀。 - **$(addsuffix SUFFIX, TEXT)**:解释 `addsuffix`...

    GNU MAKE 中文手册

    GNU MAKE的详细中文手册,目录如下: 目 录 第一章:概述 1.1 概述 1.2 准备知识 第二章:GNU make 介绍 2.1 Makefile简介 2.2 Makefile规则介绍 2.3 简单的示例 2.4 make如何工作 2.5 指定变量 2.6 自动...

    GNU make 中文手册 网页版

    GNU MAKE的详细中文手册,目录如下: 目 录 第一章:概述 1.1 概述 1.2 准备知识 第二章:GNU make 介绍 2.1 Makefile简介 2.2 Makefile规则介绍 2.3 简单的示例 2.4 make如何工作 2.5 指定变量 2.6 自动...

    Makefile 中文 教程 .pdf

    - **文件名操作函数**:例如 `basename`、`dirname` 和 `notdir` 等函数,用于提取文件名的部分信息。 - **foreach 函数**:类似于循环结构,可以对列表中的每个元素执行操作。 - **if 函数**:用于条件判断。 - ...

    Gun make中文手冊

    8.3.4 $(basename NAMES…) 8.3.5 $(addsuffix SUFFIX,NAMES…) 8.3.6 $(addprefix PREFIX,NAMES…) 8.3.7 $(join LIST1,LIST2) 8.3.8 $(wildcard PATTERN) 8.4 foreach 函数 8.5 if 函数 8.6 call函数 8.7 ...

    php笔试面试详解大全

    8. **当前脚本路径与参数**:使用`__FILE__`魔术常量获取当前脚本的完整路径,`basename()`函数则返回不含路径的文件名。如果需要参数,可以使用`$_SERVER['argv']`数组。 9. **JavaScript对话框**:`alert()`用于...

    php获取文件名称和扩展名的方法

    除了`basename()`和`dirname()`函数,`pathinfo()`函数也是一个很有用的工具。它将路径字符串作为输入,并返回一个关联数组,其中包含了文件的各个部分信息,包括目录名称(dirname)、文件名称(basename)和扩展名...

    KnowledgeTree乱码处理

    - 上述代码主要是在遍历文件夹路径时,检查每个文件夹名称是否已经是UTF-8编码,如果不是,则使用`iconv`函数将其从GBK编码转换为UTF-8编码,从而避免乱码问题的发生。 #### 四、注意事项 - 在安装过程中需要注意...

    浅谈Python2获取中文文件名的编码问题

    ### Python2 中获取中文文件名的编码问题解析 #### 一、问题背景及原因 在使用Python2处理中文文件名时,经常会遇到由于编码问题导致的乱码现象。这是因为不同操作系统对于文件名的默认编码可能有所不同,例如...

    PHP初学者头疼问题总结

    例如,当 URL 中包含中文字符或其他特殊字符时,可以使用 `urlencode()` 函数进行编码,避免出现乱码或解析错误。 **示例代码**: ```php $url = "test.php?a=".urlencode("你好")."&b=".urlencode("世界"); ``` ##...

    python常用指令.docx

    在Python中,中文注释可以通过在文件开头添加`#coding=utf-8`或`#coding=gbk`来确保文件以正确的编码方式保存,以防止中文字符出现乱码问题。 `type()`函数用于确定对象的数据类型。例如,`type(1)`将返回`...

    DNA元基索引ETL中文脚本编译机V002源码_补正21

    然后,它遍历`plSearch`中的每个命令,根据命令的类型调用相应的处理函数,如`P_SetRoot`, `P_BaseName`, `P_TableName`等,这些都是ETL过程中的关键操作,例如设置根目录、定义基础名称、获取表名等。 这些处理...

    gnu make中文手册

    - `$(basename FILENAME)`:如何提取文件名基础部分(不包含扩展名)。 - `$(suffix FILENAME)`:如何提取文件名扩展部分。 - `$(addprefix PREFIX,TEXT)`:如何在字符串前添加前缀。 - `$(addsuffix SUFFIX,...

    GNU-Makefile中文手册-Ver3.8.pdf

    《GNU Makefile中文手册》是针对GNU make工具的详尽指南,主要涵盖了Makefile的编写、规则、变量、条件执行、内嵌函数等多个方面。该手册由徐海兵翻译整理,不仅提供了对英文原版的翻译,还包含了作者对GNU make语法...

Global site tag (gtag.js) - Google Analytics