社区
基础编程
帖子详情
这是不是PHP的一个bug? ---关于上传文件使用日期做文件名的问题---在线等待
hotlynn
2005-09-16 10:28:47
上传文件如果 使用 日期做文件名,会出现上传完成后却在目标目录没有 上传的相关文件。不知道大家有没有碰到过这个问题,我用的是 php5
我的代码是这样的。上传文件我暂定是 jpg类型。
move_uploaded_file($_FILES['upload']['tmp_name'],date("YmdHis").".jpg");
...全文
176
10
打赏
收藏
这是不是PHP的一个bug? ---关于上传文件使用日期做文件名的问题---在线等待
上传文件如果 使用 日期做文件名,会出现上传完成后却在目标目录没有 上传的相关文件。不知道大家有没有碰到过这个问题,我用的是 php5 我的代码是这样的。上传文件我暂定是 jpg类型。 move_uploaded_file($_FILES['upload']['tmp_name'],date("YmdHis").".jpg");
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hotlynn
2005-09-18
打赏
举报
回复
看样子没有人能够清楚这个问题了!
下面是本人的代码
update.html:
<form action="uploadfile.php" method="post" enctype="multipart/form-data" name="upfrm" id="upfrm">
<label>
<input name="upload" type="file" id="upload" />
</label>
<label>
<input type="submit" name="Submit" value="提交" />
</label>
</form>
uploadfile.php:
$r = move_uploaded_file($_FILES['upload']['tmp_name'],date("YmdHis"));
if($r){
echo $_FILES['upload']['tmp_name']."<br/>";
echo "上传成功";
}
else{
echo "上传失败");
}
上面是相关代码,当上传成功时候,显示tmp_name 字符串 和 上传成功字样
但是 相关目录下却没有当前时间做文件名的文件。
我曾经创建一个目录 ./images/保存文件为 date("YmdHis")或者 sprintf("%s",time());
都出现上述问题,但是文件名改为 "abc"或者任意字母组合上传成功,找到abc文件。后来改为200050918091136 这样类似 date("YmdHis")的数字字符串,同样上传失败。
但是并不显示失败,而是提示上传成功。我已经换了3台电脑测试都出现这个问题。
请高手高手高高手指点一下。到底是什么原因造成的?
已经2天了,还没有人知道咋回事情?
uuq
2005-09-17
打赏
举报
回复
move_uploaded_file($_FILES['upload']['tmp_name'],"./Image/".date("YmdHis").".jpg");
前面带一个路径看看
helloyou0
2005-09-17
打赏
举报
回复
搞笑
hotlynn
2005-09-17
打赏
举报
回复
我只写了上面一句move_uploaded_file及一个提交页面。经过测试发现 如果名字为
date('Ymd')反复提交2次可以上传成功。如果使用 date('YmdHis')不能成功, 如
果使用 date('YmdHi')反复提交9次可以成功。
反复提交的意思就是,提交后页面提示上传成功,查看目标目录不存在上传文件,点击后退
按钮后退回到上一个提交页面,再次提交,如此反复。
本人设置文件名为 abc.jpg 上传顺利完成。如果输入 20050918102038.jpg则会出现
上传不成功。
这里的不成功说的没有错误提示,上传后返回值是1。 $_FILES['upload']['tmp_name']
查看 临时文件存在的情况下,使用move_uploaded_file 。目标文件夹中没有发现 上传保存民族
为日期数字串的文件,我测试用 sprintf("%s",time()) 做文件名,同意没有上传成功。
因此我断定可能是 php5的bug .
本人的操作系统: windows2003 + apache2 + php5 +mysql
_pb_
2005-09-17
打赏
举报
回复
to hotlynn (豆豆熊)
你是不是用 Linux 做 Web服务器。
如果是,我就告诉你原因。
baointoo1980
2005-09-17
打赏
举报
回复
我觉得应该是代码的问题.不会是有同名的情况,结果覆盖了吧?
ghost_zhihan
2005-09-16
打赏
举报
回复
可以用COPY函数啊
Cain
2005-09-16
打赏
举报
回复
检查你自己的程序
请保证程序逻辑的严谨
hotlynn
2005-09-16
打赏
举报
回复
就没有人遇到这个问题吗?
lawyu
2005-09-16
打赏
举报
回复
肯定是你程序的问题,这个move_uploaded_file函数就是替代copy的,没这个问题
全面实用的Python调试技巧-找
bug
的神技
四、学习计划1、每学完
一个
小节,建议
使用
相关代码演练一下2、每个小节没有强联系,可根据实际情况选择,未掌握的知识来重点学习3、建议坚持到最后,多实践操作五、服务1、对于课程的任何
问题
都可以联系老师
在线
解答...
java面试题(一)
1、面向对象的特征有哪些方面? - 1 - 2、访问修饰符public,private,protected,以及不写(默认)时的区别? - 1 - 3、String 是最基本的数据类型吗? - 1 - 4、float f=3.4;是否正确? - 1 - 5、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗? - 1 - 6、Java...
Git从入门到精通,Git命令大全
(1)所谓的暂存区只是
一个
简单的索引文件而已。 (2)暂存区这个索引文件里面包含的是文件的目录树,像
一个
虚拟的工作区,在这个虚拟工作区的目录树中,记录了
文件名
、文件的时间戳、文件长度、文件类型以及最重要的SHA-1值,文件的内容并没有存储在其中,所以说 它像
一个
虚拟的工作区。 (3)索引指向的是.Git/objects下的文件。 (4)暂存区的作用:除非是绕过暂存区直接提交,否则Git想把修改提交上去,就必须将修改存入暂存区最后才能commit。每次提交的是暂存区所对应的文件快照。...
【建议收藏】Linux工作/面试常用命令集锦
管道符“|”将两个命令隔开,左边命令的输出作为右边命令的输入。连续
使用
管道意味着第
一个
命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推 1 文件管理 1.1 which 用于查找文件 会在环境变量$PATH设置的目录里查找符合条件的文件 语法 which [文件...] 参数 -n<
文件名
长度> 指定
文件名
长度,指定的长度必须大于或等于所有文件中最长的
文件名
。 -p<
文件名
长度> 与-n参数相同,但此处的<
文件名
长度>包括了文件
简单
使用
Linux
我们以查看/roo目录下的所有文件的详细信息为例,来说明普通权限。total 4在上面的命令输出结果中包括了如下部分:-rw-r--r--10Dec3 20:28 aa1这个部分包括文件类型、所属者权限、所属组权限、其它人权限、控制列表权限2文件的链接数3文件所属者,即文件的创建者4文件所属组5文件的大小,单位为字节6文件的最后一次修改时间7
文件名
目录名称接下来我们重点来说第
一个
部分,即:1:表示文件的类型普通文件d目录l。
基础编程
21,886
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章