有劳大家提供思路:php如何实现象263邮件系统那样循环粘贴,最后提交实现上传多个文件? 这个问题太高深,我看没多少人能回答;至于你说的 2. 应该不是问题,因为文件上传后一般改名为"原文件名+time()"的形式,这样重名的几率微乎其微,你硬要说还是会有重名(哪怕是亿分之一),那就有点钻牛角尖了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你看了copy()函数工作过程就知道了文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。所以在删除之前要用PHP的 copy() 函数将它复制到其它位置,此时,才算完成了我们的上传文件过程。 bflovesnow(北风) 我明白你的意思,但是有多个文件要上传,势必要单独打开一页循环上传文件,用copy函数临时保存到临时目录,通过session记住文件名,问题是如果用户在关闭上传页后退出浏览器,那文件岂不一直搁在临时目录了? session会有到期时间,用session是一个不错的办法。 263的上传附件不是session实现纪录上传文件的。他是先把文件上传到某个数组变量或者是mail系统的一个临时存放附件的文件夹内,文件名很可能是用户名+日期(或者是用户登陆时的sid---系统随机给的一个数,用于发送带附件的信件的标示).msg。当用户上传完毕后,系统会利用java把该用户上传的文件名、路径传给“新邮件”的窗口。提交后就把信的内容和附件发给收件人了。具体实现方法搂住可以下一些mail程序参考以下。松树邮件就别研究了,他的一个文件你可能就的研究一天。你可以下一些小的邮件系统。 2、上传到服务器的临时文件是如何管理的,如果有多个客户端同时在上传如何避免冲突(如:重名)?md5、uniqid、tempnam均可产生唯一的串。当服务器很快且访问频繁时,建议用tempnam。应为在此情况下确实发生过以时间为基数的唯一串不“唯一”的现象(主频低于200M的不会发生)若使用tempnam,那么就不能用copy了而是用fwrite。最好不要单用md5,因为其结果无规律,会给后续操作带来麻烦。1、在弹出窗口中粘贴多个文件后,应该在服务器端保存这些临时文件了,用session可以保存这些文件的路径,但是如这时客户端放弃粘贴退出浏览器,这些临时文件如何处理?file对象是只读对象,不能对其赋值。所谓“粘贴文件”的过程,应该是窗口间复制file对象的过程(这一点有待证实)。真正上传是在提交时完成,所以在此之前的操作都与服务器端无关,也无临时文件一说。即便是每选一个文件就上传一次。由于有与用户名相关的唯一的文件名,当用户意外中断了当前操作时,这些文件可以任其保留到该用户的下次访问时再删除。正常情况下是用户退出登录时删除 to: xuzuning(唠叨) [这些文件可以任其保留到该用户的下次访问时再删除。正常情况下是用户退出登录时删除]1、下次访问如何知道临时文件的文件名吗?整个临时目录都删?万一别的用户正在用临时文件呢?2、黑客可否利用这个漏洞把服务器填满? 1、下次访问如何知道临时文件的文件名吗?整个临时目录都删?万一别的用户正在用临时文件呢?此类功能应该只有注册用户使用,设用户名保存在$username中。令$username = "my"; //用户名则uniqid($username); 可得形如my3fa07ba213139my3fa07ba213231...的串而tempnam("/tmp",$username);可得形如/tmp/my19.tmp/tmp/my1A.tmp...的文件名由于均含有用户名,所以删除时可以有所选择。这也就是建议不使用md5的原因2、黑客可否利用这个漏洞把服务器填满?这种可能性是存在的。只有加强管理方可减少此类危害。这已经超出php能力的范围了。php只能在有限的范围里做简单的防范。 问题解决,使用session+数据表配合搞定,谢谢大家!思路:1、每次成功上载一个文件数据库加条记录,并标记未处理(process=0)2、用户确定提交后修改处理标记为process=13、每次用户登陆时清理未处理标记的文件(删除文件及相关记录等)唯一漏洞:用户1次登陆,反复提交,直至服务器崩溃。给分了! uchome 二次开发ML解析错误:XML 申明非良构,注册页面 php中面向对象开发探讨 php如何捕获iconv在编码转换时的异常? 50分高手进来看一下吧,急用,谢谢了 邮件的发送,在本地可以,传到租用的服务器上就不行了????????? smarty {html_select_date} 只显示月份 MySQL数据库有一百多万条的记录查询需要1秒多,速度还能否进行优化? 在phpmyadmin中有这样一句 如何用PHP发短信? yii中使用ar可以进行嵌套查询吗? xuzuning(唠叨),急死我了,帮忙看看我这个问题,不胜感激~ 定义一个文件名变量的 问题(在线等)
文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。所以在删除之前要用PHP的 copy() 函数将它复制到其它位置,此时,才算完成了我们的上传文件过程。
我明白你的意思,但是有多个文件要上传,势必要单独打开一页循环上传文件,用copy函数临时保存到临时目录,通过session记住文件名,问题是如果用户在关闭上传页后退出浏览器,那文件岂不一直搁在临时目录了?
松树邮件就别研究了,他的一个文件你可能就的研究一天。你可以下一些小的邮件系统。
md5、uniqid、tempnam均可产生唯一的串。当服务器很快且访问频繁时,建议用tempnam。
应为在此情况下确实发生过以时间为基数的唯一串不“唯一”的现象(主频低于200M的不会发生)
若使用tempnam,那么就不能用copy了而是用fwrite。
最好不要单用md5,因为其结果无规律,会给后续操作带来麻烦。1、在弹出窗口中粘贴多个文件后,应该在服务器端保存这些临时文件了,用session可以保存这些文件的路径,但是如这时客户端放弃粘贴退出浏览器,这些临时文件如何处理?
file对象是只读对象,不能对其赋值。所谓“粘贴文件”的过程,应该是窗口间复制file对象的过程(这一点有待证实)。真正上传是在提交时完成,所以在此之前的操作都与服务器端无关,也无临时文件一说。即便是每选一个文件就上传一次。由于有与用户名相关的唯一的文件名,当用户意外中断了当前操作时,这些文件可以任其保留到该用户的下次访问时再删除。正常情况下是用户退出登录时删除
[这些文件可以任其保留到该用户的下次访问时再删除。正常情况下是用户退出登录时删除]
1、下次访问如何知道临时文件的文件名吗?整个临时目录都删?万一别的用户正在用临时文件呢?
2、黑客可否利用这个漏洞把服务器填满?
此类功能应该只有注册用户使用,设用户名保存在$username中。
令
$username = "my"; //用户名
则
uniqid($username);
可得形如
my3fa07ba213139
my3fa07ba213231
...
的串
而
tempnam("/tmp",$username);
可得形如
/tmp/my19.tmp
/tmp/my1A.tmp
...
的文件名
由于均含有用户名,所以删除时可以有所选择。这也就是建议不使用md5的原因2、黑客可否利用这个漏洞把服务器填满?
这种可能性是存在的。只有加强管理方可减少此类危害。这已经超出php能力的范围了。
php只能在有限的范围里做简单的防范。
思路:
1、每次成功上载一个文件数据库加条记录,并标记未处理(process=0)
2、用户确定提交后修改处理标记为process=1
3、每次用户登陆时清理未处理标记的文件(删除文件及相关记录等)
唯一漏洞:
用户1次登陆,反复提交,直至服务器崩溃。
给分了!