>  기사  >  백엔드 개발  >  PHP에서 양식 업로드 파일을 구현하는 방법

PHP에서 양식 업로드 파일을 구현하는 방법

零到壹度
零到壹度원래의
2018-03-27 09:48:152241검색

양식을 사용하여 파일을 업로드하는 경우 양식의 제출 방법은 업로드된 파일의 입력 컨트롤의 유형 속성 값이 파일이어야 한다는 것입니다. 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[&#39;file1&#39;]中的file1对应表单中上传文件的input标签中的name值 
     *$_FILES[&#39;file1&#39;]返回的是一个数组: 
     $_FILES[&#39;file1&#39;][&#39;name&#39;] 显示上传文件的原名称。 
     $_FILES[&#39;file1&#39;][&#39;type&#39;] 文件的 MIME 类型,例如"image/gif"、"image/png"。 
     $_FILES[&#39;file1&#39;][&#39;size&#39;] 已上传文件的大小,单位为字节。 
     $_FILES[&#39;file1&#39;][&#39;tmp_name&#39;] 储存的临时文件名和临时储存的路径。 
     $_FILES[&#39;file1&#39;][&#39;error&#39;] 和该文件上传相关的错误代码。 
     =0; 没有错误发生,文件上传成功。  
     =1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。  
     =2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。  
     =3; 文件只有部分被上传。  
     =4; 没有文件被上传。  
     =5; 上传文件大小为0.  
     */  
    $file=$_FILES[&#39;file1&#39;];  
  
    //给文件重命名,尽量不要起中文名字,如下以时间戳+随机数重命名  
    $filename=time().rand(0,1000);  
  
    //获取文件的后缀,pathinfo()会以数组的形式返回一个文件的路径信息,其中extension元素则是文件的后缀名  
    $ext=pathinfo($_FILES[&#39;file1&#39;][&#39;name&#39;])[&#39;extension&#39;];  
  
    //最终文件名为  
    $filename=$filename.&#39;.&#39;.$ext;  
  
    //设置文件上传到服务器后存放的位置,move_uploaded_file()会将文件移动到新位置,第一个参数是要移动的文件,第二个参数是移动到哪里。我在这里是放到和本php文件同一目录下,注意需要将新的文件名连接进去。  
    if (move_uploaded_file($file[&#39;tmp_name&#39;], &#39;./&#39;.$filename)) {  
        echo "success";  
     } else{  
        echo "error";  
     }    
 ?>

관련 추천:


s는 분리할 수 없습니다. 공개 형식


양식 업로드 파일


양식 업로드 파일


위 내용은 PHP에서 양식 업로드 파일을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.