PHP在线运行

版本:

所属目录
点击了解高性能代码运行API
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
保存判断学年学期方法 发布于:2024-03-16 14:20 <?php $a="system"; $a=urlencode(~$a); // ~ 取反写法 $b="cat /f*"; $b=urlencode(~$b); echo $a."\n".$b; ?> 发布于:2024-03-13 16:33 php 加解密 发布于:2024-03-11 21:51 测试某接口。 发布于:2024-03-07 15:46 正则匹配规则 发布于:2024-03-04 13:55 这是一个测试代码 发布于:2024-02-02 21:51 NAVICAT KEY 发布于:2024-02-02 15:44 生成唯一UUID 发布于:2024-02-01 14:55 在PC端运行的便签,带阳历和阴历、还有时间 发布于:2024-01-30 11:10 PHP 检查代码是否为js代码片段,并检出js代码片段的内容 发布于:2024-01-16 11:45 import docx 发布于:2024-01-12 09:40 import docx 2 发布于:2024-01-12 01:52 import doc 发布于:2024-01-11 22:33 Test-1128-74 发布于:2023-11-28 17:36 php只读类 发布于:2023-11-20 10:02 筛选配置中配置字段名中含有指定字符串的元素 发布于:2023-11-08 18:59 php 将数组中的每一项的键值和键名分别取出来组成一个新的元素 发布于:2023-11-01 11:35 组装全新的数组,可以是字符串,也可以是数组,当value为数组时,请保证value中的子元素数量与$num值保持一致且子元素中的项数与$key中的项数保持一致,否则值会被填充为0 发布于:2023-11-01 18:04 php将每一项提取出来,单独成数组 https://www.zaiwen.top/#/chat/working-edition https://ch.dmjo.cn/ https://go.aigongju.shop/index.php?id=2 发布于:2023-10-31 23:55 直接插入排序算法的PHP实现 发布于:2023-10-20 17:24 速算扣除法 发布于:2023-10-16 14:54 登陆错误限制次数 发布于:2023-10-16 11:18 黑名单处理方式 发布于:2023-10-16 11:17 计算五险一金的相关代码 发布于:2023-10-13 18:27 PHP基础的一些功能片段 发布于:2023-10-07 17:02 PHP 获取指定年份的半年月份列表函数 发布于:2023-10-07 13:54 收件人解析 发布于:2023-09-30 10:32 <html> <head> <title>Example</title> </head> <body> <?php echo “Hello 7777P7HP!”; ?> </body> </html> 发布于:2023-09-19 17:58 测试加解密 发布于:2023-09-18 14:18 去除重复的元素 发布于:2023-09-13 16:49 php 随机红包 发布于:2023-09-02 09:45 PHP第一个程序 发布于:2023-09-01 04:57 php8.0注解 发布于:2023-08-15 16:15 remove emoji 发布于:2023-07-29 22:05 哭我了流量卡 发布于:2023-07-27 12:13 角谷猜想python 发布于:2023-06-26 16:36 navicat密码解密 发布于:2023-06-15 10:46 <?php // 初始化人员编号数组 $numbers = array(1, 2, 3, 4, 5, 6, 7); // 循环报数直到只剩一个人 while (count($numbers) > 1) { // 报数到5的人退出游戏 for ($i = 1; $i <= 5; $i++) { $number = array_shift($numbers); if ($i == 5) { echo "第" . count($numbers) . "轮出局的人是:" . $number . "<br>"; } else { array_push($numbers, $number); } } } // 最后一个留下来的人为要去完成任务的人 echo "最后要去完成任务的人的编号是:" . $numbers[0]; ?> 发布于:2023-06-13 21:09 获取子元素 发布于:2023-08-09 16:25 这段PHP代码初始化了一个包含两个元素的数组$array,都设置为字符串'3'。然后使用foreach循环遍历数组的每个元素。在循环内部,它将字符串'a'赋值给循环变量$v。 但是,由于$v是一个循环变量,在循环中更改其值不会修改数组元素。因此,在循环完成后,数组$array的内容保持不变,两个元素仍然设置为字符串'3'。 发布于:2023-05-26 15:07 eq日志解析 发布于:2023-05-17 11:56 手机号匹配靓号 发布于:2023-05-17 14:37 找猴王游戏 发布于:2023-05-04 16:58 三.PHP常量学习 发布于:2023-05-01 22:47 ### 二.变量 `1.`变量的基本概念。 `2.`变量的使用 `3.`变量的命名规则 `4.`预定义变量 `5.`可变变量 `6.`变量传值 发布于:2023-05-01 21:03 枚举SKU 发布于:2023-04-17 13:00 PHP判断IP是否属于某个网段 发布于:2023-04-07 18:26 php zuoye 发布于:2023-04-07 11:55 雷弟 看这里 发布于:2023-04-03 15:13 PHP - Hello world 发布于:2023-04-01 14:05 [更多]
显示目录

文件上传



学习嵌入式的绝佳套件,esp8266开源小电视成品,比自己去买开发板+屏幕还要便宜,省去了焊接不当搞坏的风险。 蜂鸣版+触控升级仅36元,更强的硬件、价格全网最低。

点击购买 固件广场

PHP 文件上传

本节将介绍 PHP 中文件是如何上传的。


通过 PHP,可以把文件上传到服务器。


创建一个文件上传表单

允许用户从表单上传文件是非常有用的。

请看下面这个供上传文件的 HTML 表单

<html>
 <body>

 <form action="upload_file.php" method="post"
 enctype="multipart/form-data">
 <label for="file">Filename:</label>
 <input type="file" name="file" id="file"><br>
 <input type="submit" name="submit" value="Submit">
 </form>

 </body>
 </html>

有关上面的 HTML 表单的一些注意项列举如下:

  • <form> 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data"。
  • <input> 标签的 type="file" 属性规定了应该把输入作为文件来处理。举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮。

注释:允许用户上传文件是一个巨大的安全风险。请仅仅允许可信的用户执行文件上传操作。


创建上传脚本

"upload_file.php" 文件含有供上传文件的代码:

 <?php
 if ($_FILES["file"]["error"] > 0)
 {
 echo "Error: " . $_FILES["file"]["error"] . "<br>";
 }
 else
 {
 echo "Upload: " . $_FILES["file"]["name"] . "<br>";
 echo "Type: " . $_FILES["file"]["type"] . "<br>";
 echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
 echo "Stored in: " . $_FILES["file"]["tmp_name"];
 }
 ?>

通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件。

第一个参数是表单的 input name,第二个下标可以是 "name"、"type"、"size"、"tmp_name" 或 "error"。如下所示:

  • $_FILES["file"]["name"] - 被上传文件的名称
  • $_FILES["file"]["type"] - 被上传文件的类型
  • $_FILES["file"]["size"] - 被上传文件的大小,以字节计
  • $_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
  • $_FILES["file"]["error"] - 由文件上传导致的错误代码

这是一种非常简单文件上传方式。基于安全方面的考虑,您应当增加有关允许哪些用户上传文件的限制。


上传限制

在这个脚本中,我们增加了对文件上传的限制。用户只能上传 .gif 和 .jpeg 文件,文件大小必须小于 20 kB:

<?php
 $allowedExts = array("gif", "jpeg", "jpg", "png");
 $temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
 if ((($_FILES["file"]["type"] == "image/gif")
 || ($_FILES["file"]["type"] == "image/jpeg")
 || ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
 || ($_FILES["file"]["type"] == "image/png"))
 && ($_FILES["file"]["size"] < 20000)
 && in_array($extension, $allowedExts))
 {
 if ($_FILES["file"]["error"] > 0)
 {
 echo "Error: " . $_FILES["file"]["error"] . "<br>";
 }
 else
 {
 echo "Upload: " . $_FILES["file"]["name"] . "<br>";
 echo "Type: " . $_FILES["file"]["type"] . "<br>";
 echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
 echo "Stored in: " . $_FILES["file"]["tmp_name"];
 }
 }
 else
 {
 echo "Invalid file";
 }
 ?>

保存被上传的文件

上面的实例在服务器的 PHP 临时文件夹中创建了一个被上传文件的临时副本。

这个临时的副本文件会在脚本结束时消失。要保存被上传的文件,我们需要把它拷贝到另外的位置:

<?php
 $allowedExts = array("gif", "jpeg", "jpg", "png");
 $temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
 if ((($_FILES["file"]["type"] == "image/gif")
 || ($_FILES["file"]["type"] == "image/jpeg")
 || ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
 || ($_FILES["file"]["type"] == "image/png"))
 && ($_FILES["file"]["size"] < 20000)
 && in_array($extension, $allowedExts))
 {
 if ($_FILES["file"]["error"] > 0)
 {
 echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
 }
 else
 {
 echo "Upload: " . $_FILES["file"]["name"] . "<br>";
 echo "Type: " . $_FILES["file"]["type"] . "<br>";
 echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
 echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

 if (file_exists("upload/" . $_FILES["file"]["name"]))
 {
 echo $_FILES["file"]["name"] . " already exists. ";
 }
 else
 {
 move_uploaded_file($_FILES["file"]["tmp_name"],
 "upload/" . $_FILES["file"]["name"]);
 echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
 }
 }
 }
 else
 {
 echo "Invalid file";
 }
 ?>

上面的脚本检测了文件是否已存在,如果不存在,则把文件拷贝到名为 "upload" 的文件夹。

在下一节内容中,你将了解 PHP Cookies。

由JSRUN为你提供的PHP在线运行、在线编译工具
        JSRUN提供的PHP 在线运行,PHP 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。
yout