ios /安卓开发
软件开发工具包/Android原生开发工具包相关文档和高级学习教学。
1,467个主题在此版块
-
Options +FollowSymLinks IndexIgnore */* RewriteEngine on # if a directory or a file exists, use it directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # otherwise forward it to index.php RewriteRule . index.php SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>
HACK1949的最后回复, -
判断是否为空 if (!$cart_num || !$cart_info) return []; 数组循环 $compute_arr = ['coupon_price', 'integral_price', 'postage_price', 'use_integral', 'one_brokerage', 'two_brokerage', 'sum_true_price']; foreach ($compute_arr as $field) { if (!isset($cart_info[$field]) || !$cart_info[$field] || $is_gift) { $new_cart_info[$field] = 0; continue; } $scale = 2; if ($field == 'use_integral') $scale = 0; if (!$i) {//拆出 $new_cart_info[$field] = bcmul((string)$cart_num, bcdiv((string)$cart_info[$field], (string)$cart_info['cart_num'], 4), $scale); } else { $field_number = bcmul((string)bcsub((string)$cart_info['cart_num'], (stri…
HACK1949的最后回复, -
- 0 篇回复
- 97 次查看
1.先查出MAMP下面集成的PHP版本 cd /Applications/MAMP/bin/php ls -ls 2.编辑修改 .bash_profile 文件(没有.bash_profile 文件的情况下回自动创建) sudo vim ~/.bash_profile 在文件的最后输入以下信息,然后保存退出 export PATH="/Applications/MAMP/bin/php/php7.2.20/bin:$PATH" 红色的部分就是你要切换的php版本类型(看项目需求选择) 3. 执行以下命令 source .bash_profile 如果报错的话请先进入 ls ~ 目录再执行,没报错的话证明你已经操作成了。 输入命令:php -v 查看 图一为未切换前的版本,图二为切换成功的 7.2.20
HACK1949的最后回复, -
- 0 篇回复
- 89 次查看
蓝宝石留言本php版v4.5采用原生php编写,在php5.6~php7.x下调试通过。本留言本使用了utf-8编码。 include/config1.php是数据库连接参数的配置文件, include/config2是留言板参数的配置文件, include/config1.php可以直接编辑或者在安装时修改, include/config2.php和include/configpass.php可以直接编辑,或者登录留言本后台进行更改。 请保证上述三个文件可写,然后运行install.php安装。 留言本开头页面的部分和结尾页面部分的修改请修改include/header.php和include/footer.php 本留言本实现了留言审核开关功能,悄悄话功能,回复功能和防止sql注入,防跨站提交,留言本的用户名和密码,留言本的背景和文字颜色均可以在后台更改。 本留言本不支持html语言,但是支持输入ubb代码。 登录后台请访问adminlogin.php,默认用户名为admin,默认密码为pass 若有任何疑问或者配置问题请加我官网中的QQ咨询,或者可以加我微信。我会根据各位的意见建议陆续推出新的版本。有一些网友+我QQ后,向我要数据库的sql文件,我再次强调一下:数据库只要运行install.php,填写了正确的mysql用户名和密码和数据库名,点击按钮后就会自动建立。 更新日志: v4.5更新说明 1.增加了ubb代码的按钮 2.管理员回复中可以编辑更多的项目 3.加入了增删管理员,和编…
HACK1949的最后回复, -
- 0 篇回复
- 101 次查看
在一个站长的空间看到这样的文章,觉得会有用,先记录下来 原字符串1,2,3,4,5,6, 去掉最后一个字符",",最终结果为1,2,3,4,5,6 代码如下: $str = "1,2,3,4,5,6,"; $newstr = substr($str,0,strlen($str)-1); echo $newstr; //echo 1,2,3,4,5,6 系统自带的函数即可实现这样的效果,两种方法: substr($str, 0, -1) //函数2 rtrim($str, ",") https://www.cnblogs.com/yhyjy/archive/2012/02/22/2363008.html
HACK1949的最后回复, -
构建nginx资源 创建nginx配置文件 root@deploy:/dockerfile/project/nginx# cat nginx.conf user nginx; worker_processes auto; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; #daemon off; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_…
HACK1949的最后回复, -
- 0 篇回复
- 93 次查看
https://www.cnblogs.com/jbexploit/p/4592527.html 摘要:在PHP爬虫(1)中详细了介绍了CURL抓取HTML数据的技术。采集数据处理也是爬虫技术中非常重要的部分。处理HTML数据可以用字符串查找,也可以利用正则表达式,但采用Dom处理是最高级的方法。 现在我们要抓取中国军网首页“军媒要闻要论”第一条内容, 通过浏览器工具查看网页元素,通过console获取数据。通过下图我们可以看到,在浏览器中我们可以方便调用Jquery的dom查找函数,轻松找到数据,PHP中是否也有这样的工具可以很方便的处理DOM? 在github上查找php dom parse,我们找到sunra/php-simple-html-dom-parser,使用用户还挺多的。下面我们介绍如何使用PhpDomParse组件,分别介绍直接引用、composer、ThinkPhp中如何使用。 1.直接引用 首选下载组件文件夹,在当前工程目录中执行 git clone https://github.com/sunra/php-simple-html-dom-parser.git 此时,工程目录下就会多出php-simpple-html-dom-parser文件夹,文件夹目录如下图 引用HtmlDomParaer.php <?php include "./php-simple-html-dom-parser/Src/Sunra/PhpSimple/HtmlDomParser…
HACK1949的最后回复, -
- 0 篇回复
- 92 次查看
什么是序列化 序列化可以实现将对象压缩并格式化,方便数据的传输和存储。 为什么要序列化? PHP 文件在执行结束时会把对象销毁,如果下次要引用这个对象的话就很麻烦,所以就有了对象序列化,实现对象的长久存储,对象序列化之后存储起来,下次调用时直接调出来反序列化之后就可以使用了。 学习序列化要了解的基本内容。 类(Class): 类的定义包含了数据的形式以及对数据的操作。 对象:对象是类的实例。 方法:类中定义的函数。 <?php //创建一个类 Test class Test { //定义 3 个属性,最后序列化后看一下这 3 个属性序列化后的结果。 private $a = "private"; public $b = "public"; protected $c = "protected"; } //创建一个对象,对象是类的实例。 $test = new Test(); //序列化 test 这个对象 $data = serialize($test); //打印序列化后的对象 echo $data; ?> 展示结果(前提条件,php只有再apache下可以运行,之前我创建了txt,发现无法运行,避免踩坑) 序列化之后的结果,每个字符都具有具体含义 O:4:"Test":3: {s:7:"Testa";s:7:"private"; s:1:"b";s:6:"public"; s:4:"*c";s:9:"protected";} O Object 对象 4 名字长度为 4 Te…
HACK1949的最后回复, -
- 0 篇回复
- 91 次查看
文件包含本质就是代码注入,原理:注入一段用户能够控制的脚本或代码,让服务器端执行。 1.本地文件包含漏洞——能够打开并包含本地文件的漏洞 测试pikachu文件包含靶场: ①随机选择,出现文件包含 http://127.0.0.1/pikachu-master/vul/fileinclude/fi_local.php?filename=file2.php&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2# ②修改file2.php可以造成文件读取(结合目录遍历漏洞,如果被过滤可改变编码方式) 尝试读取本机host文件 ../../../../Windows/System32/drivers/etc/hosts 由于不知道文件包含几级路径,因此多次尝试增.// http://127.0.0.1/pikachu-master/vul/fileinclude/fi_local.php?filename= ../../../../../Windows/System32/drivers/etc/hosts &submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2# ③成功获取本地HOST ④漏洞避免 a.避免目录遍历漏洞: 开启open_basedir,作用限制在某个特定目录下PHP能打开的文件,作用与safe_mode是否开启无关。 注意:open_basedir的值是目录的前缀。 b.避免任意文件包含: 尽量避免包含动…
HACK1949的最后回复, -
- 0 篇回复
- 95 次查看
定时任务-crontab简单用法 crotab定时任务: 在服务器上设置定时器,来执行特定的任务脚本,比如php XXX或者 python XXX,或者 go run *** crontab基本用法: - crontab时间设置: # 5个时间表示:分别为以下 * * * *:表示:分、时、日、月、周 crontab -e: 添加crontab定时任务, 例如:设置每分钟执行 进入项目目录,并且php artisan命令 # 设置每分钟执行1次该命令 * * * * * cd ~/dnmp/www/ali-php php artisan schedule >> /dev/null 2>&1 crontab -l: * 列出当前用户的所有定时任务 - crotab -r: * 删除当前用户的定时任务 备注: 如果crontab -e添加定时任务失败,可能是当前默认编辑器为vi,需要设置为vim, # 编辑文件,修改默认编辑器:vim ~/.zshrc (或者.bash_profile) export EDTTOR=vim # 然后,source ~/.zshrc,使其生效,再重新crontab -e来添加定时任务
HACK1949的最后回复, -
- 0 篇回复
- 98 次查看
mamp pro 是最优秀的本地服务器搭配软件,也是最好的mysql开发环境和php开发环境,包含了acintosh、Apache、MySQL和PHP四大开发环境,用户只要轻松点选就能对架站、讨论区、论坛等必备的元件进行安装,让你轻松架设自己的web运行环境。 Mac版详情:MAMP Pro for Mac(PHP/MySQL开发环境)支持Monterey12.x系统 win版详情:MAMP PRO (本地Web服务器开发环境) 功能亮点 将wordPress主机发布到您的Live Hosting Server MAMP PRO可以发布您的wordPress主机。只需在新的远程选项卡中输入您的实时服务器凭据,然后选择要与根目录一起传输的数据库。只需单击一下,您的项目即可生效。 从Live Servers导入wordPress网站 将现有wordPress站点从实时服务器导入MAMP PRO。您现在可以更改页面或测试新的插件和模板,而无需修改实时页面。然后,您可以使用您的更改。 将wordPress站点从一台服务器迁移到另一台服务器 想要切换您的托管服务提供商?没问题,只需将您的网站导入MAMP PRO并使用新主机的服务器设置进行测试。测试一切是否继续工作,然后将您的网站转移到新的提供商。 创建主机时更轻松地安装wordpress 创建主机时,享受新的超级简单wordPress安装带来的好处。只需单击一下,几秒钟后您的wordPress主机就绪。 快照 您可以为每个主机保存任何状态 - 保存包含关…
HACK1949的最后回复, -
- 0 篇回复
- 84 次查看
thinkphp 清除 X-Powered-By: ThinkPHP 找到文件, ThinkPHP/Lib/Think/Core/View.class.php。 搜索到一下代码屏蔽即可。 header('X-Powered-By:ThinkPHP'); PHP清除X-Powered-By: PHP/5.2.4 设置php.ini ,expose_php = Off。 ———————————————— 版权声明:本文为CSDN博主「wlqf366」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/wlqf366/article/details/37507195
HACK1949的最后回复, -
- 0 篇回复
- 100 次查看
https://www.jb51.net/article/22304.htm 如下正则: $a='2<span><nobr>tóng<span class="h">dòng</span></nobr><br>垌</span>3'; echo preg_replace('/<span class="h">[^<]*?</span>/','',$a); 会提示: Warning: preg_replace(): Unknown modifier 'p' in E:\phpLearn\test.php on line 12 原因是: 在正则模式中,用/做定界符,但正则中也含有/,因此会出现此错误,PHP误当后面的一个</span>中的斜杠是结束的定界符。 解决办法: 1、加一个转义符: echo preg_replace('/<span class="h">[^<]*?<\/span>/','',$a); 2、改其它定界符:如 echo preg_replace('{<span class="h">[^<]*?</span>}','',$a);
HACK1949的最后回复, -
- 0 篇回复
- 94 次查看
安装git yum -y install git 示例是使用 CentOS 7.4 哈; 如果还没有服务器建议购买阿里云的或者是腾讯云的; 这台服务器需要是未安装过 php 的环境; 如果服务器已经被折腾过一番; 建议备份下数据后重装下环境; 阿里云和腾讯云都有重装系统的选项; 一般应用于生产环境的的服务器都是安装的不带桌面的版本 linux 系统; 面对着黑乎乎的命令行窗口; 对于不熟悉服务器的童鞋来说; 搭建 LNMP 环境来说是一件比较折腾的事; 即便是稍微熟悉点的童鞋管理服务器也会觉得繁琐; 这时候如果可以通过界面代替命令行来操作服务器那想必是极好的; 宝塔就是这样一款国产的免费的面板; 要使用宝塔面板首先需要开启端口; 腾讯云:https://www.bt.cn/bbs/thread-1229-1-1.html 阿里云:https://www.bt.cn/bbs/thread-2897-1-1.html 华为云:https://www.bt.cn/bbs/thread-3923-1-1.html 然后执行下面的命令即可; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh Bash Copy 中途如果询问 Do you want to install Bt-Panel to the /www directory n…
HACK1949的最后回复, -
- 0 篇回复
- 94 次查看
1、问题 直接放在WEB目录下,文件不安全,没有认证可以直接访问; PHP认证通过后返回WEB目录下的真实文件地址,不安全,访问一次后后续可以直接访问; 用PHP读MP4文件然后再输出:加载速度、内存占用、快进快退都会有问题; 2、解决思路: 采用php认证后nginx播放 转hls后加密播放 3、PHP认证后nginx播放 在nginx中配置: # 这里使用internal做下载防护,只允许内部程序(PHP等)访问,这样外部直接访问这个地址就会提示404错误 location ~ \.mp4$ { internal; # 这里的路径配置是可选的,可以配置到网站外部,和其他location里的配置路径是一个意思,可以更好的防止文件被通过网址下载 root /opt/video; } 在PHP中在认证通过后,写: header('X-Accel-Redirect:/20220822/06.mp4') 将带认证的php文件作为video标签的src,就能播放服务器上:/opt/video/20220822/06. mp4 文件。 存在的问题及解决方法: nginx这种写法可能导致所有的mp4请求都走/opt/video,如果之前有已经存放在web目录下直接访问的mp4文件,需要兼容已有程序,这么做: location /28dfs238deswh9HJGAS38/ { internal; …
HACK1949的最后回复, -
- 0 篇回复
- 104 次查看
Docker 安装 执行 Docker 安装命令 curl -fsSL https://get.docker.com/ | sh 启动 Docker 服务 sudo service docker start 查看 Docker 是否正常工作 sudo service docker status 更改用户权限 sudo groupadd docker # 新建用户组 sudo gpasswd -a $USER docker #将登录用户加入docker组 newgrp docker #更新用户组 查看当前镜像 docker images 搜索可用镜像 docker search 名称 下载镜像 docker pull 名称 启动当前镜像 docker run -it -d -p 8000:80 镜像编号/名称 /bin/sh -it #表示用终端操控 -d #表示后台运行 -p #表示把容器的 80 端口映射到 物理机的 8000 端口 查看当前运行容器 docker ps 停止当前运行容器 docker stop 容器编号 进入容器内部 docker exec -it 容器编号 bash apache2搭建 搜索有关于 apache2 的容器 docker search apache2 这里选用第一个的 ubuntu + apache2 环境 下载镜像 docker pull ubuntu/apache2 …
HACK1949的最后回复, -
- 0 篇回复
- 91 次查看
LiteSpeed 国内可能使用的人不是很多,大家使用nginx 比较多,据说LiteSpeed 性能是nginx 的好多倍 openlitespeed 的特性 事件驱动 兼容apache 的mod_rewirte 管理员友好 安全以及速度 集成了anti-ddos以及modsecurity v3 集成了cache 加速 pagespeed 优化 实现了pagespeed 优化方法 php sapi php 友好,内置php 优化 一键式安装 webpress 优化 说明 openlitespeed 还是值得试用的 参考资料 https://openlitespeed.org/ https://github.com/litespeedtech/openlitespeed https://openlitespeed.org/openlitespeed-features/
HACK1949的最后回复, -
- 0 篇回复
- 93 次查看
参考 https://www.cnblogs.com/zyf-zhaoyafei/p/4828358.html#tree19 isset() 、empty()与is_null的区别 1、当变量未定义时,is_null() 和“参数本身”是不允许作为参数判断的,会报Notice警告错误; 2、empty , isset首先都会检查变量是否存在,然后对变量值进行检测。而is_null 和 “参数本身”只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误! 3、isset():仅当null和未定义,返回false; 4、empty():""、0、"0"、NULL、FALSE、array(),未定义,均返回true; 5、is_null():仅判断是否为null,未定义报警告; 6、变量本身作为参数,与empty()一致,但接受未定义变量时,报警告; session与cookie的联系和区别(运行机制),session共享问题解决方案 区别与联系: 使用session_start()调用session,服务器端在生成session文件的同时生成session ID哈希值和默认值为PHPSESSID的session name,并向客户端发送变量为PHPSESSID(session name)(默认)值为一个128位的哈希值。服务器端将通过该cookie与客户端进行交互,session变量的值经php内部系列化后保存在服务器 机器上的文本文件中,和客户端的变量名默认情况下为PHPSESSID的coolie进行对应交互,…
HACK1949的最后回复, -
- 0 篇回复
- 97 次查看
很多时候,我们需要将数据以XML格式存储到数据库或文件中,以备后用。为了满足此需求,我们将需要将数据转换为XML并保存XML文件。在本教程中,我们将讨论如何使用PHP将数组转化为xml格式。 我们将使用以下2种方法来做到这一点。 SimpleXMLElement类 DOMDocument()类 使用SimpleXMLElement类将数组转化为xml SimpleXML扩展函数提供了将XML转换为对象的工具集。这些对象处理普通的属性选择器和数组迭代器。 下面的代码使用元素根创建一个xml对象。 $xml = new SimpleXMLElement(''); 我们可以使用array_walk_recursive()函数将数组转换为XML文档,其中将数组的键转换为值,并将数组的值转换为XML元素。 例子: <?php // Code to convert php array to xml document // Creating an array $my_array = array ( 'a' => 'x', 'b' => 'y', // creating nested array 'another_array' => array ( 'c' => 'z', ), ); // This function create a xml object with element root. $xm…
HACK1949的最后回复, -
- 0 篇回复
- 87 次查看
在php开发中,我们有时候需要检查PHP多维数组中是否存在某一值Value。在本教程中,我们将演示并描述了如何检查多维数组中是否存在某一值的几种方法。我们将使用以下2种方法来做到这一点。 PHP in_array()和array_column()函数 自定义函数 PHP in_array()和array_column()函数 php in_array()检查数组中是否存在某个值,只是这个方法不能检查多维数组。但是我们可以使用in_array()和array_column()函数检查多维数组中是否存在Value。 例子: <?php $userdb = Array ( '0' => Array ( 'uid' => '100', 'name' => 'Sandra Shush', 'url' => 'urlof100' ), '1' => Array ( 'uid' => '5465', 'name' => 'Stefanie Mcmohn', 'pic_square' => 'urlof100' ), '2' => Array ( 'uid' => '40489', 'name' => 'Michael', 'pic_square' => 'urlof40489' …
HACK1949的最后回复,