[PHP] 04 - Upload files

时间:2022-03-21 00:46:52

PHP date() 函数

参数定义了格式

<?php
echo date("Y/m/d") . "<br>";
echo date("Y.m.d") . "<br>";
echo date("Y-m-d");
?> 结果:
2016/10/21
2016.10.21
2016-10-21

包含文件 - include 和 require 语句

include 和 require 除了处理错误的方式不同之外,在其他方面都是相同的:

    • require 生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本会停止执行。【更严格】
    • include 生成一个警告(E_WARNING),在错误发生后脚本会继续执行。

[1] 其实就是将PHP语句封装到了一个文件里,比如这段内容太多了不方便写在一个文件中。

<html>
<head>
  <meta charset="utf-8">
  <title>菜鸟教程(runoob.com)</title>
</head>
<body>   <?php include 'header.php'; ?>
  <h1>欢迎来到我的主页!</h1>
  <p>一些文本。</p> </body>
</html>

[2] 也可以将常用的变量封装在一个文件中。

vars.php

<?php
$color ='red';
$car ='BMW';
?>
<html>
<head>
  <meta charset="utf-8">
  <title>菜鸟教程(runoob.com)</title>
</head>
<body>   <h1>欢迎来到我的主页!</h1>
  <?php
  include 'vars.php';
  echo "I have a $color $car"; // I have a red BMW
?> </body>
</html>

补充:Laravel中的blade模板也是一种方式。

文件读取 & 上传

[1] 读文件

<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
?> -----------------------------------------------------------------
<?php
$file = fopen("test.txt","r"); //执行一些代码 fclose($file);
?> -----------------------------------------------------------------
<?php
$file = fopen("welcome.txt", "r") or exit("无法打开文件!");
// 读取文件每一行,直到文件结尾
while(!feof($file))
{
echo fgets($file). "<br>";
}
fclose($file);
?> ------------------------------------------------------------------
<?php
$file=fopen("welcome.txt","r") or exit("无法打开文件!");
while (!feof($file))
{
echo fgetc($file);
}
fclose($file);
?>

[2] 上传文件

  • 创建一个文件上传表单

[form.html]

<html>
<head>
  <meta charset="utf-8">
  <title>菜鸟教程(runoob.com)</title>
</head>
<body>   <form action="upload_file.php" method="post" enctype="multipart/form-data">  //上传文件内容的格式:二进制,比如图片
  <label for="file">文件名:</label>
  <input type="file" name="file" id="file"><br>
  <input type="submit" name="submit" value="提交">
  </form> </body>
</html>

让我们正式上传一个图片。

[PHP] 04 - Upload files

  • "upload_file.php" 文件:含有供上传文件的代码;
  • 上传限制:用户只能上传 .gif、.jpeg、.jpg、.png 文件,文件大小必须小于 200 kB;
  • 保存被上传的文件:服务器的 PHP 临时文件夹中创建了一个被上传文件的临时副本,现要保存。
<?php
// 允许上传的图片后缀
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
echo $_FILES["file"]["size"];
$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"] < 204800)        // 小于 200 kb
  && in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "错误:: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "上传文件名: " . $_FILES["file"]["name"] . "<br>";
echo "文件类型: " .  $_FILES["file"]["type"] . "<br>";
echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"] . "<br>"; // 判断当期目录下的 upload 目录是否存在该文件
// 如果没有 upload 目录,你需要创建它,upload 目录权限为 777
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " 文件已经存在。 ";
}
else
{
// 如果 upload 目录不存在该文件则将文件上传到 upload 目录下
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
echo "文件存储在: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "非法的文件格式";
}
?>

需要实践代码:http://www.runoob.com/php/php-file-upload.html

[PHP] 04 - Upload files的更多相关文章

  1. Upload Files To FTP in Oracle Forms D2k

    Upload Files To FTP in Oracle Forms D2k Use following procedure to upload files to Ftp.   PROCEDURE ...

  2. html5 &amp&semi; upload files

    html5 & upload files https://www.sitepoint.com/html5-ajax-file-upload/ https://www.webcodegeeks. ...

  3. How To Use XDOLoader to Manage&comma; Download and Upload Files&quest; &lpar;文档 ID 469585&period;1&rpar;

    Applies to: BI Publisher (formerly XML Publisher) - Version 5.6.3 to 5.6.3 [Release 5] Information  ...

  4. How To Use XDOLoader to Manage&comma; Download and Upload Files&quest; &lpar;DOC ID 469585&period;1&rpar;

    In this Document Goal Fix     Downloading Files   Uploading Files References Applies to: BI Publishe ...

  5. HTTPWebrequest上传文件--Upload files with HTTPWebrequest &lpar;multipart&sol;form-data&rpar;

    使用HTTPWebrequest上传文件遇到问题,可以参考Upload files with HTTPWebrequest (multipart/form-data)来解决 https://stack ...

  6. AzCopy Upload Files

    We can use many ways upload our Files to Azure, Than I  Introduction to you a good way, AzCopy ! 1. ...

  7. Upload Files In ASP&period;NET Core 1&period;0 &lpar;Form POST And JQuery Ajax&rpar;

    Uploading files is a common requirement in web applications. In ASP.NET Core 1.0 uploading files and ...

  8. SharePoint自动化系列——Upload files to SharePoint library using PowerShell&period;

    转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 日常的SharePoint站点测试中,我们经常要做各种各样的数据,今天又写了几个脚本,发现自己写的 ...

  9. &lbrack;Express&rsqb; Upload Files with Express

    In this lesson we create a new Express web server app for handling file uploads and persisting them ...

随机推荐

  1. GJM &colon; Unity3D 高通Vuforia SDK AR 开发

    一.AR概念: 增强现实(Augmented Reality,简称AR),是在虚拟现实的基础上发展起来的新技术,也被称之为混合现实.是通过计算机系统提供的信息增加用户对现实世界感知的技术,将虚拟的信息 ...

  2. JavaScript中的方法重载

    对js有些了解的人都知道,在js中根本就不存在像C#中的那种方法重载,而有的只是方法的覆盖,当你在js中敲入两个或多个同名的方法的时候,不管方法(函数)的参数个数怎么个不同,这个方法名只能属于最后定义 ...

  3. c&sol;c&plus;&plus;面试题&lpar;5&rpar;&lpar;c&plus;&plus;重要的概念详解&rpar;

    1.C++面向对象的三大特征? 1)封装:将客观事物封装成抽象的类,并且设计者可以对类的成员进行访问控制权限控制. 这样一方面可以做到数据的隐藏,保护数据安全;另一方面,封装可以修改类的内部 实现而不 ...

  4. poj2955:括号匹配,区间dp

    题目大意: 给一个由,(,),[,]组成的字符串,其中(),[]可以匹配,求最大匹配数 题解:区间dp: dp[i][j]表示区间 [i,j]中的最大匹配数 初始状态 dp[i][i+1]=(i,i+ ...

  5. Mac下显示隐藏文件 以及修改 hosts文件内容

    修改hosts 文件内容: 进入etc 文件夹,找到hosts 文件,把该文件复制出来,修改完里面的内容后,先把etc中的hosts 文件删除,然后在把修改后的文件脱机去 可能需要管理员的密码,你输入 ...

  6. cryptography

    密码关还是有很多变态的题的,整理一下力所能及的吧. Circular Crypto(Asis-CTF2013) 这题只给了一张图片 仔细看一下就知道,这是几个单独的环,把它们分别整理出来.因为看着眼花 ...

  7. 为程序设置多语言界面——C&num;

    考虑到程序的国际化需求,需要为程序设置多语言界面. 1,新建一个资源文件,名字可以是对应界面+语言代码(MainForm.zh-CN).这样资源文件就会自动添加到对应界面下面. 2,更改界面属性Loc ...

  8. AI - 参考消息(References)

    01 - Machine learning infographic 图片解读机器学习的基本概念.五大流派与九种常见算法 EN:http://usblogs.pwc.com/emerging-techn ...

  9. Linux vim文档操作

    1.vim passwd文件 出现 发现文件passwd.swp文件,无法正常编辑vim的时候,删除掉.psswd.swp即可 vim下:dd #删除一行 vim下:p #粘贴一行 vim下:y #复 ...

  10. 《Kubernetes权威指南》——Kubelet运行机制与安全机制

    1 Kubelet运行机制 Kubenetes集群中的每个Node节点都会启动一个Kubelet服务进程用于处理Master下发到该节点的任务,管理Pod及其中的容器 Kubelet进程在API Se ...