php处理表单上传文件

使用表单上传文件的时候,表单的提交方式必须是post提交方式,上传文件的input控件type属性值应为file,最重要的是form标签需要加一个enctype="multipart/form-data"的属性。

html代码:

[html]  view plain  copy
  1. <!DOCTYPE html>  
  2. <html lang="en">  
  3. <head>  
  4.     <meta charset="UTF-8">  
  5.     <title>上传</title>  
  6. </head>  
  7. <body>  
  8.     <form action="handle.php" method="post" enctype="multipart/form-data">  
  9.         <input type="file" name="file1">  
  10.         <br/>  
  11.         <input type="submit" value="上传">  
  12.     </form>  
  13. </body>  
  14. </html>  

php代码:

[php]  view plain  copy
  1. <?php  
  2.     /* 
  3.      *用$_FILES接收通过表单上传的文件数据  
  4.      *$_FILES['file1']中的file1对应表单中上传文件的input标签中的name值 
  5.      *$_FILES['file1']返回的是一个数组: 
  6.      $_FILES['file1']['name'] 显示上传文件的原名称。 
  7.      $_FILES['file1']['type'] 文件的 MIME 类型,例如"image/gif"、"image/png"。 
  8.      $_FILES['file1']['size'] 已上传文件的大小,单位为字节。 
  9.      $_FILES['file1']['tmp_name'] 储存的临时文件名和临时储存的路径。 
  10.      $_FILES['file1']['error'] 和该文件上传相关的错误代码。 
  11.      =0; 没有错误发生,文件上传成功。  
  12.      =1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。  
  13.      =2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。  
  14.      =3; 文件只有部分被上传。  
  15.      =4; 没有文件被上传。  
  16.      =5; 上传文件大小为0.  
  17.      */  
  18.     $file=$_FILES['file1'];  
  19.   
  20.     //给文件重命名,尽量不要起中文名字,如下以时间戳+随机数重命名  
  21.     $filename=time().rand(0,1000);  
  22.   
  23.     //获取文件的后缀,pathinfo()会以数组的形式返回一个文件的路径信息,其中extension元素则是文件的后缀名  
  24.     $ext=pathinfo($_FILES['file1']['name'])['extension'];  
  25.   
  26.     //最终文件名为  
  27.     $filename=$filename.'.'.$ext;  
  28.   
  29.     //设置文件上传到服务器后存放的位置,move_uploaded_file()会将文件移动到新位置,第一个参数是要移动的文件,第二个参数是移动到哪里。我在这里是放到和本php文件同一目录下,注意需要将新的文件名连接进去。  
  30.     if (move_uploaded_file($file['tmp_name'], './'.$filename)) {  
  31.         echo "success";  
  32.      } else{  
  33.         echo "error";  
  34.      }    
  35.  ?>  
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP中,可以通过处理JavaScript上文件。以下是一个简单的实例,展示了如何使用PHP处理通过JavaScript上文件。 首先,需要在HTML中创建一个上文件单。可以使用input[type=file]元素来实现文件功能。 ```html <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="上"> </form> ``` 然后,在PHP的upload.php文件中,可以使用$_FILES全局变量来处理文件。这个变量包含了上文件的各种信息,比如文件名、文件类型、临时文件路径等。 ```php <?php if(isset($_FILES['file'])){ $file = $_FILES['file']; // 获取文件名 $filename = $file['name']; // 获取文件类型 $filetype = $file['type']; // 获取文件大小 $filesize = $file['size']; // 获取文件临时路径 $tempFilePath = $file['tmp_name']; // 将文件移动到服务器指定位置 $targetFilePath = 'uploads/' . $filename; move_uploaded_file($tempFilePath, $targetFilePath); echo '文件成功!'; } ?> ``` 以上代码会将上文件移动到服务器上的指定位置,并输出"文件成功!"。可以根据实际需求进行进一步的处理,例如校验文件类型、限制文件大小等。 需要注意的是,在处理文件时,确保服务器上的目标文件夹具有写入权限。并且要谨慎处理用户上文件,避免潜在的安全风险,比如使用恶意文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值