下面来讲利用PHP下载网络图片常用的三个方法,当然,这三个方法都不是万能的,有时候会因为网络问题,或者网络图片的权限问题(大站一般都有防盗链)导致下载失败。
一起来看看吧,实际工作中经常用到。
方法一
优点:简单。
缺点:效率相对较低。
该方法主要用到的函数有两个file_get_contents以及file_put_contents这种方法非常简单,通俗的讲就是先get到图片内容,然后put到文件中。
代码如下:
<?...
php文件锁产生的问题和解决方案(一个真实案例)
一个真实案例:想起自己之前犯过一个相关的错误。当时场景是这样的:有一个微信公众号项目,调用微信公众号的接口都需要access_token,它的有效期是2小时。当时我的做法是把它存放在文件中,格式使用的是json。
{"access_token":"easWasdw32323", "expire":1588219064}。伪代码如下:
function getToken ($tokenFile)
{
$tokenJson = file_get_contents($tokenFile);
if (!$tokenJson) {
...
PHP数据库框架Medoo1.6安装教程
开始:使用Medoo是非常简单的事!
Medoo1.2开始不支持PHP5.4或以下,若你使用的是1.2以前的版本,请选择菜单 中文文档(<1.2)
要求:
1、PHP>=5.4, 必须支持PDO
2、支持 MySQL, MSSQL, SQLite 等数据库.
3、确保php_pdo_xxx (xxx = 数据库类型) 的xxx数据扩展已经正确安装并启用.
4、需要懂一些SQL知识.
PHP PDO扩展列表
MySQL, MariaDB -> php_pdo_mysql
MSSQL (Windows) -> php_pdo_sqlsrv
MSSQL...
PHP如何删除一个路径下的所有文件夹和文件?
PHP如何删除一个路径下的所有文件夹和文件?下面本篇文章给大家介绍一下PHP删除一个路径下的所有文件夹和文件的方法,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
用到的函数:
scandir($path) 遍历一个文件夹所有文件并返回数组。
unlink($filename) 删除文件。
rmdir($path) 只删除空文件夹
代码:
删除单个文件
$file = "./aa/aas.txt";
if (!unlink($file))
{
echo ("...
Mysqli的基本操作-CURD的学习开发总结
PHP自5.5起,已经完全废除mysql扩展,官方推荐使用MySQLI或PDO来代替,这篇文章主要讲mysqli的一些基本操作,使用mysqli有两个风格的写法,对象式或函数式,下面我们只展示函数式的写法风格。
数据库连接
首先肯定需要连接数据库。连接数据前,我们需要准备的一般有数据库的账号、密码、端口号、数据库名。
因为网络原因或其他原因经常会有连接不上数据库的情况,所以,我们需要做连接失败的处理。
<?...
API常用签名验证方法(PHP实现)
使用场景
现在越来越多的项目使用的前后端分离的模式进行开发,后端开发人员使用API接口传递数据给到前端开发进行处理展示,在一些比较重要的修改数据接口,涉及金钱,用户信息等修改的接口如果不做防护验证,经常容易被人恶意刷接口,导致巨大的损失。
API签名验证
这里我们引入业内比较通用的签名验证来对接口进行参数加密,有以下优势。
请求的唯一性:计算出的签名是唯一的,可以用来验证。
参数的可变...
用PHP代码实现简单的工厂模式
PHP代码实现简单的工厂模式方法
1、定义抽象基类
//家禽类
abstract class Fowl
{
abstract public function eat();//吃方法
}
2、定义子类
//牛类
class Cattle extends Fowl
{
public function eat()
{
echo "我是牛,我吃草";
}
}
//鸭类
class Duck extends Fowl
{
public function eat()
{
echo "我是鸭,我吃鱼";
}
}
//羊类...
PHP简单实现路由Route功能
对于由原生PHP写成的独立PHP框架,利用单一入口文件实现路径的访问。这时我们会遇到的首要问题是:文件的相互包含,其次就是路由分配。当我们不利用成熟的PHP框架进行web开发时,我们就会发现上述两个问题会是很困扰我们的问题所在。
问题解决方案:
1、文件包含
php的文件包含有两种方式:require和include,两个方法的区别在于利用require包含文件当出错时,会报出严重错误,同时PHP脚本会停止运行;而利...
PHP路由库FastRoute的使用教程
GitHub: https://github.com/nikic/FastRoute
这个库提供了基于正则表达式的快速路由实现,这篇文章解释了 FastRoute 是如何工作的和它为什么很快。
安装
通过 composer 安装
composer require nikic/fast-route
要求 PHP 5.4 及更高的版本
使用
这是一个基本的使用示例:
<?php
require '/path/to/vendor/autoload.php';
$dispatcher = FastRoute\simpleDispatcher(function(FastRoute\RouteCollec...
PHP百钱百鸡问题(三种解题思路及答案)
什么是百钱百鸡?
我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
翻译过来就是:
公鸡5元一只,母鸡3元一只,小鸡1元3只,100元买了100只鸡,问各多少只?
下面利用PHP分三种方法来解决这个问题:
第一种
假设:
如果公鸡1只,母鸡1只,小鸡1只,则总价为:......,不对。
如果公鸡1只,母鸡1只,小鸡2只,则...