php 文件写入-php写入日志文件

2023-08-21 0 3,664 百度已收录

要在PHP中实现日志操作php 文件写入,可以使用error_log()函数。 该函数采用三个参数:要记录的消息、日志文件的路径(如果留空则使用默认值)和错误类型常量。 类似于: ```error_log("Anerroroccurred", "/var/log/my-errors.log", 0);``` 这会将“Anerroroccurred”写入日志文件“/var/log/my-errors” 。日志”。 您还可以使用 error_log() 函数将消息发送到指定的电子邮件地址php 文件写入,只需将日志文件路径替换为电子邮件地址即可。类似于: ```error_log("Anerroroccurred","webmaster@example.log" com",0);````这会将“Anerroroccurred”作为电子邮件发送到“webmaster@example.com”。您还可以使用trigger_error()函数生成自定义错误消息并将其写入日志。如: ```trigger_error("Acustomerroroccurred", E_USER_WARNING);``` 这将生成 E_USER_WARNING 级别的错误消息并将其写入日志。

php 文件写入-php写入日志文件

第 1 章:文件上传

1.1 客户端上传设置

上传中文B/S程序已成为一种常见功能。目的是客户可以通过浏览器将文件上传到服务器上的指定目录。

互联网上支持文件上传的常见网站:

各类云盘

化身

网络相册

实名认证

电子邮件附件

简而言之,Web开发要求用户将属于PHP上传范围内的文件传递到服务器。服务器端只能接受副本,除非不完成此功能。

就像10086客服一样,只要你打电话就得接受,不接受只能是服务器忙了。

PHP 中文上传基础知识:

1) 客户端表单设置

2)服务器操作和处理上传的文件

必须设置的表单项:


文件上传



选择文件:



请注意一些特征属性:

1.上传文件必须以post的形式,而不是get的形式。

2. 确保在表单中写下enctype=“multipart/form-data”。

3. 输入表单必须写下名称名称。

1.2 在服务器端通过PHP进行上传处理

上传文件的接收和处理通过 PHP 脚本处理,需要以下三个方面的信息:

1)在PH配置文件中设置命令:用于微调PHP的文件上传功能。

2)$FILES多维字段:用于存储与上传文件相关的各种信息,其他数据或使用$_POST获取。

3)PHP文件上传处理功能:用于上传文件的后续处理。

1) 与 PHP 配置文件中的文件上传相关的选项。

2) $_FILES 多维字段。

php 文件写入-php写入日志文件

超级全球领域 $_FILES

1. $_FILES[“myfile”][“name”] 中的值为:客户端文件系统中文件的名称。

2. $FILES [“myfile”] [“type”] 中的值为:客户端传递的文件类型。

3. $_FILES[“myfile”][“size”] 中的值为:文件字节的大小。

4. $_FILES[“myfile”][“tmp_name”] 中的值为:文件上传后存储在服务器上的临时完整路径。

5、$_FILES[“myfile”][“error”] 中的值为:文件上传的错误码——php4.2 之后缩减的功能。

有关错误文件上传的错误代码:

UPLOAD_ERR_OK

其值为 0,不发生错误,文件上传成功。

UPLOAD_ERR_INI_SIZE

值为 1 时,上传的文件将超过 PHP .ini中upload_max_filesize选项限制的值。

UPLOAD_ERR_FORM_SIZE

值为 2 时,上载文件的大小将超过 HTML 表单中MAX_FILE_SIZE选项指定的值。

UPLOAD_ERR_PARTIAL

值为 3 时,仅上传文件的一部分。

UPLOAD_ERR_NO_FILE

其值为 4,并且不上传任何文件。

UPLOAD_ERR_NO_TMP_DIR

其值为 6,找不到临时文件夹。引入了 PHP 4.3.10 和 PHP 5.0.3。

UPLOAD_ERR_CANT_WRITE

值为 7 时,文件写入失败。引入了 PHP 5.1.0。

注意:上述值在 PHP 4.3.0 之后已成为 PHP 常量。

通用数据格式 (MIME)。

3) PHP 的文件上传处理程序

上传的文件会放在服务端的临时目录中,文件名是随机生成的临时文件名。

注意:程序执行后php 文件名php 文件名,此文件将被手动删除。

在删除之前,可以将其视为本地文件。

文件上传处理程序:

is_uploaded_file - 确定文件是否通过 HTTPPOST 上传。

格式:boolis_uploaded_file(字符串/文件名)。

move_uploaded_file - 将上传的文件连接到新位置。

格式:boolmove_uploaded_file(字符串/文件名,字符串/目的地)。

注意:如果目标文件已存在,它将被覆盖。

参数说明:文件的临时目录和要连接的位置目录

箱:

1) 设置后端上传接口





Document







2) 将.php处理文件上传到临时目录

//专业搬运工具
//move_uploaded_file()
//参数1:文件临时目录 参数2: 要移动到的位置
//is_uploaded_file() 判断文件是否是http post提交过来的
//参数1:文件临时目录
//1.我们保存的路径按照时间来创建
//var_dump($_GET);
//1.1保存的路径
$dir='./biran/'.date('Y/m/d/');
//echo $dir;exit;
//1.2 判断文件上传的路径是否存在 如果不存在就创建
if(!file_exists($dir)){
mkdir($dir,777,true);
}
//2.要有个好的文件名 唯一的文件名
//2.1获取文件的后缀名
//2.jpg jpg
$suffix = pathinfo($_FILES['pic']['name'],PATHINFO_EXTENSION);
//echo $suffix;
//2.2重新起名
$filename = date('Ymd').uniqid().mt_rand(0,9999).'.'.$suffix;
//echo $filename;
//开始搬运
//判断是否是http post 传递的文件
if(!is_uploaded_file($_FILES['pic']['tmp_name'])){
//不是http post上传文件
echo '别整没用的!!';exit;
}
//开始真正的搬运
if(move_uploaded_file($_FILES['pic']['tmp_name'],$dir.$filename)){
echo '11111111111';
}else{
echo '22222222222';
}

封装为函数:

想法:

function upload(){
//1.判断文件上传错误
//2.判断你文件上传的类型是否是你想要的类型
//3.起名字
//4.判断保存路径是否存在
//5.判断是否是http post方式上传
//6.移动图片
//7.返回移动成功的图片名
}

开始封装函数:创建新函数.php

<?php
/*
文件上传函数
@param string $name 文件上传文件域的name值
@param string $dir 文件保存路径
@param array $allow 文件允许上传的类型
return string $filename 文件名 如果失败 返回false
*/
function upload($name,$dir='./upload/',$allow=array('jpg','gif','jpeg','png')){
//echo $name;exit;
//var_dump($_FILES);exit;
//1.判断文件上传错误
if($_FILES[$name]['error']>0){
//echo '上传错误';
switch($_FILES[$name]['error']){
case 1:
echo '上传的文件超过了 php.ini 中upload_max_filesize 选项限制的值.';
break;
case 2:
echo '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值';
break;
case 3:
echo '文件只有部分被上传.';
break;
case 4:
echo '没有文件被上传.';
break;
case 6:
echo '找不到临时文件夹.';
break;
case 7:
echo '文件写入失败.';
break;
}
return false;
}
//2.判断你文件上传的类型是否是你想要的类型
//2.1允许上传的类型
//2.2 获取后缀名
$suffix = pathinfo($_FILES[$name]['name'],PATHINFO_EXTENSION);
//echo $suffix;exit;
//2.3 判断是否是我们允许上传的类型
//var_dump(in_array($suffix,$allow));exit;
if(!in_array($suffix,$allow)){
//不允许上传的类型
echo '大哥你的上传类型不符合';
return false;
}
//3.起名字
$filename = date('Ymd').uniqid().mt_rand(0,9999).'.'.$suffix;
//echo $filename;exit;
//4.判断保存路径是否存在
//4.1 得到保存路径
//4.2 处理保存路径和后面的斜杠
$save_path = rtrim($dir,'/');
$save_path .='/';
//4.3 保存路径中的时间文件夹处理
$save_path .=date('Y/m/d/');
//4.4 判断保存的路径是否存在
if(!file_exists($save_path)){
mkdir($save_path,777,true);
}
//4.5 拼接一个完整的保存路径
$path = $save_path.$filename;
//echo $path;exit;
//5.判断是否是httppost方式上传
if(!is_uploaded_file($_FILES[$name]['tmp_name'])){
echo '滚蛋!';
return false;
}
//6.移动图片
if(!move_uploaded_file($_FILES[$name]['tmp_name'],$path)){
echo '移动失败';
return false;
}
//7.返回移动成功的图片名
return $filename;
}

调用函数开始上传:

<?php
include './function.php';
//var_dump($_FILES);exit;
echo upload('file','./leiding',array('jpg','png'));

第 2 章:多文件上传

2.1 上传多个不同名称的文件

当需要上传多个文件时,有两种方法可以实现它:

1)使用不同的表单元素。



2) 使用链表格式的表单元素。



第3章 文件下载

1)对于浏览器无法识别的文件,您可以借助连接直接下载它们。


<a href="./downlist/1.rar">1.rar</a>
<a href="./downlist/1.exe">1.exe</a>
<a href="./downlist/1.avi">1.avi</a>

2)对于浏览器无法识别,可以使用readfile功能。


<a href="./action.php?name=1.html">1.html</a>
<a href="./action.php?name=1.php">1.php</a>
<a href="./action.php?name=1.txt">1.txt</a>
<a href="./action.php?name=1.jpg">1.jpg</a>
//接收一下name值.
$name = $_GET['name'];
//实现下载功能
//强制浏览器弹出另存为对话框
header('content-Disposition:attachment;filename="'.$name.'"');
//此时只是下载了一个空文件,需要利用readfile读一遍所有的内容.便可下载.
$path = './downlist/'.$name;
readfile($path);

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 php php 文件写入-php写入日志文件 https://www.wkzy.net/game/136175.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务