UPLOAD_ERR_NO_TMP_DIR: 6,(其他报错
UPLOAD_ERR_OK: 0,UPLOAD_ERR_INI_SIZE: 1,UPLOAD_ERR_FORM_SIZE: 2,UPLOAD_ERR_NO_TMP_DIR: 6,UPLOAD_ERR_CANT_WRITE: 7,UPLOAD_ERR_EXTENSION: 8,UPLOAD_ERR_PARTIAL: 3)后来在运维的帮助下查出来,原来是linux文件索引用完了,删除无用的信息,可以正常上传了。
以下是其他可能出现的失败原因:
这种情况常常表现为前台提交表单成功,附件并没有上传上去,附件目录里刚刚上传的附件的大小为 0。当然了,这种情况很少。
上传附件的时候要求附件目录有写权限,否则上传失败。
解决方法:
1)如果服务器是 Linux 主机,请将附件目录的权限设置为 777,并将权限继承到附件目录的下级目录;
2)如果服务器是 Windows 主机,请设置附件目录 IIS 来宾账户(或者运行这个站点的 IIS 账号)写权限,并继承到附件目录的下级目录。
其实啊,安装完以后只要保留以下3个目录可写就可以了
/data
/uc_ucserver/data
/uc_client/data
这种情况主要发生在 Windows 主机上。一般情况下,需要设置 IIS 来宾账号(或运行IIS的账号)对系统临时目录有写权限,这个容易被忽略
在 php.ini 中没有设置上传临时目录的情况下,系统会将上传到服务器的文件放在系统的临时目录里(Windows 服务器的系统临时目录是 c:\Windows\TEMP;Linux 的系统临时目录是/tmp),这个目录满了,上传文件就会失败。
解决方法:将系统临时目录清理一下。
在 php.ini 中,可以通过 upload_tmp_dir 的值,来设定通过PHP程序上传的文件的临时目录,如果这个目录满了或者权限有问题,也会导致上传附件不成功。
解决方法:
1)如果设置的临时目录满了,清空一下这个目录
2)设置临时目录运行 IIS 来宾账号(或运行IIS的账号)写权限
1)服务器允许上传的附件大小和允许提交表单的大小分别是通过php.ini中的upload_max_filesize、post_max_size设定的,默认大小分别是
2M、8M,如果上传的附件的大小和表单的大小超过了这两个参数设置的大小,就会出现上传附件不成功的情况。
解决办法:适当改大upload_max_filesize这个参数的值(如果上传的附件超过 6M,建议使用 ftp 或者其他方式上传),然后重新启动一下 web 服务器软件。
2)到后台看看有没有禁用这类附件的上传
有些空间限制了目录属性,导致在附件目录下建立子目录时失败
欢迎光临 PHP开发笔记 (http://phpvi.com/) | Powered by Discuz! 6.1.0 |