我正在使用PHPExcel,我正在尝试使用Excel内置的"会计"格式来格式化单元格.我知道格式代码:
PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE
Run Code Online (Sandbox Code Playgroud)
但这只是格式化为两位小数,并在数字前加一个$.我正在寻找的结果是右边对齐的单元格和左边的$.$ 0值应列为" - ",负值应为$(1.11)
据我所知,文档中没有其他货币格式(虽然我可能错过了,但这个文档很可怕).我在找错了地方吗?这可以通过常规单元格格式实现,还是Excel为会计做一些独特的事情?
我试过这个但是很难说出来.
基本上,我们的网站将为大多数用户运行良好,没有任何问题.但有时候,我们这些整天使用该网站的人会突然陷入困境.一切都在旋转到位.该网站本身仍然很好 - 其他人仍然可以使用它,但个别用户卡住了.事实上,即使您明确清除了Cookie,完全重新启动浏览器通常也无法解决问题.
但是,您通常可以通过切换到其他浏览器来打开网站.如果你在Firefox中陷入困境,你通常可以打开它并继续在IE中正常工作.这可能发生在两个方面(你可以陷入IE,并切换到Firefox的工作).
这有什么意义吗?这就像会话中的某些内容,但我不知道会导致这种情况,会话应该通过重新启动浏览器并清除cookie等来重置.
有任何想法吗?
[编辑澄清,对不起,本来应该包括这个]服务器是RedHat上的一个非常基本的LAMP堆栈,包含Apache 2.2.3,PHP 5.2.11,MySQL 5.0.45(我们考虑升级MySQL但我不知道我认为这是问题所在.)这是Rackspace的标准配置,所以我认为除了Zend Optimizer之外,我们不会做任何异国情调.
我们使用了很多javascript/jquery,但它们都是非常标准的东西,我不希望内存泄漏不会影响其他浏览器,尽管我可能错了.
此外,我们的服务器的CPU和内存使用率从未打破25%的利润率,即使是峰值,并且峰值似乎与这种现象无关.
我在这里不知所措.我在楼上有一组特定的用户,他们的会话似乎完全随机到期.这不仅仅是当他们离开网站一段时间,它可以在他们浏览时过期.对我和我们的大多数用户来说一切正常.这不是一个浏览器问题,我们有FF的人和所有IE版本都正常运行,FF和IE中的人不起作用.
我gc_maxlifetime在43200,并且垃圾收集是一个疯狂的低1/1000(不是那应该重要).服务器上是否有其他东西可以随机删除我们的某些会话?我该怎么检查?这仍然无法解释为什么只有这一特定群体似乎受到影响.
我有一些与默认设置不同的会话设置:
session.gc_maxlifetime = 43200
session.gc_divisor = 1000
session.save_path = /var/lib/php/session
session.use_only_cookies = Off
session.bug_compat_42 = Off
Run Code Online (Sandbox Code Playgroud)
前三个我不担心,但最后两个可能导致这种行为吗?我实际上并没有通过URL发送cookie,所以我没有充分的理由关闭use_only_cookies.我不能保证在我到达这里之前制作这个应用程序的不合适的人没有利用这个bug_compat_42东西来设置会话变量,但是再次,我希望这个问题不那么随机.
编辑:
在进一步调查中,我发现Session根本没有被销毁,但最终用户正在获得一个新的会话ID.旧会话在服务器上仍然完好无损,但在浏览时会随机启动新会话.
我最近在我的.htaccess文件中添加了这么一点代码:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L,QSA]
Run Code Online (Sandbox Code Playgroud)
好的,我想,我明白这里发生了什么.如果找不到文档,删除PHP文件扩展名的这一小段代码会导致循环.这个循环导致500服务器错误而不是(正确的)404.不幸的是我很少理解这些重写实际上在做什么,所以我不知道如何重写它只是在文档存在时才触发这个重定向.
我做了一些阅读,我不确定Apache认为是什么"常规"文件.我的意思是它有效,但为什么第一行不能-f代替!-f呢?是-u完成这个的唯一方法吗?
我是OOP的新手,我有一个基本上非常基本的问题,但是我很难以简洁的方式解释它,所以很难找到答案.
我有一个支持信用卡处理的应用程序,我想抽象处理功能,所以我可以添加其他提供程序(linkpoint,authorize.net等).我想我想要做的是创建一个看起来像这样的简单类:
class credit {
function __construct($provider){
// load the credit payment class of $provider
}
}
Run Code Online (Sandbox Code Playgroud)
然后我会让提供者各自扩展这个类,例如
class linkpoint extends credit { }
Run Code Online (Sandbox Code Playgroud)
但我真的想把信用类更像是一个界面.我不想要信用对象,我想做一些像:
$credit = new credit('linkpoint');
Run Code Online (Sandbox Code Playgroud)
然后我希望$ credit成为linkpoint类的一个实例.或者至少,我希望所有方法都执行linkpoint类中定义的代码.
接近这个的最佳方法是什么?或者有更好的方法吗?
我正在尝试构建一个快速概述,显示即将到来的日历周.我希望它水平排列,如果我们显示完整的日历周,它可以变得相当宽.
我现在已经设置了一个具有固定宽度的内部div(以便浮动的"day"div不返回到下面)和一个设置为width的外部div:100%.我想让外部div水平滚动,如果页面调整大小,以便内部div不再适合它,而是外部div固定在内部div的宽度更大,页面本身滚动.
Gah我不擅长解释这些事情......这里有一些代码可以清除它......
CSS:
.cal_scroller {
padding: 0;
overflow: auto;
width: 100%;
}
.cal_container {
width: 935px;
}
.day {
border: 1px solid #999;
width: 175px;
height: 200px;
margin: 10px;
float: left;
}
Run Code Online (Sandbox Code Playgroud)
和(简化)结构:
<div class="cal_scroller">
<div class="cal_container">
<div class="day">Monday</div>
<div class="day">Tuesday</div>
<div class="day">Wednesday</div>
<div class="day">Thursday</div>
<div class="day">Friday</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
所以再试一次 - 我希望cal_scrollerdiv始终是页面宽度,但如果浏览器调整大小以cal_container使其不再适合我想要它在容器中滚动.如果我在cal_scroller上设置一个固定的宽度,我可以使它全部工作,但这显然不是我想要的行为.如果我不需要,我宁愿不使用任何javascript作弊来调整div的宽度.
这是一个棘手的问题.
我的数据如下:
User ID Name Skill Sets 1 Jim Install, Configure 2 Jack Install 3 John Configure, Setup, Blah 4 Bill Setup, Install
这不是我的设计,也不是改变数据格式化方式的选项.麻烦的是我需要按照独特的技能组合.显然现在的一个小组给了我:
Skill Set Count Install, Configure 1 Install 1 Configure, Setup, Blah 1 Setup, Install 1
期望的输出是:
Skill Set Count Install 3 Configure 2 Setup 2 Blah 1
有任何想法吗?我可以想象一个将技能集分成标准化形式的视图(应该是这样).但我对这方面的语法也不是肯定的.
我正在尝试配置HybridAuth,我还处于早期阶段.现在我要做的就是连接并确保HA将重定向到facebook并提示安装应用程序,然后在用户返回时对用户进行身份验证.
我手动调用以下内容:http: //mydomain.com/auth.php?provider = Facebook
auth.php看起来像这样:
session_start();
require_once($_SERVER['DOCUMENT_ROOT'] . "/func/db_connect.php");
require_once($_SERVER['DOCUMENT_ROOT'] . "/api/auth/Hybrid/Auth.php"); // HybridAuth Module
$hybridauth_config = include($_SERVER['DOCUMENT_ROOT'] . '/api/auth/config.php');
if ($_GET['provider'] == '' || !in_array($_GET['provider'], array_keys($hybridauth_config['providers']))) {
echo 'Invalid Provider';
} else {
try {
$hybridauth = new Hybrid_Auth($hybridauth_config);
// try to authenticate with this provider
$adapter = $hybridauth->authenticate($_GET['provider']);
// grab user profile
if ($hybridauth->isConnectedWith($f_provider)) {
// yep, we're connected. Add this provider's info to the user_auth table
echo 'connection successful';
}
} catch (Exception $e) …Run Code Online (Sandbox Code Playgroud)