Maison >développement back-end >tutoriel php >Comment implémenter le fichier de téléchargement de formulaire en php

Comment implémenter le fichier de téléchargement de formulaire en php

零到壹度
零到壹度original
2018-03-27 09:48:152350parcourir

Lors de l'utilisation d'un formulaire pour télécharger des fichiers, la méthode de soumission du formulaire doit être post-soumission. La valeur de l'attribut type du contrôle d'entrée du fichier téléchargé doit être file. doit ajouter un attribut enctype="multipart/form -data".

code 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>

code 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";  
     }    
 ?>

Recommandations associées :


Pour divers téléchargements de fichiers, formulaires indissociables


Fichier de téléchargement du formulaire


fichier de téléchargement de formulaire


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn