分类目录归档:PHP

php 获取网络图片文件真实格式

什么用网络url结尾判断是不靠谱的,有的图片没有结尾 比如http://baidu.com/img/222222 准确:exif_imagetype 准确:getimagesize 伪造的图片也不行 不准确:pathinfo 准确:get_headers 此函数下载之前读取图片流传送的头信息。 $url = "https://cdn.shopify.com/s/files/1/0070/7032/files/7-group-boards.png?v=1524583934";     //header("Content-type: image/png"); //$url = "http://img3.cache.netease.com/www/logo/logo_png.png"; //$url = ‘http://app.qlogo.cn/mbloghead/41c62e6cdde14055f484/50′; $r = Http::request($url, $params, $method, $multi);     $main = __dir__;     $dir = $main."/".$imgdir .strftime ("%Y%m" ,time()); … 继续阅读

发表在 PHP | 标签为 , | 留下评论

wordpress 不用ftp更新系统和插件

在wp-config.php中添加以下代码 define("FS_METHOD","direct");   define("FS_CHMOD_DIR", 0777);   define("FS_CHMOD_FILE", 0777); 保存文件,并刷新wordpress后台。 根据提示内容,凭经验判断应该是没有写入文件的权限,因为更新wordpress和安装插件都需要给安装目录下写入新的文件。所以修改wordpress安装目录的权限(请根据需要设置权限,因为我时本地开发使用,所以就给777): chmod -R 777 wordpress 777权限危险,大家慎用。不过安装前期可以采用,安装完毕,可以改回去

发表在 PHP | 标签为 | 留下评论

深入了解Session,定时控制

当程序启动session_start()之后,就会生成一个sessionID,保存在$_COOKIE变量中(此时,该sessionID并没有保存到客户端,他仅仅存在于会话之中)。同时服务器端默认会在/tmp目录下建立一个session文件,文件名是用前缀“sess_”再加上当前的sessionID组合而成的,我暂且把他叫做sess文件吧。 cookie机制: 当使用cookie机制的时候,在sess文件中没有保存任何数据。而cookie中的数据,实际上是通过setcookie()的方法保存在客户端的。 并且,该方法只将指定的数据保存到了客户端,而sessionID并没有被保存到客户端。这个时候sessionID依然存在于会话之中。 当重新打开浏览器之后,我们发现当前的sessionID实际上已经不是之前的sessionID了, 但是cookie中的数据并不受影响,我们仍然可以通过$_COOKIE变量来获取cookie的值。 php中的session有效期默认是1440秒(24分钟),也就是说,客户端超过24分钟没有刷新,当前session就会失效。当然如果用户关闭了浏览器,会话也就结束了,Session自然也不存在了! 最近的后台开发,遇到这个情况,浏览器不定期的退出Session,让人头疼,服务器改成24小时以后过期根本无效。 我们见到的一些代码片段,经过严格测试根本达不到1小时 1. ini_set("session.cookie_lifetime","3600"); // 秒       if(isset($_SESSION[’expiretime’])) {          if($_SESSION[’expiretime’] < time()) {              unset($_SESSION[’expiretime’]);              header(’Location: logout.php?TIMEOUT’); // 登出              exit(0);          } else {              $_SESSION[’expiretime’] = time() + 3600; // 刷新时间戳          }      }   1、session.use_cookies:默认的值是“1”,代表SessionID使用Cookie来传递,反之就是使用Query_String来传递; 2、session.name:这个就是SessionID储存的变量名称,可能是Cookie,也可能是Query_String来传递,默认值是“PHPSESSID”; 3、session.cookie_lifetime:这个代表SessionID在客户端Cookie储存的时间,默认是0,代表浏览器一关闭SessionID就作废……就是因为这个所以Session不能永久使用! 4、session.gc_maxlifetime:这个是Session数据在服务器端储存的时间,如果超过这个时间,那么Session数据就自动删除! 在PHP的文档中明确指出,设定session有效期的参数是session.gc_maxlifetime。可以在php.ini文件中,或者通过ini_set()函数来修改这一参数。问题在于,经过多次测试,修改这个 参数基本不起作用,session有效期仍然保持24分钟的默认值。 分析下原因 默认配置,session.gc_probability = 1,session.gc_divisor … 继续阅读

发表在 JAVA, PHP | 标签为 | 留下评论

wordpress忘记密码

懂点sql的人直接抛去修改 update wp_users set user_pass=md5("123456") where user_login=’admin’; 不懂sql但是会phpmyadmin的手工去修改 user_pass 字段 5d41402abc4b2a76b9719d911017c592 密码为hello

发表在 PHP | 标签为 , | 留下评论

php 安装imagick图形处理库

一种快速成功的办法 yum install ImageMagick yum install ImageMagick-devel yum install php-pear [for PECL] /opt/lampp/bin/pecl install imagick Build process completed successfully Installing ‘/opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/imagick.so’ Installing ‘/opt/lampp/include/php/ext/imagick/php_imagick_shared.h’ install ok: channel://pecl.php.net/imagick-3.4.3 configuration option “php_ini” is not set to php.ini location You should add “extension=imagick.so” to … 继续阅读

发表在 PHP | 标签为 , , | 留下评论

wordpress cookie给第三方程序使用

wordpress 的内部用户变量 <?php global $current_user; get_currentuserinfo(); echo ‘用户名: ‘ . $current_user->user_login . "\n"; echo ‘用户邮箱: ‘ . $current_user->user_email . "\n"; echo ‘名字: ‘ . $current_user->user_firstname . "\n"; echo ‘姓氏: ‘ . $current_user->user_lastname . "\n"; echo ‘公开显示名: ‘ . $current_user->display_name . … 继续阅读

发表在 PHP | 留下评论

piwik 插件开发入门教程

能阅读英文的小伙伴可以直接去官方读读,不过piwik官方文档的确很多,想理清楚需要一点功夫 https://developer.piwik.org/guides/getting-started-part-1 创建一个插件 ./console generate:plugin –name="MyPlugin" There are no commands defined in the “generate” namespace. 开启开发模式 ./console development:enable Development mode enabled ./console generate:plugin –name="MyPlugin" 自定义一个报告 ./console generate:report 输入要在哪个插件下 输入MyPlugin Enter the name of your plugin: MyPlugin Enter the name of … 继续阅读

发表在 PHP | 标签为 | 留下评论

php 断点续传视频音频

配合html5的video 标签,实现php加载视频 可以拖动进度条 这样就可以在php里进行权限判断等操作了。 $v = file_get_contents("3.mp4"); echo $v; 这样也能播放,但是不能拖动进度条 <?php   // 文件名 $filename = "pai.mp4";   // 文件路径 $location = ‘mv2/’ . $filename;   // 后缀 $extension = substr ( strrchr ( $filename, ‘.’ ), 1 );   … 继续阅读

发表在 PHP | 标签为 , | 留下评论

Centos下为lampp的piwik安装GeoIP地理库

Centos LAMPP 配置GEOIP yum install mod_geoip /usr/share/GeoIP/ // GeoIP 是国家数据,GeoLiteCity 是城市数据,GeoIPASNum 是组织数据 pwiki官方展示配置文件地址为 https://piwik.org/faq/how-to/#faq_163 /etc/apache2/mods-enabled/geoip.conf` 安装了lampp的服务器实际配置文件地址为 /etc/httpd/conf.d/geoip.conf cp /usr/share/GeoIP/GeoLiteCity.dat /www/stat/misc/ 这样就安装了GeoIP(php) 了。 不过系统提示我 本地理位置服务商最容易安装,不需要在服务器上设置 (适合虚拟主机!)。它使用 GeoIP 数据库和 MaxMind 的 PHP API 来准确定位访客的地理位置。 如果您的网站流量很大,这个服务速度会很慢。如果这样,您最好安装 PECL 扩展 或者 服务器模块。 接着鼓捣PECL安装方式 yum -y … 继续阅读

发表在 PHP | 标签为 , | 留下评论

php时间国际化和本地转换

假如一个网站面临国际人群,那么可能分布在不同的时区,那么最好存入UTC时间在数据库,然后读出来以后,根据人群的位置,进行计算时间(月小升认为输出的还是UTC时间,但是要进行后处理,根据读者的时区用JS 来重新输出时间,就可以实现国际化了) <?php echo ‘<meta charset="UTF-8">’;   date_default_timezone_set("UTC"); $time1 = date("Y-m-d H:i:s"); $times1 = strtotime($time1);   echo time()."<br />";   echo "UTC时间:".$time1." – ".$times1."<br>";   date_default_timezone_set("PRC"); $time1 = date("Y-m-d H:i:s"); $times1 = strtotime($time1); echo "北京时间:".$time1." – ".$times1."<br>"; echo "当前时区:".date_default_timezone_get()."<br>";   … 继续阅读

发表在 PHP | 标签为 , , | 2 条评论