使用php支持文件上传其实很简单,不知道为什么之前一直觉得难,导致每次想到要做文件上传就心虚。下面是核心的代码:
function saveUploadFile($saveToPath) { if ($_FILES["file"]["error"] > 0) { echo $_FILES["file"]["error"]; } else { echo '文件名:' . $_FILES["file"]["name"]; echo '文件类型:' . $_FILES["file"]["type"]; echo '文件大小:' . ($_FILES["file"]["size"] / 1024) . 'kB'; echo '文件临时保存路径:' . ($_FILES["file"]["tmp_name"]; // 将文件保存到新的目录下,如果不保存的话,临时保存的文件会在执行结束后被自动删除 if (move_uploaded_file($_FILES["file"]["tmp_name"], $saveToPath.$_FILES["file"]["name"])) { echo '保存至:' . $saveToPath.$_FILES["file"]["name"]; } else { echo '保存过程中出现错误,保存失败'; } } }这里可能会因为文件太大而上传失败,爆出来的错误是413 Request Entity Too Large,这里需要改下Nginx和php的相关配置,参考这个的指南《Nginx: 413 Request Entity Too Large Error and Solution》改下就好了。
更多Nginx相关教程见以下内容:
CentOS 6.2实战部署Nginx+MySQL+PHP
搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程
CentOS 6.3下配置Nginx加载ngx_pagespeed模块