第一步,以下代码扔到functions.php
function get_qr($url,$path,$qrpic){ set_time_limit (10); //设置十秒超时 $destination_folder = $path?$path.'/':''; $localname = $destination_folder .$qrpic; $file = fopen ($url, "rb"); //fopen函数的r+模式: 读写方式打开 文件指针指向文件头 if ($file) { $newf = fopen ($localname, "wb"); // w+,读写方式打开 文件指针指向文件头 如果文件不存在则尝试创建之 if ($newf) while(!feof($file)) { fwrite( $newf, fread($file, 1024 * 2 ), 1024 * 2 ); //写入文件,fread控制文件最大的大小,这里是2M } } if ($file) { fclose($file); //关闭fopen打开的文件 } if ($newf) { fclose($newf); } }
第二步,在网站根目录建立一个叫qrcode的新文件夹,确保有写入权限,
第三步,以下代码放到需要输出二维码图片的地方,如single.php
<?php $localqr = ABSPATH .'qrcode/'.get_the_id().'.jpg'; if (!file_exists($localqr)) {//如果图片已经存在,则不会再次保存 get_qr( "http://chart.googleapis.com/chart?cht=qr&chs=100x100&choe=UTF-8&chld=L|4&chl=".get_permalink() ,"qrcode", get_the_id().".jpg");//图片名以文章id命名 } ?> <img src="<?php echo home_url( '' ); ?>/qrcode/<?php the_id()?>.jpg" width="100" height="100" alt="QR 码"/> <!--默认二维码图片大小是100*100,如果要改,需要改4个地方,已经用蓝色标注-->
教程已经结束了,下面是写这段代码过程中我的一些感想,
- 关于PHP的
fopen
函数fopen不能直接获取https打头的url
- 关于wordpress的
the_permalink
和get_permalink
函数前者是display直接输出结果,后者是return返回值,在自定义函数中使用此类变量需要使用后者
例如the_id和get_the_id用法也是如此
fopen-qr is coded by http://xiaohudie.net. Any posts here is one hundred percent original, so please keep my link so as not to hurt this pretty girl. -
测试444
@xsinger 送你俩一个表情: fue
@小蝴蝶 这表情我不敢当,wp年度最佳劳模非你莫属!
测试555
新主题还真需要去适应,有点返璞归真的味道。觉得子评论觉得还是缩进看着更习惯些,要不有点喧宾夺主的感觉。
@张书杨 子评论也是评论嘛 这样更有’讨论’的味道了
这个不错,呵呵。。。对那些下载站等非常有用。
这主题主要是耐看,哈哈。。不错哈。
又换皮~~还是个白白的皮~~
@小T 其实我跟你发叔不一样 我一般不换皮… 这算很久以来第一次
@小蝴蝶 好吧~又给我撞到个第一次~~
看了你还是很有潜力的。。。。
暂时用不上 = = 因为懒得搞这个。。