
PHP
软件工程小施同学
区块链、DevOps、小程序、软件工程
展开
-
thinkphp6入门(25)-- 分组查询 GROUP_CONCAT
假设表名为,字段为user_id和。原创 2024-10-03 10:47:25 · 1462 阅读 · 0 评论 -
thinkphp6入门(23)-- 如何导入excel
注:现在主要使用phpoffice/phpspreadsheet库,phpoffice/phpexcel已经不再维护,但本文由于环境无法更新,所以就安装了phpoffice/phpexcel。参考:https://www.tpxhm.com/fdetail/725.html。1. 安装phpexcel。原创 2024-07-13 09:47:45 · 412 阅读 · 0 评论 -
thinkphp6 入门(24)--如何给上传图片的服务器目录授权
开发网站,上传图像时提示”上传图片失败,Impossible to create the root directory /var/www/html/xxxxx/public/uploads/avatar/20240608.“首先,确保Web服务器(如Apache或Nginx)有权限写入目标目录。如果目录权限必须设置为777,建议定期检查和清理该目录,防止恶意文件上传。如果问题依然存在,请检查代码的配置文件,确保上传路径和权限配置正确。:通常,Web服务器在Ubuntu上运行时使用的用户是www-data。原创 2024-06-08 11:07:26 · 522 阅读 · 0 评论 -
thinkphp6入门(22)-- 如何下载文件
文档地址:https://www.kancloud.cn/a173512/thinkphp6/2452912。2. 在后端控制器方法中,我们需要获取要下载的文件路径,并通过响应头的方式将文件发送给用户进行下载。下载文件的路径是服务器路径而不是URL路径,如果要下载的文件不存在,系统会抛出异常。假设在public/uploads文件夹下有一个文件test.xlsx。在前端页面添加下载链接,用户点击该链接即可下载对应的文件。原创 2024-04-06 15:34:20 · 1247 阅读 · 0 评论 -
thinkphp6入门(21)-- 如何删除图片、文件
因为这个删除函数是通用的,因此可以把它放到公共函数里。by: 软件工程小施同学。原创 2024-04-05 16:20:14 · 1156 阅读 · 0 评论 -
thinkphp6入门(20)-- 如何上传图片、文件
注意:try catch中捕捉错误,是\Throwable $e。也可单独封装出一个上传文件的函数。by 软件工程小施同学。原创 2024-02-14 22:38:12 · 3341 阅读 · 0 评论 -
php 如何判断是否上传了文件、图片
3. 假如前端没有传user_avatar_image的字段,打印$_FILES。因此,可以使用error字段判断是否上传了指定的文件。1. 当没有文件上传时,打印$_FILES。2. 当有文件上传是,打印$_FILES。php使用$_FILES进行判断。原创 2024-02-08 23:12:26 · 1459 阅读 · 0 评论 -
网站后端开发 thinkphp6 入门教程合集(更新中)
thinkphp6入门(16)-- cache用法总结-优快云博客。原创 2024-02-06 20:33:41 · 2546 阅读 · 0 评论 -
thinkphp6入门(19)-- 中间件向控制器传参
可以通过给请求对象赋值的方式传参给控制器(或者其它地方),例如。注意,在控制器中的方法和官方文档中的不同,使用官方的方法会报错。然后在控制器的方法里面可以直接使用。by 软件工程小施同学。原创 2024-02-06 11:28:44 · 1603 阅读 · 0 评论 -
thinkphp6入门(16)-- 缓存cache用法总结
在ThinkPHP 6中,缓存功能被集成到框架中,可以通过Cache类来使用。缓存还支持一些其他的操作,比如删除缓存、判断缓存是否存在等。ThinkPHP 6 支持缓存标签,可以更灵活地管理缓存。这里使用文件缓存,你也可以选择其他缓存驱动,比如。在你的代码中,你可以使用全局助手函数。类的实例,然后调用相应的方法。原创 2024-02-04 15:04:28 · 3185 阅读 · 0 评论 -
thinkphp6入门(15)-- 模型动态构建查询条件
我使用thinkphp6的模型写数据库查询,有多个where条件,但是不确定是否需要添加某个where条件,怎么才能动态得生成查询。在ThinkPHP 6中,可以使用链式查询方法来动态地构建查询条件。可以根据参数的值来决定是否添加。这样就可以实现按照条件查询不同类型的用户。原创 2024-01-07 00:02:46 · 1151 阅读 · 0 评论 -
thinkphp6入门(14)-- 多关联模型查询
thinkphp 6中如何通过模型查询所有用户,其中包括每个用户的cloth和shoe。有3个数据表,一个User表,一个Cloth表,一个Shoe表。Cloth表和Shoe表分别和User表通过user_id关联。查询结果将是一个包含所有用户及其关联的。每个用户对象都会包含与其关联的。方法指定要加载的关联数据(即。原创 2024-01-02 01:00:42 · 1445 阅读 · 0 评论 -
thinkphp6入门(13)-- 一对多关联模型
定义一对一关联,例如,一个用户都有多个工作经历。原创 2023-12-13 23:08:26 · 1051 阅读 · 0 评论 -
thinkphp6入门(12)-- 一对一关联模型
定义一对一关联,例如,一个用户都有一个个人资料。原创 2023-12-09 21:49:42 · 837 阅读 · 0 评论 -
thinkphp6 入门(11)-- 模板标签
新版框架默认只能支持PHP原生模板,如果需要使用模板引擎,需要安装think-view扩展(该扩展会自动安装依赖库)。原创 2023-11-03 00:54:27 · 1076 阅读 · 0 评论 -
thinkphp6 入门(10)-- 修改代码后不立刻生效
在public目录下的index.php中加入以下代码。原创 2023-10-15 00:45:32 · 956 阅读 · 0 评论 -
thinkphp6 入门(8)-- Session
ThinkPHP`6.0`基于精简核心和统一用法两大原则在`5.1`的基础上对底层架构做了进一步的优化改进,并更加规范化。Session · ThinkPHP6.0完全开发手册 · 看云。功能默认是没有开启的(API应用通常不需要使用。如果name的值不存在,返回。原创 2023-10-14 22:15:12 · 1121 阅读 · 0 评论 -
thinkphp6 报错unexpected ‘ ‘, expecting case (T_CASE) or default (T_DEFAULT) or ‘}‘
, expecting endswitch (T_ENDSWITCH) or case (T_CASE) or default (T_DEFAULT)在模板中应用{switch}{/switch}标签,报错,其实是switch的问题,模板解析后,switch:和第一个case:之间不能有有输出的,一个空格也不行,所以第一个要紧跟着...原创 2023-10-14 19:26:37 · 645 阅读 · 0 评论 -
php 用户登录密码
PHP 256加密是一种安全性较高的加密方式,它基于Hash算法,可以对任意长度的输入数据生成定长的、不可逆的“指纹”,同时还能在更安全的方式下存储密码等敏感数据。2. 可以对散列值进行加盐处理,将额外随机生成的字符串加入到密码中再进行SHA-256加密,这样生成的散列值呈现独特性的概率将会更大。1. 用php内置函数`hash()`,将字符串"MyPasswd123"加密成了一个128位的散列值,免去了明文密码被泄漏的风险。这样生成的散列值的安全性将远远高于单纯地SHA-256加密。转载 2023-10-14 16:48:30 · 249 阅读 · 0 评论 -
thinkphp6入门(9)-- 获取url路径中的应用名、控制器名、操作名
ThinkPHP`6.0`基于精简核心和统一用法两大原则在`5.1`的基础上对底层架构做了进一步的优化改进,并更加规范化。请求信息 · ThinkPHP6.0完全开发手册 · 看云。如果使用了多应用模式,可以通过下面的方法来获取当前应用。原创 2023-10-13 20:21:02 · 1708 阅读 · 0 评论 -
thinkphp6 入门(6)--中间件是什么 怎么用
当客户端发送请求至服务器时,HTTP请求会经过多个中间件,最后返回响应给客户端。中间件可以在请求到达目标控制器或动作之前对请求进行操作可以在响应离开目标控制器或动作之前对响应进行操作二、中间件的作用我们可以在不修改应用程序逻辑的情况下添加额外的功能,如登录验证、检查用户权限、权限控制请求过滤判断当前浏览器环境是在微信或支付宝写系统日志统计三、中间件的类型。原创 2023-09-09 17:13:33 · 2404 阅读 · 0 评论 -
thinkphp6 入门教程合集(更新中)
thinkphp6 入门(1)--安装、路由规则、多应用模式_软件工程小施同学的博客-优快云博客thinkphp6 入门(2)--视图、渲染html页面、赋值_软件工程小施同学的博客-优快云博客thinkphp6 入门(3)--获取GET、POST请求的参数值_thinkphp获取get传值_软件工程小施同学的博客-优快云博客thinkphp6 入门(4)--数据库操作 增删改查_软件工程小施同学的博客-优快云博客thinkphp6 入门(5)-- 模型是什么 怎么用_软件工程小施同学的博客-CSD原创 2023-09-08 20:49:26 · 1826 阅读 · 0 评论 -
thinkphp6 入门(4)--数据库操作 增删改查
Db::name('test')其中'test'为数据库表的名字,使用insert操作,返回插入成功的条数,,通常情况返回 1。查询条件使用where('字段名','查询表达式','查询条件'),缺省'查询表达式'表示等于。查询使用select(),返回的是对象,所以要用->toArray()转成数组。使用update,返回影响数据的条数,没修改任何数据返回 0。使用delete,返回影响数据的条数,没有删除返回 0。比如我新建了一个数据库表,名为test。二、配置数据库连接信息。多个where可以连接。原创 2023-09-04 22:35:19 · 1300 阅读 · 0 评论 -
thinkphp6 入门(5)-- 模型是什么 怎么用
注:如果是要修改name字段,是修改不成功的,因为其与 “think\Model” 中的属性name冲突。但是发现,相同的数据逻辑(SQL)在不同的功能中可能被用到,所以可以把数据逻辑(SQL)单独提出来作为模型层(M),多个业务逻辑(php)可以复用。之前开发一个功能,后端为在控制器(C)中写 php + SQL,前端为在页面(V)中写html + css + js,这就形成了 VC 架构。例如,数据库中存储的状态是-1,0,1等数字,但是可以通过模型统一向外提供转换。1. 模型中也可以使用Db库。原创 2023-09-04 22:41:22 · 1494 阅读 · 0 评论 -
thinkphp6 模型中name字段冲突
上面的代码将失败,这是由于“name”与 “think\Model” 中的表名字段冲突,在执行到“name”属性赋值时,会更改“Users”模型的表名为‘test’,导致执行“save()”时将数据保存到“test”表。在模型中,修改user表中的id=1的记录,将其name命名为'test'。因此,建表时注意字段尽量避免使用 “think\Model” 中的属性。转载 2023-09-02 22:58:20 · 338 阅读 · 0 评论 -
thinkphp6 入门(3)--获取GET、POST请求的参数值
注意:提交路径为/index.php/test/User/dologin/func/login?具体参考:https://www.kancloud.cn/manual/thinkphp6_0/1037519。可以看到,Request::param成功提取到了get中参数、url中的路径参数、post中的参数。类型变量是框架提供的用于自动识别当前请求的一种变量获取方式,是系统推荐的获取请求参数的方法。二、可以通过Request::param获取所有输入参数。2. 新建一个控制器函数。新建一个html页面。原创 2023-08-28 20:58:33 · 3424 阅读 · 0 评论 -
thinkphp6 入门(2)--视图、渲染html页面、赋值
访问地址 http://localhost/clubs/public/index.php/test/user/index。请看:https://blog.youkuaiyun.com/qzmlyshao/article/details/131013777。请看https://www.kancloud.cn/manual/thinkphp6_0/1037608。运算符、循环标签、if标签、比较标签、条件标签等。表示调用User控制器下面的index模板。在html中通过下列的方式进行引用。方法进行全局模板变量赋值。原创 2023-08-28 20:56:18 · 2498 阅读 · 0 评论 -
thinkphp6 入门(1)--安装、路由规则、多应用模式
具体参考官方文档下面仅列举重要步骤ThinkPHP6.0。原创 2023-08-26 00:43:59 · 2788 阅读 · 0 评论 -
thinkphp6 本地开发环境window如何安装
先下载 再看下面的教程。转载 2023-07-28 19:30:27 · 240 阅读 · 0 评论 -
PHP Default value for parameters with a class type hint can only be NULL
两种方法:1. 将php的版本切换到PHP7;2. 将php代码中的函数定义中的参数定义的变量类型删除了。function test(string $x){ // ....}即将string直接删除即可原创 2020-09-17 21:26:09 · 2735 阅读 · 0 评论 -
thinkphp5 php代码中如何确定文件的路径位置
因为thinkphp5将public文件夹作为入口文件夹,所以public就是顶层目录。比如上图中的图片,获取其路径则可以按照上面的方式,如何判断是否获取成功,可以使用file_exists函数进行判断。...原创 2020-09-17 21:02:22 · 1001 阅读 · 0 评论 -
PHP如何使用IPFS API用法
1. 在windows中安装IPFS;2. 下载PHP版的IPFS接口类文件IPFS.php<?php/* This code is licensed under the MIT license. See the LICENSE file for more information.*/namespace Cloutier\PhpIpfsApi;class IPFS { private $gatewayIP; private $gatewayPort; private原创 2020-09-17 13:40:25 · 1084 阅读 · 0 评论 -
thinkphp5引入调用外部类
1. 将外部类放到extends文件夹下2.观察外部类文件的命名空间3. 在需要引用该类文件的php代码中,引入该文件注意,前面为命名空间,后面为类的名字4. 绿线的地方写该类文件在extends文件夹中的路径,不带后缀;黄线的地方不加”\"5. 调用IPFS类中的一个函数最后输出注意:如果引用的类文件没有命名空间,则参考:https://blog.youkuaiyun.com/weixin_41764619/article/details/84...原创 2020-09-17 13:22:17 · 1686 阅读 · 0 评论 -
thinkphp5 接收layui上传的文件
layui上传文件的代码如何写,请参考:https://blog.youkuaiyun.com/u013288190/article/details/108629087下面为thinkphp5代码:/** * 上传原始凭证 * @return [type] [description] */ public function upload_original_document(){ // 获取表单上传文件 例如上传了001.jpg,请特别注意file.原创 2020-09-16 20:31:50 · 819 阅读 · 0 评论 -
thinkphp5 insertAll 插入的数据列不对 对应关系不对
每组数据里面的字段顺序必须是一样的原创 2020-09-13 11:19:48 · 1051 阅读 · 6 评论 -
SQLSTATE: Insert value list does not match column list: 1136 Column count doesn‘t match value count
使用thinkphp5的insertAll的批量新增函数,提示SQLSTATE[21S01]: Insert value list does not match column list: 1136 Column count doesn't match value count at row 2其意思就是:在第二行数据开始,插入的,每行数据的值的个数和列的字段的个数不相同。比如上面的数据,第一行有12个字段,第二行只有11个字段。数据库将以第一行存在的字段计算Column count;即使.原创 2020-09-13 09:58:45 · 11543 阅读 · 0 评论 -
thinkphp5 没有getField
// 同tp3的getField$result = User::where('status',1)->column('id,name,age', 'id');可以使用column原创 2020-09-03 21:56:20 · 480 阅读 · 0 评论 -
thinkphp5 没有 $this->ajaxReturn
thinkphp5已经没有3中$this->ajaxReturn($result),可以使用return json($result)代替。 /** * 得到所有会计分录 * @return [type] [description] */ public function get_all_accounting_titles() { $all_accounting_titles = Db::table('hq_acc原创 2020-09-02 16:53:30 · 753 阅读 · 0 评论 -
PHP开发工具推荐
一、代码编辑器 sublime(这一定是最好用的!什么代码都可以写,各种好用插件飞起) phpstorm(此为IDE,个人觉得比较麻烦,但也有很多优秀自带的功能,挺实用的,只是觉得麻烦,哈哈哈) 二、本地php运行环境 windows操作系统:phpstudy(一定是最好用的,最简单的!) mac操作系统:MAMPPRO(收费的,但是百度很多...原创 2020-04-27 11:49:24 · 1071 阅读 · 0 评论 -
linux ubuntu apache php 网站 'page not found'
网站独立部署服务器后,本来可以正常访问的某个url,页面直接显示“page not found",不显示任何错误信息。这种情况,是因为服务器做了设置,不向外展示错误信息,为什么出错,我们可以查看php的运行日志。可以使用tail -f -n 100 日志名,查看日志。thinkphp的日志在 根目录/Application/Runtime/模块名/最新的日志...原创 2019-12-19 17:51:35 · 487 阅读 · 0 评论