分类目录归档:PHP

php session session_set_save_handler 机制

php自身带功能,将session的数据从之前的files 改变到其他任何地方。比如mysql redis等等,方便你分布式的集群应用。 看一下原理 <?php /** *Session open (called by session_start( )) *Session close (called at page end) *Session read (called after session_start( ) ) *Session write (called when session data is to be written) *Session destroy (called by session_destroy( … 继续阅读

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

ecshop自定义属性,形成自定义价格,修改购物车

需求 用户进行一连串的选择,以后产品的价格发生了变化,分支超级多,无法用自带的属性搞定了。 lib_order.php 35   while ($row = $GLOBALS[’db’]->fetchRow($res)) { if($row[’attr_itype’]==3) { $attr_price = round(floatval($row[’attr_price’]), 2); $attr .= sprintf($fmt, $row[’attr_name’], $row[’attr_value’], $desc[$i]);   $i++; }elseif($row[’attr_itype’]==4){ $attr_price = round($desc[$i]); //$descp[$i] 传过来大树的id,反推价格,目前直接用个费用来表示。输入多少钱,就是多少钱。这么处理似乎仅仅解决了展示问题。实际计算在其他地方 $attr .= sprintf($fmt2, $row[’attr_name’], $row[’attr_value’],$attr_price); } else { $attr_price = … 继续阅读

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

读取mysql一个库下面的所有的表table

<?php require ‘class/db.php’;   $sql = "select * from information_schema.tables where table_schema=’ecshop’ and table_type=’base table’ order by TABLE_ROWS desc ";   $arr = $db->queryArray($sql);   //var_dump($arr); foreach ($arr as $k => $v) { $tbname = $v->TABLE_NAME; $rows = $v->TABLE_ROWS; echo … 继续阅读

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

mac 自带的apache

mac 系统自带的Apache cd /etc/apache2 启用apache的命令: sudo apachectl start/restart vi httpd.conf 查找DocumentRoot DocumentRoot “/Library/WebServer/Documents” 根目录定位在这里 Mac Pro 自带的apache版本 Server:Apache/2.4.16 (Unix) Request Headers (10) Name 没有拖php 自己安装php

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

php-java-bridge php调用java的方法

此方法不需要重启apache,不需要修改php.ini文件 php-java-bridge 项目地址 http://php-java-bridge.sourceforge.net/pjb/download.php 下载 php-java-bridge.jar java.inc 双击php-java-bridge.jar 浏览器输入 http://localhost:8080/ 能看到下载目录的东西(因为我直接在我的下载目录双击了这个jar) 估计放在哪里双击,就会显示这个目录的所有文件。 网页底部显示这些信息 写一个php http://localhost/javaer/java.php 把下载的java.inc 放在javaer目录下 java.php 内容 <?php //define("JAVA_DEBUG", true); //调试设置 //define("JAVA_HOSTS", "127.0.0.1:8080"); //设置javabridge监听端口,如果开启javabridge.jar设置的端口不是8080,可通过此语句更改 require_once("Java.inc"); //php调用java的接口,路径问题需要注意 $here=realpath(dirname($_SERVER["SCRIPT_FILENAME"])); //java_set_library_path($here.PATH_SEPARATOR .’.'); //java_set_library_path($here.PATH_SEPARATOR .’.'); //设置java开发包(class或jar文件)路径,多个路径就用PATH_SEPARATOR分隔,保证跨平的支持。 //java_set_file_encoding("GBK"); //设置JAVA编码。没试过其它的编码,也没深入研究如何能用其它的编码。   echo ‘<meta charset="UTF-8">’; … 继续阅读

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

ecshop随意调用自定义属性

goods.php 找到 $properties = get_goods_properties($goods_id); // 获得商品的规格和属性 我的229行 增加以下代码 //自定义属性数据结构 if($properties[’pro’]){ $myprolist = $properties[’pro’][’Attribute’]; $mypro = array(); foreach ($myprolist as $key => $v) { $name = $v[’name’]; $mypro[$name] = $v[’value’]; } }   $smarty->assign(’mypro’, $mypro); // 商品属性 /* array(2) { … 继续阅读

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

centos yum 升级php到5.5

查看服务器php列表 yum list | grep php http://dl.fedoraproject.org/pub/epel/5/x86_64/ #rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-rpm-macros-5-7.noarch.rpm rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-rpm-macros-5-7.noarch.rpm 添加 epel 源 rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 添加 remi 源 # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm yum –enablerepo=remi,remi-php55 install php-fpm php-common php-devel php-mysqlnd php-mb rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm … 继续阅读

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

ecshop php5.5兼容utf-8版本

发生了这样的事情。 preg_replace Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /Users/ge/ge/web/php/ge/ecshop/includes/cls_template.php on line 1067 300 return preg_replace("/{([^\}\{\n]*)}/e", "\$this->sel ect(‘\\1′);", $source); 替换为 return preg_replace_callback("/{([^\}\{\n]*)}/", function($r) { return $this->sel ect($r[1]); }, $source); 问题解决。 今天安装ecshop的时候最上面出现了一个错误提示:Strict Standards: Only variables should be … 继续阅读

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

paypal集成沙盒测试账户设置

首先说明,paypal的沙盒测试,一切都和正式的一样,除了最终url不同。功能完全一致。如果不对,说明有地方没有设置正确。 系统自动生成paypal沙盒测试账户 ch*****-facilitator@163.com 测试的商家 ch*****-buyer@163.com 测试的买家 paypal沙盒测试地址 https://www.sandbox.paypal.com/ 你发现自己的账户无法登陆进去的。对的,要用沙盒测试账户 -facilitator的这个。 发现使用自己的密码,依然没有办法登录进去 https://developer.paypal.com/developer/accounts/ 点击账户前面的小三角 看到下图 点击去,修改密码 登录进去,就和真的账户是一样的。 沙盒测试提交付款地址 https://www.sandbox.paypal.com/cgi-bin/webscr 源代码地址 https://developer.paypal.com/docs/classic/paypal-payments-standard/ht_test-pps-buttons/ 要点,必须在paypal的后台设置notify_url 的地址。要远程服务器的,不要用本地,因为paypal 的服务器 要请求这个地址。 这个URL,具体怎么用请阅读上一篇paypal集成代码

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

palpay支付集成代码

HTML部分 <meta charset="utf-8"> <?php $HOST = "java-er.com"; ?> <form id=’form_starPay’ method=’post’ name=’form_starPay’ action=’https://www.sandbox.paypal.com/cgi-bin/webscr’>   <input type="hidden" name="cmd" value="_xclick"> // "_xclick" 立即购买 <input type="hidden" name="business" value="chrasge-facilitator@163.com"> //PayPal账户上的电子邮件地址 <input type="hidden" name="item_name" value="shoes"> //物品名称(或购物车名称) <input type="hidden" name="currency_code" value="USD"> //定义币种以标示货币变量 值可以为 "USD"、"EUR"、"GBP"、"CAD"、"JPY"。 <input type="hidden" … 继续阅读

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