|
本帖最后由 API学习使我快乐 于 2018-3-16 10:37 编辑
我来回复一下,php服务器接收ajax上传的文件。不多说直接上代码
- //今天的日期
- $_todyDate = date("Y-m-d");
- //创建文件夹进行接收文件
- $uploadDir = 'uploads'.DIRECTORY_SEPARATOR.$_todyDate;
- // 创建接收文件的文件夹
- if (!file_exists($uploadDir)) {
- @mkdir($uploadDir,0777,true);
- }
- // 得到文件的名字
- if (isset($_REQUEST["name"])) {
- $fileName = str_replace(' ', '', $_REQUEST["name"]);
- } elseif (!empty($_FILES)) {
- $fileName = str_replace(' ', '', $_FILES["file"]["name"]);
- } else {
- $fileName = uniqid("file_");
- }
- $uploadPath = $uploadDir.DIRECTORY_SEPARATOR.$fileName; //文件存放的位置
- // 创建一个空文件用来存上传文件的信息
- if (!$out = @fopen("{$uploadPath}", "wb")) {
- die('{"jsonrpc" : "2.0", "error" : {"code": 102, "message": "Failed to open output stream."}, "id" : "id"}');
- }
- if (!empty($_FILES)){
- if ($_FILES["file"]["error"] || !is_uploaded_file($_FILES["file"]["tmp_name"])){
- die('{"jsonrpc" : "2.0", "error" : {"code": 103,"message": "Failed to move uploaded file."}, "id" : "id"}');
- }
- // 如果是二进制上传文件,读取二进制输入流并将其附加到临时文件
- if (!$in = @fopen($_FILES["file"]["tmp_name"], "rb")) {
- die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}');
- }
- }else {
- //如果不是二进制上传文件,读取输入流并将其附加到临时文件
- if (!$in = @fopen("php://input", "rb")) {
- die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}');
- }
- }
- //往创建的空文件中写入上传的文件
- while($buff = fread($in,4096)){
- fwrite($out,$buff);
- }
- @fclose($out);
- @fclose($in);
复制代码 |
|