IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> php学习笔记 -> 正文阅读

[PHP知识库]php学习笔记

1.PHP — 连接MySQL数据库
// 连接服务器
$link = mysqli_connect();
//选择数据库
mysqli_select_db(库名字);
// 执行语句
// 设置字符集编码
mysqli_query();
// 执行记录的操作
$result = mysqli_query();
// 处理结果集
mysqli_fetch_array
mysqli_fetch_row
mysqli_fetch_assoc
mysqli_fetch_all
// 释放资源关闭连接
mysqli_free_result(¥result);
mysqli_close(¥link);

2.在连接数据库发生错误是,会出现错误信息,但在上线项目中建议对信息错误进行屏蔽,并可以自定义提示,:

  • $link = @mysqli_connect(‘localhost:3306’,‘root’,‘123456’);
  • $link = mysql_connect(‘localhost’,‘root’,‘123456’) or die(‘数据库服务器连接失败!’);

PHP 文件操作

文件属性
函数:
int filesize(string $filename) 获取文件大小
int filectime(string $filename) 获取文件的创建时间
int filemtime(string $filename)获取文件的修改时间
int fileatime(string $filename) 获取文件的上次访问时间
bool is_readable(string $filename)判断给定文件是否可读
bool is_writable(string $filename)判断给定文件是否可写
bool is_executable(string $filename)判断给定文件是否可执行
bool is_file(string $filename)判断给定文件名是否为一个正常的文件
bool is_dir(string $filename)判断给定文件名是否是一个目录
array stat(string $filename)给出文件的信息


```php
<?php

$date = time();
$date2 = date("y-m-d h:i:s",$date)
echo $date2;
exit;
$filename = "0.txt";
// echo filetype($filename);
$exist = file_exists($filename);
var_dump($exist)
 ?>

1.在PHP中打开文件使用的是fopen()函数
其声明方式:
resourse fopen(string $filename,string $mode)
$filename—>表示文件名 $mode—》表示文件打开的模式
打开模式:
r :只读打开方式,将文件指针指向文件头
r+ 读写打开方式,将文件指针指向文件头
w 写入打开方式,将文件指针指向文件头并将文件大小截为零,如果文件不存在则尝试创建之
w+ 读写打开方式,将文件指针指向文件头并将文件大小截为零,如果文件不存在则尝试创建之
a 写入打开方式,将文件指针指向文件末尾,如果文件不存在则尝试创建之
a+ 读写打开方式,将文件指针指向文件末尾,如果文件不存在则尝试创建之
x 创建并以写入方式打开,将文件指针指向文件头,如果文件已存在,则fopen()调用失败并返回false,并生成一条E_warning级别的错误信息,如果文件不存在则进行创建
x+ 创建并以读写方式打开,其他的行为和‘x’一样
2.在PHP中关闭文件使用的是fclose()函数
bool fclose(resource $handle)
$handle: fopen()函数成功打开文件是返回的文件指针
如果文件关闭成功是返回true,失败则返回false
3.file_get_contents()函数
该函数用于将文件的内容全部读取到一个字符串中
4.file()函数
该函数的作用是将整个文件读入到数组中

<?php 
$filename = "0.txt";
// echo filetype($filename);
$exist = file_exists($filename);
$handle = fopen($filename, 'r');
$data = fread($handle, 16);
$data = fgetc($handle);
$data = fgets($handle);
$data = file_get_contents($filename);
var_dump($data)
?>

文件上传
1.文件夹上传成功后会保存在服务器的临时文件夹tmp目录下
2.upload.php对该文件进行处理,判断是否符合要求
3.如果符合则将文件从tmp目录移动到指定目录长期保存
当用户通过上传表单选择一个文件夹并提交后,PHP会自动生成一个$_FILES二维数组,该数字保存了上传文件的信息

<?php 
$destination ='123'/.$_FILES['userfile']['name'] // 目标文件
  if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
  	if (move_uploaded_file($_FILES['userfile']['tmp_name'],$destination)) {
  		# code...
  		echo "上传成功";
  	}
  	# code...
  }
  echo "<pre>";
  var_dump($_FILES['userfile']);
  echo "</pre>"
?>
<form enctype="multipart/form-data" action="index.php" method="post">
	<input type="hidden" name="max_file_size" value="30000" />
	选择文件: <input type="file" name="userfile" />
    <input type="submit" value="上传文件">
</form>

文件下载

<?php 
header('Content-Type:text/html;charset=utf-8');
define('ROOT_PATH', dirname(_FILE_));
// 定义一个函数用于下载
function downfile($file_path){
	// 判断文件是否存在
	$file_path = iconv('utf-8', 'gb2312', $file_path); //对可能出现的中文名称
	if (!file_exists($file_path)) {
		exit('文件不存在!')
		# code...
	}
	$file_path = basename($file_path); // 获取文件名称
	$file_size = filesize($file_path); //获取文件大小
	$fq = fopen($file_path, 'r'); // 以只读的方式打开文件
	header("Content-Type: application/octet-stream");
	header("Content-Dispositon: attachment;filename={$file_name}");
	$buffer = 1024;
	$file_count = 0;
	// 判断文件是否结束
	while (!feof($fp) && ($file_size - $file_count >0)) {
		$file_data=fread($fp, $buffer);
		$file_count += $buffer;
		echo $file_data;
	}
	fcolse($fp); // 关闭文件

}
 // 调用实例
 downfile(ROOT_PATH = "./uploads/hello.txt");
?>

例子

<?php 
$filename = "stu.csv";
$handle = fopen($filename, "r+");
$str = "";
while ($data = fgetcsv($handle)) {
	$str .="('".$data[1]."','".$data[2]."'),";
}
$str = substr($str,0, strlen($str)-1);
$sql = "insert into stu (name,num) values ".$str;
$query = mysqli_query($link,$sql);
if ($query) {
	echo "success";
}
else{
	echo "false";
}
mysqli_close($link)
?>
  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 12:42:42  更:2022-03-06 12:43:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 11:39:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码