- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
根据 the POST method uploads section的 the PHP Manual , $_FILES['userfile']['name']
是客户端机器上文件的原始名称。该部分中的示例 #2 使用 basename
使用 $_FILES['userfile']['name']
的函数如下所示:
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
我在本地主机(Apache 2.2.14、PHP 5.3.1、Windows XP)上做了一些实验,发现以下两行是等价的:
$_FILES['userFile']['name']; // "file.txt"
basename($_FILES['userFile']['name']); // "file.txt"
也就是说,将 basename
函数与 $_FILES['userFile']['name']
一起使用似乎是多余的。不是吗?
最佳答案
That is, using the basename function with $_FILES['userFile']['name'] seems rather redundant. Isn't it?
不,正如@Gumbo 在他的回答中所描述的那样,首先是出于安全原因;其次,因为旧版本的 IE 过去常常在客户端提供文件的完整路径,比如
C:\Documents and Settings\Username\Desktop\Image_cropped.jpg
这种行为最近在 IE8 中停止了。来自 this MSDN blog entry通过 this SO question 发现:
File Upload control
Additionally, the “Include local directory path when uploading files” URLAction has been set to "Disable" for the Internet Zone. This change prevents leakage of potentially sensitive local file-system information to the Internet. For instance, rather than submitting the full path C:\users\ericlaw\documents\secret\image.png, Internet Explorer 8 will now submit only the filename image.png.
关于php - 将 basename 函数与 $_FILES ['userFile' ] ['name' ] 一起使用不是多余的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2347056/
出于某种原因,我的代码正在做这种奇怪的事情,其中 fileparse 只打印(字面意思)File::Basename use strict; use warnings 'all'; use
>>> os.path.basename("../dir/") '' $ basename ../dir/ dir documentation os.path.basename(path) Retur
我确定我遗漏了什么,但我无法弄清楚。鉴于: $ find -type f ./hello.txt ./wow.txt ./yay.txt 为什么接下来的两个命令呈现不同的结果? $ find -typ
非常感谢您的帮助。 标题说明一切:使用有什么区别: echo `basename $HOME` 和 echo $(basename $HOME) 请注意,我知道 basename 命令的作用,两种语法
我有一个文件数组,我试图仅获取文件的基本名称,而不包含长扩展名。下面是数组的示例: [ '/public/uploads/contentitems/.DS_Store', '/public/u
我正在编写一个需要接收文件名的 bash 脚本,它可能类似于: “文件名 - Copy.txt” 当我尝试获取此文件的文件名时,basename 似乎将破折号作为操作数拾取并失败。 basename:
FOLDERS=$( basename "$(find "${LOG_DIR}" ! -path "${LOG_DIR}" -type d )") /storage/archive/fakeagent
我写了一个 shell 脚本来把我这边的很多 JPG 转换成 pdf #!/bin/bash set -xv for i in `ls -v *.JPG`; do i=$(basename "$i
给定以下命令: $(basename "/this-directory-does-not-exist/*.txt" ".txt") 它不仅输出 txt 文件,还输出其他文件。另一方面,如果
我需要一个作为 bash 脚本参数的文件的基本名称。基本名称应该去掉其文件扩展名。假设 $1 = "/somefolder/andanotherfolder/myfile.txt",所需的输出将是 "
我们有: $path = "/home/httpd/html/index.php"; $file = basename($path); // $file is set to "inde
我有一个奇怪的错误,在下面的代码中,basename() 已完成删除 $file: $files = glob(DIR_APPLICATION . 'controller/module/*.php')
我有一个奇怪的错误,在下面的代码中,basename() 已完成删除 $file: $files = glob(DIR_APPLICATION . 'controller/module/*.php')
我在一个 Windows 盒子上,我正在使用 basename 从一些目录中提取文件名。显然,文件名的大小是有限制的,否则 basename 会抛出一个错误(之前我在 linux 上,我不记得有什么问
编写脚本来优化我的网络图片。名称中包含空格的文件名和目录有问题。 这是我所拥有的: read -p "Enter full path from root (/) to your site... exa
这是我的片段: __VERSION="0.0.1" __COMMAND="${basename}" __USAGE="$__COMMAND -abc args" if [ $# == 0 ] ; th
#!/bin/bash file=debian.deb test=basename $file .deb DP="blah/blah/$test/$test.php" read -p "[$DP]:
在 bash Linux 中 v1=$(basename $0) gives filename.ext v1=${v1%.*}.log replaces e
运行 os.path.basename(__file__) 有时给我的文件名是 foo.py,但有时它会给出 foo.pyc。我知道pyc是编译后的文件,编译后可能每次都使用它。我只是对为什么 bas
这是一个简单的例子来说明这个问题: print basename('léquipe.jpg'); // léquipe.jpg print basename('équipe.jpg'); // qu
我是一名优秀的程序员,十分优秀!