这是不是PHP的一个bug? ---关于上传文件使用日期做文件名的问题---在线等待 肯定是你程序的问题,这个move_uploaded_file函数就是替代copy的,没这个问题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我只写了上面一句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 move_uploaded_file($_FILES['upload']['tmp_name'],"./Image/".date("YmdHis").".jpg");前面带一个路径看看 to hotlynn (豆豆熊) 你是不是用 Linux 做 Web服务器。如果是,我就告诉你原因。 看样子没有人能够清楚这个问题了!下面是本人的代码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天了,还没有人知道咋回事情? ThinkPHP 乱码问题 求网页浏览计数器^-^^-^ 新手求助一个问题:怎么这个程序在IE和Chrome上运行结果不同? 如何实现邮箱激活账号!!!!!! dedecms调用面试题 imgage输出到文件,后面显示相关信息的问题 PHP网页中如何禁止图片的alt属性显示. 咋就不对劲儿泥 PHP 连接 Oracle的问题!急!!!!!!!!!!! PHP论坛用户上传头像的问题 如何编写PHP的DLL? 通过strtotime函数得到当月第一天0点的时间为何错误?
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
前面带一个路径看看
下面是本人的代码
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天了,还没有人知道咋回事情?