開發中須要上傳圖片、音樂、視頻等等,這種上傳傳遞是二進制數據。php
1.1客戶端上傳文件數組
文件域:服務器
<input type="file" name="image">
表單的enctype屬性:app
默認狀況下,表單傳遞是字符流,不能傳遞二進制流,經過設置表單的enctype屬性傳遞複合數據。 函數
post
application/x-www-form-urlencoded:【默認】,表示傳遞的是帶格式的文本數據。編碼
multipart/form-data:複合的表單數據(字符串,文件),文件上傳必須設置此值url
1.2服務器接收文件spa
操作系統
move_uploaded_file(臨時地址,目標地址)
代碼:
<body> <?php if(!empty($_POST)) { if($_FILES['face']['error']==0){ //上傳正確 //文件上傳 move_uploaded_file($_FILES['face']['tmp_name'],'./'.$_FILES['face']['name']); }else{ echo '上傳有誤'; echo '錯誤碼:'.$_FILES['face']['error']; } } ?> <form method="post" action="" enctype='multipart/form-data'> <input type="file" name="face"> <input type="submit" name="button" value="上傳"> </form> </body>
1.4與文件上傳有關的配置
upload_max_filesize = 2M:容許上傳的文件大小
upload_tmp_dir =F:\wamp\tmp:指定臨時文件地址,若是不知道操做系統指定
file_uploads = On:是否容許文件上傳
max_file_uploads = 20:容許同時上傳20個文件