php缓存文件

PHP缓存文件

对前端ajax上传的文件进行缓存,并保存到数据库

HTML

<body>
    名字:<input type="text" id="username"><br>
    密码:<input type="text" id="pwd"><br>
    文件:<input type="file" id="file"><br>
    <button onclick="ajax()">提交</button>


    <script>
        function ajax(){
            var username = $('#username');    
            var psd = $('#psd');
            var file = $('#file')[0]['files'][0];    
            console.log( $('#file'))

            var form = new FormData();
            form.append('username',username);
            form.append('pwd',pwd);
            form.append('file',file);

            $.ajax({
                type:'post', //传输数据的格式
                url:'ajax.php',    //请求路径
                async:true, //true 异步  默认
                data:form,  //上传表单数据
                //如果上传文件下面2个必须要设置为false
                processData:false,    
                contentType:false,
                success:function(data){
                    console.log(data)
                }
            })
        }
    </script>
</body>

PHP

$data['username'] = $_POST['username'];
$data['password'] = $_POST['pwd'];

//处理文件
if(!file_exists('./uploads')){
    mkdir('uploads');
}
$tmpPath = $_FILES['img']['tmp_name'];  //获取文件路径
$newName = $_FILES['img']['name']; //获取文件的名字
$res = move_uploaded_file($tmpPath,"uploads/{$newName}"); //原名上传到指定文件夹

if($res){
    $data['imgurl'] ="uploads/{$newName}";
    echo "上传成功";
}

//存储数据
$data = json_encode($data);
$reslut = file_put_contents('data.txt',$data);
if($reslut){
    echo '数据存储成功';
}else{
    echo '数据存储失败';
}