利用php的curl库上传文件真的很方便
注意几点
1、只能是POST
2、可以不写头(平时的form有文件和无文件时发送的时候,)
3、postfields的时候,不要你傻傻的http_build_query,你越是这么做了。黑黑。。。就反而不一定对了
4、上传的文件用@来连接。
一个很小的例子
PHP代码
- $formAction = 'http://xxx/xxx/xx.upload.php';
- $postVals = array(
-
-
- 'img'=>'@/var/www/xxx.jpg',
-
- );
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $formAction);
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, ($postVals));
- $res = curl_exec($ch);
- curl_close($ch);
看看多简单,一下子就成功了
今天中午突然有人自称是车管所工作人员(手机号码:15900789421),说是国家政策有变。可以购车退税了。。。然后说出我的购车车型,车价,以及我的车牌号。。(刚上牌2天)。
然后和我说,你可以联系国税局工作人员,它的手机是18817242664。
我一听很纳闷,怎么会这么巧?当然心里也是有点小激动的,哇退税啊。我可以补回来好几千了。。那我退多少呢?我得查查相关政策,结果一查,靠,网上全是退税骗局。(其实在他说国税局工作人员的号码是手机号的时候,我就在纠结了,怎么会是手机呢?为什么不是固定电话 ?)
于是我就电话 18817242664 ,果然他的流程与网上说的一模一样,(等会我会贴出全部流程,COPY来的),因为懒得去ATM机那边玩他们所以就说我可以通过网上银行。他们就说不行,这不可以。反正折腾了半天,于是我问他,你们单位在哪里,我可以去你们单位办理吗?他说只能网上处理,窗口不受理。我问,那你们在什么地方,他说是南京鼓楼区,我说,你不是靖江的吗?怎么是南京的了?他说,这个业务只是省国税局才能办,我说哦。那你为什么是手机呢?他说这是3G座机。咦,好象是有这个说法。
我再问,那你的号码为什么是上海的呢?他解释说,3G号码可以随便选地方的,就和IP地址一样的。我说哦,那我把你电话记下来了。他说好的,你这个人怎么这么麻烦 ,要是每个人都象你这样,我们国税局怎么工作?然后就挂机了。。。
-------------
新闻:去年购买的汽车可退税?骗局!http://www.hezeshi.com/news/200812/501/
近日,市民王小姐接到了“省车管所工作人员”的通知:她去年4月购买的汽车有数千元退税。购买了大半年的汽车居然能够退税?“省车管所工作人员”会用手机打来电话通知?王小姐带着疑问致电本报。
给王小姐打电话的手机号码是13055922923,电话中一位带着闽南口音的“浙江省车管所通知中心工作人员”说,王小姐去年4月购买的 1.8排量汽车有3%的退税,具体退税金额和退税方法可咨询“国家退税中心”,“国家退税中心”电话是010-51666586,“车辆退税编号”是 008177。
记者打进“国家退税中心”电话,对方核对了车主姓名、退税编号后,准确地报出了王小姐的购车时间、车型,并称:“你的车可退税4285元。退款 已经以车主名义存入国库银行临时账号332862900236,密码为916918。你可通过财政部国库语音查询系统4006269747进行转账。”
为什么去年购买的汽车也可退税?对方表示,这是“国家税务”让利消费者。1.6升及以下的汽车退税幅度为5%,其他排量的汽车退税幅度较小,仅为3%。王小姐是电脑选号“选出”的第一批车主。
记者随后拨通了“财政部语音查询系统”,对方先让车主查询账面金额,再提示车主选择相应的银行,输入账号和密码“转账”。至此,骗局终于走到了关键一步。
有王小姐经历的车主还真不少,就在当天,记者身边就有3位朋友接到这样的电话,来电手机号是福建厦门、广东惠州等地的。
记者致电12366税收服务热线。工作人员表示,购车退税的情况是有的,但非常有限:一是因质量原因,车辆被退回生产企业或经销商;二是应当办 理车辆登记注册的车辆,公安机关车辆管理机构不予办理车辆登记注册。若真的有退税新政策出台,税务部门会在媒体公告,符合条件的纳税人在指定时间到税务局 办理,而非通过电话逐个通知。
------------------
新闻链接
电话短信诈骗招招都可识破
近期,短信、电话诈骗现象有上升之势,公安部门提醒市民,对以下几种诈骗方式要提高警惕:
一、接到陌生电话,对方自称是你好友,曾有一定交往,并让你猜其身份。请不要跟他捉迷藏,直接问他是谁,简单核对就清楚了。
二、对方在电话中打着上级领导身边工作人员的旗号要求你帮忙处理领导个人事务。此时你要多长个心眼,特别是不要急于付钱,待核实他身份后再帮忙也不迟。
三、如果你接到“我是××省公证处的公证员××,恭喜你的手机或电话号码在××抽奖中中了×等奖,奖品是小轿车一辆……”接到这样的短信,请先回想一下,想想自己是否参加过将电话号码投入摇奖机等什么活动,如果没有请不要回复。
四、“您好,您的朋友为您点播了一首××歌曲,以此表达他的思念和祝福,请您拨打×××收听。”当你拨打电话收听时,话费余额就会直线下降。
五、如果你接到未知电话或响过一两下就挂断了,请不要随便回复,部分号码有的是加值付费电话,接到这类电话或陌生来电,一定要小心核对再行回复。
六、“您好,这里是中国移动(或联通)客户服务热线,由于我们工作失误,您的电话费这几个月共多收×××元,如确认退费请按……”接到类似电话后只要认真查看来电号码,就可识破骗局。
七、以××银行名义提醒:你在某地(一般在本市大型商场、超市或娱乐场所)刷卡消费,金额将于近期从你账户中扣除。如果你收到类似手机短信,再按短信里的电话询问,就可能栽进不法之徒的圈套。
八、“本公司与电信制卡部门联合推出移动、联通手机卡充值,100元面值的现以××元低价促销,诚招各地代理经销商。”如果收到这种信息,请不要被低价诱惑,最好向移动与联通客户服务中心咨询是否属实。
-----------
更多网上的信息:退税中心
这是一个单文件处理缩略图的程序,直接引用生成缩略图。有点意思,主要是方便啦 .。
官方地址是:http://www.binarymoon.co.uk/projects/timthumb/
文件也很小,只有一点点大,更关键的是可以缓存回来。也能取远程的图片,也可以设置allow的安全站点,这样就相对安全一点了,官方这么介绍 :
TimThumb is a simple, flexible, PHP script that resizes images. You give it a bunch of parameters, and it spits out a thumbnail image that you can display on your site.
TimThumb has seen a massive amount of use across the WordPress world, and a few months after we released it, I took over development from Tim, a friend of Darren Hoyts, who created the original script. Since I took over there have been a whole host of changes, bug fixes, and additions.
I set up this page to act as an archive/ resource, showing the best documentation and demos available for TimThumb. If you have any TimThumb related articles then please feel free to send them over to me so that I can add them to the list.
功能也相对比较方便,用法也很简单,官方现成就举了一些例子,并通过这些例子介绍了它的参数:
How to use TimThumb
看了上面的使用方法,再看看,这个,你就知道很多常见的方法和用法了:
stands for |
values |
What it does |
src |
source |
url to image |
Tells TimThumb which image to resize › tutorial |
w |
width |
the width to resize to |
Remove the width to scale proportionally (will then need the height) › tutorial |
h |
height |
the height to resize to |
Remove the height to scale proportionally (will then need the width) › tutorial |
q |
quality |
0 - 100 |
Compression quality. The higher the number the nicer the image will look. I wouldn't recommend going any higher than about 95 else the image will get too large › tutorial |
a |
alignment |
c, t, l, r, b, tl, tr, bl, br |
Crop alignment. c = center, t = top, b = bottom, r = right, l = left. The positions can be joined to create diagonal positions › tutorial |
zc |
zoom / crop |
0, 1, 2, 3 |
Change the cropping and scaling settings › tutorial |
f |
filters |
too many to mention |
Let's you apply image filters to change the resized picture. For instance you can change brightness/ contrast or even blur the image › tutorial |
s |
sharpen |
|
Apply a sharpen filter to the image, makes scaled down images look a little crisper › tutorial |
cc |
canvas colour |
hexadecimal colour value (#ffffff) |
Change background colour. Most used when changing the zoom and crop settings, which in turn can add borders to the image. |
ct |
canvas transparency |
true (1) |
Use transparency and ignore background colour |
参数很简单,就是不太好记。。。纠结啊
不过用起来的话,是真心简单
这几个函数还是来自于QeePHP的核心类Q中。不过,我是自认为,我的configure类有部分写的比他好,不过我没有考虑删除之类的。呵呵。
PHP代码
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- static function ini($option, $default = null)
- {
- if ($option == '/') return self::$_ini;
-
- if (strpos($option, '/') === false)
- {
- return array_key_exists($option, self::$_ini)
- ? self::$_ini[$option]
- : $default;
- }
-
- $parts = explode('/', $option);
- $pos =& self::$_ini;
- foreach ($parts as $part)
- {
- if (!isset($pos[$part])) return $default;
- $pos =& $pos[$part];
- }
- return $pos;
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- static function changeIni($option, $data = null)
- {
- if (is_array($option))
- {
- foreach ($option as $key => $value)
- {
- self::changeIni($key, $value);
- }
- return;
- }
-
- if (!is_array($data))
- {
- if (strpos($option, '/') === false)
- {
- self::$_ini[$option] = $data;
- return;
- }
-
- $parts = explode('/', $option);
- $max = count($parts) - 1;
- $pos =& self::$_ini;
- for ($i = 0; $i < = $max; $i ++)
- {
- $part = $parts[$i];
- if ($i < $max)
- {
- if (!isset($pos[$part]))
- {
- $pos[$part] = array();
- }
- $pos =& $pos[$part];
- }
- else
- {
- $pos[$part] = $data;
- }
- }
- }
- else
- {
- foreach ($data as $key => $value)
- {
- self::changeIni($option . '/' . $key, $value);
- }
- }
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- static function replaceIni($option, $data = null)
- {
- if (is_array($option))
- {
- self::$_ini = array_merge(self::$_ini, $option);
- }
- else
- {
- self::$_ini[$option] = $data;
- }
- }
-
-
-
-
-
-
-
-
- static function cleanIni($option)
- {
- if (strpos($option, '/') === false)
- {
- unset(self::$_ini[$option]);
- }
- else
- {
- $parts = explode('/', $option);
- $max = count($parts) - 1;
- $pos =& self::$_ini;
- for ($i = 0; $i < = $max; $i ++)
- {
- $part = $parts[$i];
- if ($i < $max)
- {
- if (!isset($pos[$part]))
- {
- $pos[$part] = array();
- }
- $pos =& $pos[$part];
- }
- else
- {
- unset($pos[$part]);
- }
- }
- }
- }
这两个函数来自于Helper_Array,我觉得是非常常用的方法,功能也比较强大。适合大家使用。
不过显而易见,这两个函数,都不需要多介绍,tree2list,list2tree,想想也知道怎么用,再加上注释又比较全。
可惜QeePHP不再开发,而ThinkPHP积下来的问题又很多,改动起来也非常痛苦。所以我开始慢慢分析一下。