首页
VIP观影
美女套图
好友导航
留言板
推荐
匿名聊天室
二级域名
常用工具
高清壁纸
影视剧院
娱乐直播
Search
1
关于【套图】贡献者说明
6,232 阅读
2
利用CSS改变图片显示风格的方法 filter
3,565 阅读
3
女神朴信惠(๑′ᴗ‵๑)I Lᵒᵛᵉᵧₒᵤ❤
2,822 阅读
4
WJSSK_myfriend 我的好友(导航插件) 相关说明
1,485 阅读
5
随机小姐姐跳舞视频(6362个),源码分享
1,107 阅读
随笔
技术分享
Typecho
php
Vue
微信
Happy 分享
好看的电影
好看的电视剧
把你逗笑
登录
/
注册
Search
标签搜索
php
vue
Easypanel
centos
typecho
mqtt
宝塔bt
typecho插件
函数
云服务器
Kangle
mosquitto
mosquitto-cluster
mosquitto-auth-plug
libwebsockets-4.2.0
vue-cli
防盗链
element-plus
图片放大缩小
滚轮放大缩小
登录
Or
注册
累计撰写
116
篇文章
累计收到
207
条评论
首页
栏目
随笔
技术分享
Typecho
php
Vue
微信
Happy 分享
好看的电影
好看的电视剧
把你逗笑
页面
VIP观影
美女套图
好友导航
留言板
推荐
匿名聊天室
二级域名
常用工具
高清壁纸
影视剧院
娱乐直播
搜索到
46
篇与
随笔
的结果
2023-04-19
cloudflare 有哪些好用的功能
Cloudflare是一家提供内容交付网络(CDN)和安全性服务的公司,其平台提供了许多好用的功能,其中包括:CDN加速:Cloudflare具有全球范围的数据中心,可以缓存您的网站内容并将其分发到最接近用户的服务器上,从而大大提高页面加载速度。DDoS保护:Cloudflare可以检测和过滤来自恶意攻击者的大流量攻击,确保您的网站始终可用。SSL加密:Cloudflare可以为您的网站提供免费的SSL证书,并强制启用HTTPS协议,从而保护用户数据的安全。安全防火墙:Cloudflare的Web应用程序防火墙(WAF)可以检测和阻止各种常见的Web攻击,例如SQL注入和跨站点脚本(XSS)攻击。优化图像和视频:Cloudflare可以使用WebP格式来优化图像,从而提高加载速度。此外,它还可以自动将视频转换为“逐帧编码”的格式,以提高视频的质量和加载速度。动态内容缓存:Cloudflare可以缓存动态生成的内容,例如PHP或ASP.NET页面,以提高网站的性能。负载均衡:如果您的网站需要处理大量的流量,Cloudflare可以帮助您将流量分配到多个服务器上,并确保它们按比例分配负载。Workers:Cloudflare Workers是一个全球分布式的计算平台,可以让您在其边缘网络上运行JavaScript代码。使用Workers,您可以创建轻量级的API端点、实现URL重定向和响应模板等。Stream:Cloudflare Stream是一个视频服务,它可以帮助您快速地将高质量视频交付给全球观众。Stream可以自动优化视频以适应用户的设备和带宽,并提供易于使用的API和嵌入式播放器。Access:Cloudflare Access允许您为Web应用程序添加单点登录(SSO)并限制对受保护资源的访问。Access可以与各种身份验证提供程序集成,并支持多种身份验证因素,例如密码、OAuth令牌和硬件密钥。Spectrum:Cloudflare Spectrum是一项DDoS保护服务,可保护未通过Cloudflare的TCP/UDP协议和基础架构。Spectrum可以防止各种类型的攻击,例如DNS放大、NTP放大和SYN Flood。Registrar:Cloudflare Registrar是一个域名注册服务,允许您直接在Cloudflare中注册和管理域名。Registrar可以自动为您配置DNS设置,并提供额外的安全性和隐私保护功能。总之,Cloudflare的服务非常全面,可以帮助网站提高性能、安全性和可靠性。由于其免费和付费计划都很适应不同规模的网站需求,因此它也被广泛地用于各种类型的网站和应用程序中。
2023年04月19日
21 阅读
0 评论
0 点赞
2023-04-11
thinkphp6 Script @php think service:discover handling the post-autoload-dump event returned with error code 255
thinkphp6 composer 出错- Locking topthink/think-trace (v1.6) - Locking voku/portable-ascii (2.0.1) Writing lock file Installing dependencies from lock file (including require-dev) Reading ./composer.lock (/www/wwwroot/report_myhosts_ga/composer.lock) Nothing to install, update or remove 25 package suggestions were added by new dependencies, use `composer suggest` to see details. Generating autoload files > post-autoload-dump: @php think service:discover Executing command (CWD): '/www/server/php/81/bin/php' -d allow_url_fopen='1' -d disable_functions='' -d memory_limit='1536M' think service:discover PHP Fatal error: Uncaught Error: Class "PhpOption\Option" not found in /www/wwwroot/report_myhosts_ga/vendor/illuminate/support/Env.php:76 Stack trace: #0 /www/wwwroot/report_myhosts_ga/vendor/illuminate/support/helpers.php(137): Illuminate\Support\Env::get() #1 /www/wwwroot/report_myhosts_ga/config/app.php(8): env() #2 /www/wwwroot/report_myhosts_ga/vendor/topthink/framework/src/think/Config.php(92): include('...') #3 /www/wwwroot/report_myhosts_ga/vendor/topthink/framework/src/think/Config.php(73): think\Config->parse() #4 /www/wwwroot/report_myhosts_ga/vendor/topthink/framework/src/think/App.php(523): think\Config->load() #5 /www/wwwroot/report_myhosts_ga/vendor/topthink/framework/src/think/App.php(449): think\App->load() #6 /www/wwwroot/report_myhosts_ga/vendor/topthink/framework/src/think/Console.php(110): think\App->initialize() #7 /www/wwwroot/report_myhosts_ga/vendor/topthink/framework/src/think/Console.php(94): think\Console->initialize() #8 [internal function]: think\Console->__construct() #9 /www/wwwroot/report_myhosts_ga/vendor/topthink/framework/src/think/Container.php(395): ReflectionClass->newInstanceArgs() #10 /www/wwwroot/report_myhosts_ga/vendor/topthink/framework/src/think/Container.php(252): think\Container->invokeClass() #11 /www/wwwroot/report_myhosts_ga/vendor/topthink/framework/src/think/Container.php(131): think\Container->make() #12 /www/wwwroot/report_myhosts_ga/vendor/topthink/framework/src/think/Container.php(513): think\Container->get() #13 /www/wwwroot/report_myhosts_ga/think(10): think\Container->__get() #14 {main} thrown in /www/wwwroot/report_myhosts_ga/vendor/illuminate/support/Env.php on line 76 Script @php think service:discover handling the post-autoload-dump event returned with error code 255{callout color="#4db1ef"}解决方案composer require vlucas/phpdotenv{/callout}{dotted startColor="#ff6c6c" endColor="#1989fa"/}别问为啥,我也不知道!
2023年04月11日
24 阅读
0 评论
0 点赞
2023-04-01
甲骨文扩容Oracle VPS安装CentOS 100G硬盘只显示39G
甲骨文创建完VPS后,本来设定的硬盘是100G,结果安装完宝塔以后,只显示39G,然后从网上找到教程,按教程操作后,即可显示正常。命令顺序{callout color="#4dedef"}parted -lfixfixfdisk /dev/sdapdenter(回车)nenter(回车)enter(回车)wpartprobexfs_growfs /lsblk{/callout}[root@sssss ~]# parted -l Error: The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)? Fix/Ignore/Cancel? fix Warning: Not all of the space available to /dev/sda appears to be used, you can fix the GPT to use all of the space (an extra 112037888 blocks) or continue with the current setting? Fix/Ignore? fix Model: ORACLE BlockVolume (scsi) Disk /dev/sda: 107GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 538MB 537MB fat16 EFI System Partition boot 2 538MB 9128MB 8590MB linux-swap(v1) 3 9128MB 50.0GB 40.9GB xfs [root@sssss ~]# fdisk /dev/sda WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion. Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 1048576 bytes Disk label type: gpt Disk identifier: 93417F67-B879-4BB1-BFD6-5503F0468687 # Start End Size Type Name 1 2048 1050623 512M EFI System EFI System Partition 2 1050624 17827839 8G Linux swap 3 17827840 97675263 38.1G Microsoft basic Command (m for help): d Partition number (1-3, default 3): Partition 3 is deleted Command (m for help): n Partition number (3-128, default 3): First sector (34-209715166, default 17827840): Last sector, +sectors or +size{K,M,G,T,P} (17827840-209715166, default 209715166): Created partition 3 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks. [root@instance-20230329-2326 ~]# partprobe [root@instance-20230329-2326 ~]# xfs_growfs / meta-data=/dev/sda3 isize=512 agcount=4, agsize=2495232 blks = sectsz=4096 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=9980928, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=4873, version=2 = sectsz=4096 sunit=1 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 9980928 to 23985915 [root@instance-20230329-2326 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi ├─sda2 8:2 0 8G 0 part [SWAP] └─sda3 8:3 0 91.5G 0 part /
2023年04月01日
38 阅读
0 评论
1 点赞
2023-03-17
php 页面固定时间内访问输出304
{dotted startColor="#ff6c6c" endColor="#1989fa"/}{mtitle title="来自ChatGPT的回答"/}要实现固定时间内访问输出304,需要使用HTTP缓存机制。具体步骤如下:设置响应头:在PHP脚本的开头使用header()函数设置响应头,包括Cache-Control、Expires和Last-Modified等字段。判断是否需要更新:在每次请求时,先判断客户端是否已经缓存了该资源,如果已经缓存,则比较客户端缓存的Last-Mod> ified时间和服务器端的Last-Modified时间是否一致,如果一致,则输出304 Not Modified响应,否则输出新的资源>> 内容和新的Last-Modified时间。下面是示例代码:// 设置响应头 header('Cache-Control: max-age=3600, public'); header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 3600) . ' GMT'); header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($filename)) . ' GMT'); // 判断是否需要更新 if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) { $last_modified_time = strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']); $current_modified_time = filemtime($filename); if ($last_modified_time == $current_modified_time) { // 输出304 Not Modified响应 header('HTTP/1.1 304 Not Modified'); exit; } } // 输出新的资源内容 readfile($filename);在上面的代码中,设置了Cache-Control、Expires和Last-Modified等响应头字段,用于控制缓存的过期时间和缓存的有效性。在判断是否需要更新时,使用了HTTP请求头中的If-Modified-Since字段,用于比较客户端缓存的Last-Modified时间和服务器端的Last-Modified时间是否一致。如果一致,则输出304 Not Modified响应,否则输出新的资源内容和新的Last-Modified时间。
2023年03月17日
32 阅读
0 评论
0 点赞
2023-03-15
php限制文件下载速度的代码
有时候你会出于某种目的而要求把下载文件的速度放慢一些,例如你想实现文件下载进度条功能。限制下载速度最大的好处>是节省带宽,避免瞬时流量过大而造成网络堵塞。本文将和你分享如何通过php代码来实现限制文件的下载速度。首先来看看利用php限制文件下载速度的代码:<?php // 将发送到客户端的本地文件 $local_file='abc.zip'; // 文件名 $download_file='your-download-name.zip'; // 设置下载速率(=> 31.2 kb/s) $download_rate=31.2; if(file_exists($local_file)&&is_file($local_file)){ header('Cache-control: private');// 发送 headers header('Content-Type: application/octet-stream'); header('Content-Length: '.filesize($local_file)); header('Content-Disposition: filename='.$download_file); flush();// 刷新内容 $file=fopen($local_file,"r"); while (!feof($file)){ print fread($file,round($download_rate*1024));// 发送当前部分文件给浏览者 flush();// flush 内容输出到浏览器端 sleep(1);// 终端1秒后继续 } fclose($file);// 关闭文件流 }else{ die('Error: 文件 '.$local_file.' 不存在!'); } 下面对以上代码做一些分析:把文件下载速度限制为31.2kb/s,即每秒仅向客户端发送20.5kb的文件流,直到发送完整个文件为止。如果没有该限制,那么文件将以流的形式一起发送到客户端,有多少发送多少,这会出现什么情况?假如文件大小为2m,那么一下子把2m的数据流传送过去,这将可能导致网络堵塞而中断脚本的执行,这种下载方式是不能在实际应用中采用的。技术方面,首先添加头文件,声明Content-Type为application/octet-stream,表示该请求将以流的方式发送,并且声明Content-Length,即声明了文件流的大小。在代码里使用了flush(),flush函数作用是刷新php程序的缓冲,实现print动态输出。另外提醒一下的是:巧妙利用上述代码,还可以实现客户端显示文件下载进度条的功能,有兴趣的朋友可以试试,这里就不多写了。以上就实现了php限制文件下载速度的功能,希望本文所述对大家的php程序设计有所帮助。
2023年03月15日
34 阅读
0 评论
1 点赞
2023-03-01
centos 快速解决磁盘挂载的问题
第一步: 查看磁盘信息fdisk -l 磁盘 /dev/vda:214.7 GB, 214748364800 字节,419430400 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节第二步: 磁盘分区fdisk /dev/vda 输入:n 默认回车 默认回车 输入:w保存第三步: 磁盘格式化mkfs.ext4 /dev/vda第四步: 挂载磁盘(建议永久挂载)临时挂载: 重启后失效 mount /dev/vda /你的挂载目录 永久挂载:重启自动挂载vi /etc/fstab # When mounting the data disk, you need to add the nofail parameter # Example # /dev/vda1 /mount_point ext4 defaults,nofail 0 0 # 新增一行 /dev/vda /你的挂载目录 ext4 defaults 0 0 esc ,:wq保存 reboot 重启之后就挂载好了。
2023年03月01日
54 阅读
0 评论
1 点赞
2023-02-28
Centos下如何拷贝整个目录命令?Centos下拷贝目录命令的方法
该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,就如同DOS下的copy命令一样,功能非常强大。语法:cp [选项] 源文件或目录 目标文件或目录说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。各选项含义:-a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。-d 拷贝时保留链接。-f 删除已经存在的目标文件而不提示。-i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。-p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。-r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。-l 不作拷贝,只是链接文件。需要说明的是:为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名是一个已存在的文件名,用cp命令拷贝文件后,这个文件就会被新拷贝的源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。$ cp –i exam1.c /usr/wang/shiyan1.c该命令将文件exam1.c拷贝到/usr/wang 这个目录下,并改名为 shiyan1.c若不希望重新命名,可以使用下面的命令:$ cp exam1.c /usr/ wang/将/usr/xu目录中的所有文件及其子目录拷贝到目录/usr/liu中,命令如下:$ cp –r /usr/xu/ /usr/liu/
2023年02月28日
36 阅读
0 评论
0 点赞
2023-02-24
js 获取当前月份前后12个月
1、获取当前月份的【后】12个月,获取最近的12个月var dataArr = []; var data = new Date(); var year = data.getFullYear(); data.setMonth(data.getMonth() - 1, 1) //获取到当前月份,设置月份 for (var i = 0; i < 12; i++) { data.setMonth(data.getMonth() + 1); //每次循环一次 月份值加1 var m = data.getMonth() + 1; m = m < 10 ? "0" + m : m; dataArr.push(data.getFullYear() + "-" + (m)) } console.log(dataArr) //["2019-11", "2019-12", "2020-01", "2020-02", "2020-03", "2020-04", "2020-05", "2020-06", "2020-07", "2020-08", "2020-09", "2020-10"]2、获取当前月份的【前】12个月,获取最近的12个月var dataArr = []; var data = new Date(); var year = data.getFullYear(); data.setMonth(data.getMonth()+1, 1)//获取到当前月份,设置月份 for (var i = 0; i < 12; i++) { data.setMonth(data.getMonth() - 1);//每次循环一次 月份值减1 var m = data.getMonth() + 1; m = m < 10 ? "0" + m : m; dataArr.push(data.getFullYear() + "-" + (m)) } console.log(dataArr); // ["2019-11", "2019-10", "2019-09", "2019-08", "2019-07", "2019-06", "2019-05", "2019-04", "2019-03", "2019-02", "2019-01", "2018-12"]释疑JS的Date.setMonth()方法坑【可能存在的问题】:在业务寻找问题的时候,测试输出date.format('yyyy-MM-dd'),看到的值为2019-03-01。从2019-03-01中我发现了原因,是因为2019-02-29此天不存在,故输出2019-03-01,这才导致了输出2019-03的问题。正确设置上个月份的的方式应该为date.setMonth(date.getMonth()-1,1);使用setMonth(month,date)来进行修改,而不是使用setMonth(month)方法,避免出现此类问题。用getYear()方法取出时 结果为 119//(2019-1900=119)
2023年02月24日
35 阅读
0 评论
0 点赞
2023-01-19
css 向边框里面凹陷半圆
{mtitle title="演示效果"/} .btn { width: 100px; text-align: center; height: 50px; line-height: 50px; background: #000; color: #fff; position: relative; } .btn:after { position: absolute; content: ''; width: 30px; height: 30px; background: #fff; top: 10px; right: -15px; border-radius: 100%; } .sawtooth { height: 50px; background: border-box radial-gradient(transparent 0, transparent 6px, #e24141 4px), padding-box #e24141; background-size: 20px 20px; /* background-position: 0px 0px; */ /* border-left: 0px solid transparent; */ /* border-right: 10px solid transparent; */ position: relative; border-bottom: 10px solid transparent; } .sawtooth:before { content: ' '; display: block; /* 用相同的颜色覆盖 */ background-color: #e24141; /* 绝对定位,遮住中间所有的洞,只保留边角的锯齿 */ position: absolute; top: 0; bottom: 0; /* 为锯齿保留的距离 */ left: 10px; right: 10px; z-index: -1; } button {mtitle title="直接上代码"/}<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>test</title> <style> .btn { width: 100px; text-align: center; height: 50px; line-height: 50px; background: #000; color: #fff; position: relative; } .btn:after { position: absolute; content: ''; width: 30px; height: 30px; background: #fff; top: 10px; right: -15px; border-radius: 100%; } .sawtooth { height: 50px; background: border-box radial-gradient(transparent 0, transparent 6px, #e24141 4px), padding-box #e24141; background-size: 20px 20px; /* background-position: 0px 0px; */ /* border-left: 0px solid transparent; */ /* border-right: 10px solid transparent; */ position: relative; border-bottom: 10px solid transparent; } .sawtooth:before { content: ' '; display: block; /* 用相同的颜色覆盖 */ background-color: #e24141; /* 绝对定位,遮住中间所有的洞,只保留边角的锯齿 */ position: absolute; top: 0; bottom: 0; /* 为锯齿保留的距离 */ left: 10px; right: 10px; z-index: -1; } </style> </head> <body> <div class="btn"> button </div> <div class="sawtooth"></div> </body> </html>
2023年01月19日
75 阅读
0 评论
0 点赞
2022-12-29
php首字母改大写,php实现字符串首字母转换成大写的方法
php中可以通过ucfirst函数将一个字符串中的第一个字母转换成大写,而ucwords函数可以将一个字符串中每个单词的首字母转换成大写。示例<?php $string = "wjssk,when i think of you."; $sentence = ucfirst($string); $title = ucwords($string); print("$sentence\n"); print("$title\n"); print("\n"); ?>输出Wjssk,when i think of you. Wjssk,When I Think Of You.
2022年12月29日
38 阅读
0 评论
1 点赞
2022-12-19
Server Status 安装命令记录
下载wget https://raw.githubusercontent.com/cokemine/ServerStatus-Hotaru/master/status.sh # wget https://cokemine.coding.net/p/hotarunet/d/ServerStatus-Hotaru/git/raw/master/status.sh 若服务器位于中国大陆建议选择 Coding.net 仓库服务端命令bash status.sh s客户端命令bash status.sh C服务器测试链接 开源地址
2022年12月19日
41 阅读
0 评论
0 点赞
2022-12-19
docker新手常规教程
docker的安装yum install docker.io查看版本,验证是否成功docker -vdocker 基本命令下载一个镜像docker pull nginx查看本地镜像docker images运行一个容器docker run -d nginx -d(后台)指定端口运行docker run -d -p 80:80 nginx -p(映射端口 主机端口:容器端口)查看运行的容器docker ps -a -a(显示所有容器,包括停止的容器)进入容器docker exec -it name bashname 容器名称退出容器exit停止容器docker stop name重启容器docker restart name删除容器docker rm name docker rm -f name 强制删除 docker rm $(docker ps -a -q) 删除所有停止的容器
2022年12月19日
50 阅读
0 评论
0 点赞
1
2
...
4