Category: PHP是最好的语言
如果网站中文章URL数目比较多几千几万的. 这时候站点地图 Sitemaps 就对搜索引擎很有帮助了. 平时你可以通过登陆 Google Webmaster 或者 Bing Master 之类的站点工具手动提交站点地图 (告诉搜索引擎网站有更新) 但是如果网站很多 站点地图很多的话 一个一个手动提交也是很累的. 以下通过 PHP 自动提交站点地图 并且可以很容易的通过 crontab 来设置成每天自动提交, 省去烦恼. 首先需要把站点地图的URL记在数组里: // 站点地图 URL, 记得替换成你自己的 $sitemaps = …
Tumblr 上的很多图片都很不错 特别是一些精选的图片. 可以通过 Tumblr API 来进行爪取. 也可以直接网页抓. PHP有一个库叫 PHPQuery, 也就是把 JQuery 的方式引起到PHP里, 让PHP也支持通过 CSS 选择器的方式对页面元素进行搜索. require('phpQuery.php'); require('app.php'); $ip = get_ip_address(); function grab($url, $lvl = 5) { global $ip; …
WordPress 很多垃圾评论都是由程序直接调用访问 wp_comments.php 造成的. 所以我们可以在 functions.php 文件里加入以下代码 新增一个过滤 简单的检查是否是直接调用. function check_referrer_comment() { if (!isset($_SERVER) || $_SERVER == '') { wp_die(__('请不要直接访问这个文件.')); } } add_action('check_comment_flood', 'check_referrer_comment'); 如果 HTTP_REFERER 值没有被设置或者为空 则不会继续到下一步添加评论. 当然 …
上一帖子中, 我们介绍了如何在文章的最后显示 历史的今天. 今天 我们要介绍如何 用缩略图的方式显示一些随机文章 用于增加页面浏览量. 这个有点类似 GOOGLE的显示匹配功能. 你需要定义这样的一个函数 用于获得文章中的第一个图片. 这个函数是用于 如果文章中没有定义缩略图使用的. function catch_first_image($post_id) { ob_start(); ob_end_clean(); $related_post = get_post($post_id); $content = $related_post->post_content; $output = preg_match_all('//i', $content, $matches); …
一般来说, 可以通过 显示相关文章来 增加页面浏览量 Page Views. 另一种方法就是显示 历史上的今天. 把下面PHP代码复制一份到 函数模板 functions.php 的最后. 推荐在子主题里修改这样每次主题更新你就不需要重新再复制了. function today_in_histroy(){ $today = getdate(); $args = array( 'date_query' => array( array( 'year' => $today, 'compare' …
如果你有一系列的SQL语句要执行 你可以把它存成 文本文件 e.g. *.SQL 然后登陆 mysql 控制端 执行 source 把这些命令执行了. 如果没有相应的权限 而可以写一小段PHP代码 并在URL里执行. 把数据库的帐号写在一个PHP脚本里 // conn.php define('DB_HOST', 'helloacm.com'); define('DB_USER', 'DB_USER'; define('DB_PASSWORD', 'DB_PASSWORD'); define('DB_NAME', 'DB_NAME'); 然后另一PHP就声明了一个 ExecSqlFile 函数 把给定的文件读进来每一行执行SQL语句 …
现在很多大型网站(像FB,TWITTER)都 提供 API接口.一般返回格式是JSON. 一般会限制每IP地址访问的频率 比如每小时 600次调用等等. 如果你想提供一个API 但是计算又挺耗时的不想用户频繁的调用,可以通过记录上次调用时间来限制,比如: $data = "Data Returned from API"; header('Content-Type: application/json'); die(json_encode($data)); 然后我们就可以在 session 中记录时间来判断 session_start(); if (isset($_SESSION)) { $last = strtotime($_SESSION); $curr = …