Magento文件夹文件权限设置与缓存清理的PHP脚本

Magento权限设置与缓存清理的PHP脚本

有很多linux下的命令来修改Magento文件夹问价的权限设置,这里给大家推荐个PHP实现的权限设置,直接扔到根目录运行即可。

 

<?php

## 设置文件644,目录755
function AllDirChmod( $dir = “./”, $dirModes = 0755, $fileModes = 0644 ){
$d = new RecursiveDirectoryIterator( $dir );
foreach( new RecursiveIteratorIterator( $d, 1 ) as $path ){
if( $path->isDir() ) chmod( $path, $dirModes );
else if( is_file( $path ) ) chmod( $path, $fileModes );
}
}

## 清除指定目录
function cleandir($dir) {
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if ($file != ‘.’ && $file != ‘..’ && is_file($dir.’/’.$file)) {
if (unlink($dir.’/’.$file)) { }
else { echo $dir . ‘/’ . $file . ‘ (file) NOT deleted!<br />’; }
}
else if ($file != ‘.’ && $file != ‘..’ && is_dir($dir.’/’.$file)) {
cleandir($dir.’/’.$file);
if (rmdir($dir.’/’.$file)) { }
else { echo $dir . ‘/’ . $file . ‘ (directory) NOT deleted!<br />’; }
}
}
closedir($handle);
}
}

## 判断目录是否为空
function isDirEmpty($dir){
return (($files = @scandir($dir)) && count($files) <= 2);
}

echo “———————– CLEANUP START ————————-<br/>”;
$start = (float) array_sum(explode(‘ ‘,microtime()));
echo “<br/>*************** SETTING PERMISSIONS ***************<br/>”;
echo “Setting all folder permissions to 755<br/>”;
echo “Setting all file permissions to 644<br/>”;
AllDirChmod( “.” );
echo “Setting pear permissions to 550<br/>”;
chmod(“pear”, 550);

echo “<br/>****************** CLEARING CACHE ******************<br/>”;

if (file_exists(“var/cache”)) {
echo “Clearing var/cache<br/>”;
cleandir(“var/cache”);
}

if (file_exists(“var/session”)) {
echo “Clearing var/session<br/>”;
cleandir(“var/session”);
}

if (file_exists(“var/minifycache”)) {
echo “Clearing var/minifycache<br/>”;
cleandir(“var/minifycache”);
}

if (file_exists(“downloader/pearlib/cache”)) {
echo “Clearing downloader/pearlib/cache<br/>”;
cleandir(“downloader/pearlib/cache”);
}

if (file_exists(“downloader/pearlib/download”)) {
echo “Clearing downloader/pearlib/download<br/>”;
cleandir(“downloader/pearlib/download”);
}

if (file_exists(“downloader/pearlib/pear.ini”)) {
echo “Removing downloader/pearlib/pear.ini<br/>”;
unlink (“downloader/pearlib/pear.ini”);
}

echo “<br/>************** CHECKING FOR EXTENSIONS ***********<br/>”;
If (!isDirEmpty(“app/code/local/”)) {
echo “-= WARNING =- Overrides or extensions exist in the app/code/local folder<br/>”;
}
If (!isDirEmpty(“app/code/community/”)) {
echo “-= WARNING =- Overrides or extensions exist in the app/code/community folder<br/>”;
}
$end = (float) array_sum(explode(‘ ‘,microtime()));
echo “<br/>——————- CLEANUP COMPLETED in:”. sprintf(“%.4f”, ($end-$start)).” seconds ——————<br/>”;
?>

 

来自:

作者: Sjolzy

Magento Paypal支付错误

Unable to process payment. Please contact the merchant as the shipping address provided by the merchant is invalid, and the merchant has requested that your order must be shipped to that address.

无法处理付款。请联系商家送货地址为商家提供的是无效的,而商家已要求您的订单,必须运到该地址。

需要把下面这个参数改成0就可以了
如果你使用的是Web Payment Standard的话你找到app/code/core/Mage/Paypal/Model/api/Standard.php,里面有’address_override’ => 1,这一行改成’address_override’  => 0,就可以了

如果你使用ExpressCheckout的话app/code/core/Mage/Paypal/Model/Api/Npv.php,里面有 ‘ADDROVERRIDE’      => 1这一行也改成’ADDROVERRIDE’     => 0,就可以了

 

经典励志签名:跌下去是耻辱,站起来是尊严

经典励志签名:跌下去是耻辱,站起来是尊严

1. 人为什么会犯下同样的错误?原因或许只有一个:前一次不够痛。

2. 不要失去希望,你永远不知道明天会带来什么。

3. 不要让自己被三件事所控制:过去,别人和金钱。

4. 依靠权势立业的人,永远站不直腰杆。弯腰是讨好上级,伸腰是吓唬平民。倘若一天死了,其腰还是弯的,因为上下摆动的拖累,再无力支撑

5. 尽管人们的社会经历不同,走过的道路不同,然而人们的过失却往往很相近。因此,聪明的人总是接受前人的教训,而愚蠢的人恰恰相反

6. 志不强者智不达。

7. 在事实面前,我们的想象力越发达,后果就越不堪设想。

8. 一生中错过多少次,就像昨夜下了一场雨,而我却在睡梦中。

9. 一寸光阴一寸金,寸金难买寸光阴。

10. 业精于勤,荒于嬉。

11. 显耀地位的人,往往是地位不高,虚荣心作怪;显耀财富的人,往往口袋空空,是在自欺欺人

12. 身健如山,心静似水,淡泊名利。这是人生的最高境界,谁能活得如此境界,谁的一生就活得自在

13. 大山就有高度和坡度,是江河就有宽度和深度;是人就存在不足和错误

14. 我们贫穷,我们无钱,不应该感到高兴;富裕多赚钱才是初衷

15. 嚣张、冷酷、狂躁、冷漠,不是善良人用的字眼;坚强、充实、自由、奋斗进取与悲观的人无缘

16. 任何业绩的质变都来自于量变的积累。

17. 用阳光乐观的心态去面对生活和工作,它们一样也会回报给你阳光。

18. 精彩,全看你自己如何运笔

19. 人生最可贵的品格是本分自然地生活,踏踏实实地做事儿,兢兢业业地工作,诚诚实实地交友,心底坦荡地为人;

20. 事业上得寸进尺,生活中不论短长,何愁事业无成

21. 无知识的人,其生命如同无叶子的树,缺少勃勃生机

22. 只有经历人生的种种磨难,才能悟出人生的价值

23. 遨游辽阔的中华大地,我陶醉过;仰望无尽的苍穹,我迷恋过;如果把大地比作物质,把苍穹比做精神,我认为苍穹比大地更迷人

24. 帮助别人不希望得到回报的人,心里不感到失落

25. 人之所以能,是相信能。

26. 青,取之于蓝而青于蓝;冰,水为之而寒于水。

27. 每一发奋努力的背后,必有加倍的赏赐。

28. 当你感到悲哀痛苦时,最好是去学些什么东西。学习会使你永远立于不败之地。

29. 成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成。

30. 天行健,君子以自强不息。

31. 在漫长的人生道路上,无论是狂风暴雨或是激流险滩,最要紧的是人生的欲火不能熄灭

32. 人的肉体可以随着时间的推移而衰老,而赋予人的生命的思想却可以青春永驻,与日月同存

33. 热爱生活的人都爱美,爱美的人都热爱生活;

34. 学会尊重他人,就是尊重自己;学会欣赏他人,就是欣赏自己;学会呵护他人,才是呵护自己;学会爱他人,就是爱自己;

35. 生前的赞扬往往虚假,死后的议论常常真实

36. 攀比名利只会增加人的烦恼,攀比事业的人定能增强人的意志和信心

37. 低头走路的人只看到大地的厚重,却忽略了高空的高远;抬头走路的人,只看到高空的广阔,却忽略了脚下的艰辛与险峻

38. 少壮不努力,老大徒悲伤。

39. 烦恼和快乐是人生的两颗种子,在心田播下那颗种子,那颗就会发芽长大

40. 踩着别人肩膀显示自己高度的人,迟早会变成不折不扣的矮人

41. 人生寂寞是一种力量。人经得起寂寞,就能获得自由;耐不住寂寞,就会受人牵制

42. 没有崇高信仰的人就如同一潭死水,永远荡不起壮阔的波澜

43. 生活中并不是全是艰辛和困难,它同时存在舒适与欢乐;就象我们经历的季节,严冬过后是春天,风雪过后艳阳天

44. 高尚的目标用卑鄙的手段来实现,同样不是高尚的行为

45. 人生就象一个球,无论如何滚来滚去,总有在一个点上停止的时候

46. 人生,不求活得完美,但求活得实在

47. 人生活在世界上,都是在自觉不自觉的写书。写得好写得坏,写得厚写得薄,写得平庸写得

48. 事业和工作的乐趣,不在于取得的成功和业绩,更多的乐趣在于跌跌闯闯的过程中

49. 做人首先要相信别人,相信别人的善良,恶人恶事毕竟是少数儿。我们总不能因为几只乱飞的苍蝇,就要毁灭整个世界

50. 人活得虚伪容易,活得真实难。活得虚伪累,活得真实轻松

51. 人,记事不能记仇,记事可以增长知识;记仇可以增加烦恼

52. 人少言寡语不一定大智大勇,谈笑风生不一定是不严肃

53. 迷人的美人,不一定心底空虚;傻大姐不一定不聪明

54. 青年恋爱不一定一帆风顺,酸甜苦辣才有真情

55. 老年人不见得经验就丰富,年轻人不见得说话没有水平

56. 单身汉不见得就是不幸,金钱不见得带来不幸

57.患难使人聪明,但不能致富。

58.复杂中带着简单的思考,是人和动物的分别。

59.所有口述手写的辞句中,最悲哀的就是“本来可以……”

60.贪得无厌的人到头来总是会落得一场空。

61.最困难的职业就是怎样为人。

62.正直是做人之本,诚信是创业之基,公正是处事之首,礼让是待人之要。

63.跌下去是耻辱,站起来是尊严。

64.一个一味沉溺于往事的人,是不能张开双臂去拥抱今天的。

65.人生就象一个球,无论如何滚来滚去,总有在一个点上停止的时候。

66.人生,不求活得完美,但求活得实在。

67.伪装的善良比真实的凶残更可怕。

68.踩着别人肩膀显示自己高度的人,迟早会变成不折不扣的矮人

69.生活中并不是全是艰辛和困难,它同时存在舒适与欢乐,就象我们经历的季节,严冬过后是春天,风雪过后艳阳天。

70.生前的赞扬往往虚假,死后的议论常常真实。

71.低头走路只看到大地的厚重却忽略了高空的高远;抬头走路,只看到高空的广阔,却忽略了脚下的艰辛与险峻。

72.高尚的目标用卑鄙的手段来实现,同样不是高尚的行为。

73.显耀地位的人,往往是地位不高,虚荣心作怪;显耀财富的人,往往口袋空空,是在自欺欺人。

74.是大山就有高度和坡度,是江河就有宽度和深度,是人就存在不足和错误。

75.人少言寡语不一定大智大勇,谈笑风生不一定是不严肃。

76.越是巨大的冒险,越是需要巨大的谨慎。

77.能够完全成功的巨大欺骗,只有在朋友之间才能发生。

78.如果你曾经把失败当成清醒剂,就千万别让成功变成迷魂汤。

79.蝎子虽小,但须防其伤人,过失虽小,但须防其毁人。

80.失败——对强者是逗号,对弱者则是句号。

81.断了线的风筝,虽然无拘无束,但一定会很快栽下地来。

82.金鱼悠然自得地在精致的玻璃里游来游去它永远享受不到战胜风浪的快乐。

三个方法让你成为更好的程序员

浏览网页的时候看到了成为更好程序猿的三方法,觉得似乎有点道理

三个方法让你成为更好的程序员

 

1. 做出个东西

找个东西/项目,直接开始做。

想进入编程这一行业的人开始时总是试图先学会一门语言。这种方法是 低效的。找一个项目或一个小功能软件去做,针对性的学习那些需要完成这个任务必须具备的知识技能。这种学法让你有了一个学习的环境和目标,逼迫你去具有创 造力。有些最有价值的知识会来自解决那些之前没有人解决过的独特问题。这个过程是辛苦的,但要的就是你的坚持。

2. 传教

传教,这能激发你去深入研究某项知识技能,会让你发现自己在某些知识上其实很烂。

因为我想学习AngularJS,于是我就是做了一个Twitter游戏教程。传教能够让你帮助他人,同时满足你求知欲,并提升你的价值。

3. 结伴

结伴编程是最快的学习别人分享的知识的方法。你吸取他们的知识,工作方式,以及问题解决策略,无需费力用自己的亲身体验去获取它们。

通过和其他程序员一起编程,我的技能有了快速的提高,但你不能就此而止。通过做一些个人项目,你能扩展那些分享到的知识,并能给你的团队带来新鲜的思想。

[英文原文:3 Ways to Become a Better Developer ]

PHP验证身份证号码

分享一个PHP验证身份证号码的代码,这段代码可以验证15位或18位的省份证,利用加权因子的算法,可以实现识别真假身份证,希望对大家有所帮助

<?php

$IDCard = new IDCard();
var_dump($IDCard::isCard($_GET[‘card’]));

/**
* 身份证处理类
*/
class IDCard {

//检证身份证是否正确
public static function isCard($card) {
$card = self::to18Card($card);
if (strlen($card) != 18) {
return false;
}

$cardBase = substr($card, 0, 17);

return (self::getVerifyNum($cardBase) == strtoupper(substr($card, 17, 1)));
}

//格式化15位身份证号码为18位
public static function to18Card($card) {
$card = trim($card);

if (strlen($card) == 18) {
return $card;
}

if (strlen($card) != 15) {
return false;
}

// 如果身份证顺序码是996 997 998 999,这些是为百岁以上老人的特殊编码
if (array_search(substr($card, 12, 3), array(‘996’, ‘997’, ‘998’, ‘999’)) !== false) {
$card = substr($card, 0, 6) . ’18’ . substr($card, 6, 9);
} else {
$card = substr($card, 0, 6) . ’19’ . substr($card, 6, 9);
}
$card = $card . self::getVerifyNum($card);
return $card;
}

// 计算身份证校验码,根据国家标准gb 11643-1999
private static function getVerifyNum($cardBase) {
if (strlen($cardBase) != 17) {
return false;
}
// 加权因子
$factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);

// 校验码对应值
$verify_number_list = array(‘1’, ‘0’, ‘X’, ‘9’, ‘8’, ‘7’, ‘6’, ‘5’, ‘4’, ‘3’, ‘2’);

$checksum = 0;
for ($i = 0; $i < strlen($cardBase); $i++) {
$checksum += substr($cardBase, $i, 1) * $factor[$i];
}

$mod = $checksum % 11;
$verify_number = $verify_number_list[$mod];

return $verify_number;
}
}

?>