양식을 사용하여 파일을 업로드하는 경우 양식의 제출 방법은 업로드된 파일의 입력 컨트롤의 유형 속성 값이 파일이어야 한다는 것입니다. enctype="multipart/form-data" 속성입니다.
html 코드:
[html] view plain copy <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>上传</title> </head> <body> <form action="handle.php" method="post" enctype="multipart/form-data"> <input type="file" name="file1"> <br/> <input type="submit" value="上传"> </form> </body> </html>
php 코드:
[php] view plain copy[php] view plain copy <?php /* *用$_FILES接收通过表单上传的文件数据 *$_FILES['file1']中的file1对应表单中上传文件的input标签中的name值 *$_FILES['file1']返回的是一个数组: $_FILES['file1']['name'] 显示上传文件的原名称。 $_FILES['file1']['type'] 文件的 MIME 类型,例如"image/gif"、"image/png"。 $_FILES['file1']['size'] 已上传文件的大小,单位为字节。 $_FILES['file1']['tmp_name'] 储存的临时文件名和临时储存的路径。 $_FILES['file1']['error'] 和该文件上传相关的错误代码。 =0; 没有错误发生,文件上传成功。 =1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。 =2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 =3; 文件只有部分被上传。 =4; 没有文件被上传。 =5; 上传文件大小为0. */ $file=$_FILES['file1']; //给文件重命名,尽量不要起中文名字,如下以时间戳+随机数重命名 $filename=time().rand(0,1000); //获取文件的后缀,pathinfo()会以数组的形式返回一个文件的路径信息,其中extension元素则是文件的后缀名 $ext=pathinfo($_FILES['file1']['name'])['extension']; //最终文件名为 $filename=$filename.'.'.$ext; //设置文件上传到服务器后存放的位置,move_uploaded_file()会将文件移动到新位置,第一个参数是要移动的文件,第二个参数是移动到哪里。我在这里是放到和本php文件同一目录下,注意需要将新的文件名连接进去。 if (move_uploaded_file($file['tmp_name'], './'.$filename)) { echo "success"; } else{ echo "error"; } ?>
관련 추천:
위 내용은 PHP에서 양식 업로드 파일을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!