PHP文件上传操作

PHP文件上传主要两个步骤:

1.首先前端html写好文件表单上传网页

2.在前端点提交时,web服务器php脚本通过超全局变量$_FILES和一个move_uploaded_file函数搞定

前端html如下:

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <title>文件上传</title>
</head>
<body>
    <form action="upload.php" method="post" enctype="multipart/form-data">
       <div style="margin: 0 auto; padding:50px 0px; width:300px;">
            <input type="file" id="upload" name="uploadpic" style="display:none"/>
            <input type="text" id="filename" value="文件名">
            <input type="button" id="picbtn" value="图片上传" />
            <input type="submit" value="提交" />  

       </div>
    </form>
    <script type="text/javascript">
    function $(id)
    {
        var objs = document.getElementById(id);
        return objs;
    }
    window.onload = function(){
        $("picbtn").onclick = function(){
        	$("upload").click();   //点图片上传时,同时触发文件选择
        }

        $("upload").onchange = function(){
            $("filename").value = this.value;   //获取文件选择值
        }

    }
    </script>
</body>
</html>

注:表单上传文件时,method必须用post,且须声明是enctype="multipart/form-data"

2.服务器php脚本upload.php代码如下:

<?php
if(move_uploaded_file($_FILES['uploadpic']['tmp_name'], './fileupload/'.$_FILES['uploadpic']['name']))
{
    echo "ok";

}
else
{
    echo "fail";
}

注:可以用print_r($_FILES)打印查看超全局变量里面放的内容,可以看到文件的相关信息都放在这个变量里面;如

array (
  'uploadpic' =>
  array (
    'name' => '1客栈首页.jpg',
    'type' => 'image/jpeg',
    'tmp_name' => 'C:\\Windows\\Temp\\php3F1C.tmp',
    'error' => 0,
    'size' => 1706919,
  ),
)ok

从变量的数组里面可以知道上传的文件名,文件类型、web服务器临时存放图片的位置(如果要更改临时存放路径,可以去php.ini里面更改),错误信息和文件大小(限制文件上传大小,也可以到php.ini里修改)。

时间: 2024-11-05 18:47:55

PHP文件上传操作的相关文章

PHP多文件上传操作

在前一篇文章里讲到了关于PHP文件上传原理和简单操作举例是单文件上传. http://www.cnblogs.com/lichenwei/p/3879566.html 其实多文件上传和单文件上传大同小异,原理都是一样的,只是在代码上做了点小技巧. 首先还是index.html上传表单,只是把之前上传文件表单里的file更改成了file[] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht

python-selenium -- 文件上传操作

一.文件上传操作 win32gui.FindWindow(IPClassName,IPWindowName) 自顶层窗口开始寻找匹配条件的窗口,并返回这个窗口的句柄: IPClassName:类名,在Spy++里能够看到: IPWindowName:窗口名,标题栏上能看到的名字 win32gui.FindWindowEx(hwndParent=0,hwndChildAfter=0,IPszClassName=None,IPszWindowName=None) 搜索类名和窗体名匹配的窗体,并返回这

基于python的selenium两种文件上传操作

方法一.input标签上传     如果是input标签,可以直接输入路径,那么可以直接调用send_keys输入路径,这里不做过多赘述,前文有相关操作方法. 方法二.非input标签上传 这种上传方式需要借助第三方工具,主要有以下三种情况: 1.AutoIt  去调用它生成的au3或者exe格式的文件 2.SendKeys第三方库(目前只支持到2.7版本) 网址:https://pypi.python.org/pypi/SendKeys 3.Python的pywin32库,通过识别对话框句柄来

node.js框架express文件上传操作

1.创建upload.html文件 <form action='/upload' method='post' enctype='multipart/form-data'> 头像:<input type='file' name='userImg'/><br/> <input type='submit' value='上传头像'/> <!-- 使用file上传图片的注意事项: 1. method上传方式必须是post 2. enctype='multipa

关于Java网络爬虫---模拟txt文件上传操作。

业务需求是这样的,公司400业务中客户使用的,400电话号码,可以添加多个目的码你可以理解为转接号码: 这些配置的目的码我们会在网关服务器上配置成白名单,既拥有某些权限.先提出的要求是先添加或者变动目的码要及时同步到网关. 场景: 1.我们的网关服务器接受的白名单(目的码)是已txt文件上传的,数据按照制定的格式保存在txt里面. 2.利用Java网络爬虫模拟txt文件上传.------2018-4-7现在不写了,代码在公司电脑上明天总结一下在写. 原文地址:https://www.cnblog

C#FTP文件上传操作

public class FTP { static FtpWebRequest reqFTP; static WebResponse response; static StreamReader ftpStream; static Stream strm; static FileStream fs; //const string temp = "temp"; static string filenametemp = ""; static string ftpServe

文件上传操作

           

PHP文件上传和文件操作案例

<?php /* *文件配置变量$dirname是目录名称 */ session_start(); $dirname = 'upload'; $fileClass = new fileClass($dirname); $fileClass -> fileCMM();/*文件重命名操作*/ $fileClass -> fileDelete();/*文件删除操作*/ ?> <!DOCTYPE html> <html> <head> <mate

文件上传php

新建html页面  a.html <html> <body> //采用表单提交 enctype属性规定了在提交表单时要使用哪种内容类型.在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data".//注释:允许用户上传文件是一个巨大的安全风险.请仅仅允许可信的用户执行文件上传操作. <form action="b.php" method="post" enctype="mult