从建站打拿站 -- PHP(文件上传)

简介: 从建站打拿站 -- PHP(文件上传)

一、上传文件

1、新建一个html网页,上传文件

enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data"

<!DOCTYPE html>  <!-- 有助于浏览器中正确显示网页 -->
<html>  <!-- html页面开始标签 -->
<head>
<meta charset="UTF-8">  <!-- UTF-8编码  -->
<title>周杰伦</title> <!-- 标签页显示的内容 -->
</head>
<body style="text-align:center;">
<img src="1.jpg"> <!-- 插入一张图片 -->
<hr> <!-- 水平线 -->
<h1>上传文件</h1>
<form action="../php/sc.php" method="post" enctype="multipart/form-data">
选择上传文件:<input type="file" name="file" id="file" /><br>
<input type="submit" name="submit" value="上传" />
</body>
</html> <!-- html页面结束标签 -->

运行结果:


2、设置PHPstudy环境中临时文件的上传路径,从php配置文件设置

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
; http://php.net/file-uploads
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; http://php.net/upload-tmp-dir
upload_tmp_dir =c:\test
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 2M
; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20

3、编写上传文件的sc.php

move_uploaded_file:将临时的文件移动到其他地方,就相当于保存文件了

__DIR__;获取该脚本的当前目录

<meta charset="utf-8">
<?php
echo "<pre>";
if(isset($_POST['submit'])){
    //var_dump($_FILES);
    $tmp=$_FILES['file']['tmp_name'];//获取上传文件的临时目录名称
    $path=__DIR__."\\".$_FILES['file']['name'];//设置文件上传到的位置
    if(move_uploaded_file($tmp,$path)){
        echo "上传成功";
    }else{
        echo "上传失败";
    }
}
?>

4、为上传的文件增加验证,比如至允许上传图片,且大小不超过20000字节

<meta charset="utf-8">
<?php
if(isset($_POST['submit'])){
    $tmp=$_FILES['file']['tmp_name'];//获取上传文件的临时目录名称
    $path=__DIR__."\\".$_FILES['file']['name'];//设置文件上传到的位置
    //echo $tmp;
    //echo $path;
    if ((($_FILES["file"]["type"] == "image/png") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 20000)){            
            if(move_uploaded_file($tmp,$path)){
                     echo "上传成功";
            }else{
        echo "上传失败";
    }            
    }else{    
    echo "上传文件类型有误";
    }    
}else{
    echo "请通过表单提交";    
    }
?>

禁止非法,后果自负

目录
相关文章
|
6月前
|
前端开发 PHP
从建站到拿站 -- PHP基础
从建站到拿站 -- PHP基础
39 0
|
6月前
|
关系型数据库 MySQL
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
|
2月前
|
PHP
深入浅出PHP之文件上传功能
【9月更文挑战第26天】本文将带你了解PHP中的文件上传功能,从基本概念到实战操作,一步步教你如何实现文件上传。我们将通过代码示例和详细的解释,让你轻松掌握这一技能。
|
5月前
|
运维 Serverless 数据处理
函数计算产品使用问题之 php环境中如何修改PHP允许的文件上传大小和POST最大大小
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
6月前
|
安全 PHP
【PHP开发专栏】PHP文件上传与下载实现
【4月更文挑战第30天】本文介绍了在PHP中实现文件上传和下载的详细步骤。文件上传通过`$_FILES`全局数组处理,包括设置HTML表单、PHP脚本处理上传及安全性考虑。文件下载则可使用`readfile()`、`fpassthru()`或`file_get_contents()`函数,同时关注安全问题,如防止目录遍历漏洞。文中还提供了一个简单的图片分享网站案例,演示了上传和下载功能的集成。
102 1
|
6月前
|
安全 PHP 数据库
从建站打拿站 -- PHP(登录和注册)
从建站打拿站 -- PHP(登录和注册)
37 1
|
6月前
|
PHP
从建站到拿站 -- PHP判断循环及函数
从建站到拿站 -- PHP判断循环及函数
34 0
|
6月前
|
安全 PHP 数据库
从建站打拿站 -- PHP(GET和POST)
从建站打拿站 -- PHP(GET和POST)
40 0
|
2月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
2月前
|
NoSQL 关系型数据库 MySQL
不是 PHP 不行了,而是 MySQL 数据库扛不住啊
【9月更文挑战第8天】这段内容讨论了MySQL在某些场景下面临的挑战及其原因,并指出这些问题不能完全归咎于MySQL本身。高并发读写压力、数据量增长以及复杂查询和事务处理都可能导致性能瓶颈。然而,应用程序设计不合理、系统架构不佳以及其他数据库选择和优化策略不足也是重要因素。综合考虑这些方面才能有效解决性能问题,而MySQL通过不断改进和优化,仍然是许多应用场景中的可靠选择。
112 9