对不起,如果这显然是明显的,但我已经用Google搜索了,我认真找不到任何PHP的方法来做到这一点.
不使用HTML或Javascript - 仅限纯PHP(来自CodeIgniter站点中的Controller文件) - 如何使用我指定的链接打开浏览器窗口?
可能吗?
谢谢!
插口
编辑:似乎有些人误解了我的意思,我为没有说清楚而道歉.我知道用PHP可以设置header("Location: http://site.com")为浏览器加载一个新窗口; 我想知道是否可以发送标题来说" Location在新窗口中打开".
编辑2:澄清我想要做的事情:用户可以向我的网站提交一些内容.在点击"提交"之前,他们可以选择(通过复选框)推文.如果选中该复选框,则在将所有内容插入数据库等之后,新的窗口/选项卡将加载URL http://twitter.com/home?status=Hello%20World或推文所说的内容.用户将选择这样做,所以我不是"做一些我不应该做的事".事后我明白,可能有更好的方法.
我有一位客户已经为他的投资组合网站制作了他每天花了365天拍摄一次照片的"视觉日记".他希望我把这些放在一起延时效果.我想过使用Flash但最终选择了JavaScript.
需要做的是:图像循环非常快,没有过渡或任何东西,只有图像 - 图像 - 图像等.大约30/fps或类似的东西.单击闪烁的图像时,它会停止在您选择的图像上,因此用户可以查看.再次单击时,幻灯片将再次开始播放.
我的问题是我是一个PHP/XHTML/CSS的家伙,他对JavaScript并不是最模糊的.我可以愉快地将它集成到任何页面中,但它只是编写令我烦恼的JavaScript.
在他的主页上,我有这个代码用于显示一个基本的幻灯片 - 具有过渡效果等.它在HTML中,但你可以理解我确定的代码:
<!-- Code for slideshow -->
<!-- Found on http://www.webdeveloper.com/forum/showthread.php?t=81441 -->
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
// Set slideShowSpeed (milliseconds)
var slideShowSpeed = 3000;
// Duration of crossfade (seconds)
var crossFadeDuration = 3;
// Specify the image files
var Pic = new Array();
// to add more images, just continue
// the pattern, adding to the array below
Pic[0] = '1.jpg'
Pic[1] = '2.jpg'
Pic[2] = '3.jpg'
Pic[3] = '4.jpg'
Pic[4] = …Run Code Online (Sandbox Code Playgroud) 问题围绕着一个名为"Galleria"的jQuery画廊.这是非常美观的,因为我的客户是摄影师,我以为我会在Galleria画廊展示他的所有图片.
您可以在这里查看该网站的测试版本:http://jeremywebbphotography.com/testing/index.php - (如果情况发生变化,那是因为我现在正在研究它).
基本上,问题是:如果您浏览到任何图库页面,它们似乎工作正常.万岁!除此之外,在查看任何类型的随机数后,一段时间后图像停止加载并出现.将出现缩略图,但如果您单击其中任何一个,图像将短暂显示然后突然消失.我在这个网站上工作了无数个小时,现在我才发现了这个问题.
对我来说,整合一个新的图库解决方案并不容易,因为我已经设置了一个非常具体的结构,这需要我花费数小时的时间来完成.
到目前为止,我只在Safari中发现了问题,但我相信它也可能在其他浏览器中发生.可以通过重新启动浏览器来解决问题,但显然在向我的客户提供专业服务时,这对他或用户来说显然不够好.问题是,我知道无法触发错误 - 它似乎是随机发生的.
我需要一些认真的帮助.我没有时间或耐心通过新画廊重新设计这一点.
我正在使用jQuery提供的代码.此外,Galleria在jquery.galleria.js中提供了这个代码 - 如果你可以从中获得任何绽放的感觉...我猜这有点毫无意义,但嘿......
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(5($){4 q;q=$.23.7=5(k){6(!q.1o()){Q J}$.1p(q.1b);4 l={Z:\'.1q\',K:E,10:E,1c:5(a,b,c){},1r:5(a){}};4 m=$.11(l,k);1d(4 i 24 m){6(i){$.7[i]=m[i]}}4 n=($(m.Z).R(m.Z))?$(m.Z):3(B.12(\'1e\')).25(8);4 o=$(B.12(\'1e\')).u(\'1s\');4 p=$(B.12(\'1f\')).u(\'1g\');n.u(\'1q\').13(o).13(p);Q 8.1t(5(){$(8).u(\'7\');$(8).1u(\'L\').1t(5(i){4 b=$(8);4 c=$.26?$.11({},m,b.27()):m;c.10=$(8).R(\':28-S\')?J:c.10;4 d=$(8).T(\'a\').R(\'a\')?$(8).T(\'a\'):J;4 e=$(8).1u(\'F\').C(\'M\',\'U\');4 f=d?d.9(\'1v\'):e.9(\'1h\');4 g=d?d.9(\'14\'):e.9(\'14\');4 j=1w 1x();6(c.K&&(N.r.t&&N.r.t.V(/\\#/,\'\')==f)){b.G(\'.D\').W(\'D\');b.u(\'D\')}$(j).29(5(){$(8).9(\'1y\',e.9(\'1y\'));4 a=d?d.T(\'F\').u(\'1z 1A\').C(\'M\',\'U\'):e.2a(E).u(\'1z\').C(\'M\',\'U\');6(d){d.2b(a)}6(!a.1B(\'1A\')){4 w=1i.1C(e.v()/e.y()*b.y());4 h=1i.1C(e.y()/e.v()*b.v());6(w<h){a.C({y:\'1D\',v:b.v(),1E:-(h-b.y())/2})}s{a.C({v:\'1D\',y:b.y(),1F:-(w-b.v())/2})}}s{N.1G(5(){a.C({1F:-(a.v()-b.v())/2,1E:-(a.y()-b.y())/2})},1)}a.9(\'O\',f);a.9(\'14\',g);a.1H(5(){$.7.X(f)});a.P(5(){$(8).u(\'P\')},5(){$(8).W(\'P\')});b.P(5(){b.u(\'P\')},5(){b.W(\'P\')});b.1I(a);a.C(\'M\',\'2c\');c.1r(3(a));6(b.1B(\'D\')){$.7.X(f)}e.1J()}).1K(5(){b.2d(\'<1f 2e="1K" 1L="2f:2g">2h 2i 2j: \'+f+\'</1f>\')}).9(\'1h\',f)})})};q.1M=5(a){Q $(a).R(\':1N-S\')?$(a).G(\':1O-S\'):$(a).1j()};q.1P=5(a){Q $(a).R(\':1O-S\')?$(a).G(\':1N-S\'):$(a).1Q()};q.1o=5(){$(\'1R\').13($(B.12(\'1e\')).9(\'1S\',\'1k\').C({v:\'1T\',y:\'1T\',M:\'U\'}));4 a=($(\'#1k\').v()!=1)?J:E;$(\'#1k\').1J();Q a};q.1b=5(a){4 b=$(\'.1s\');4 c=$(\'.7 F[O="\'+a+\'"]\');6(a){6($.7.K){N.r=N.r.1v.V(/\\#.*/,\'\')+\'#\'+a}c.15(\'L\').G(\'.D\').W(\'D\');c.15(\'L\').u(\'D\');4 d=$(1w 1x()).9(\'1h\',a).u(\'2k\');b.1U().13(d);b.G(\'.1g\').2l(c.9(\'14\'));$.7.1c(d,b.G(\'.1g\'),c);6($.7.10){d.C(\'2m\',\'2n\').1H(5(){$.7.1j()})}}s{b.G().2o().1U();$(\'.7 L.D\').W(\'D\')}$.7.16=a};$.11({7:{16:\'\',1c:5(){},X:5(a){6($.7.K){$.1V(a)}s{q.1b(a)}},1j:5(){4 a=$(q.1M($(\'.7 F[O="\'+$.7.16+\'"]\').15(\'L\'))).T(\'F\').9(\'O\');$.7.X(a)},1Q:5(){4 a=$(q.1P($(\'.7 F[O="\'+$.7.16+\'"]\').15(\'L\'))).T(\'F\').9(\'O\');$.7.X(a)}}})})(3);3.11({z:17,x:17,1p:5(a){3.x=a;4 b=r.t;3.z=b;6(3.H.1l){6(3.z===\'\'){3.z=\'#\'}$("1R").1I(\'<1W 1S="18" 1L="M: U;"></1W>\');4 c=$("#18")[0];4 d=c.1m.B;d.1X();d.1Y();d.r.t=b}s 6($.H.19){3.A=[];3.A.I=K.I;3.1a=[];3.Y=E}3.x(b.V(/^#/,\'\'));2p(3.1Z,2q)},20:5(a){3.A.21(a);3.1a.I=0;8.Y=E},1Z:5(){6(3.H.1l){4 a=$("#18")[0];4 b=a.2r||a.1m.B;4 c=b.r.t;6(c!=3.z){r.t=c;3.z=c;3.x(c.V(/^#/,\'\'))}}s 6($.H.19){6(!3.1n){4 d=K.I-3.A.I;6(d){3.Y=J;4 i;6(d<0){1d(i=0;i<1i.2s(d);i++){3.1a.2t(3.A.2u())}}s{1d(i=0;i<d;i++){3.A.21(3.1a.2v())}}4 e=3.A[3.A.I-1];6(e!==17){3.z=r.t;3.x(e)}}s …Run Code Online (Sandbox Code Playgroud) 好的 - 我会直截了当地说 - 这是有问题的PHP代码:
<h2>Highest Rated:</h2>
<?php
// Our query base
$query = $this->db->query("SELECT * FROM code ORDER BY rating DESC");
foreach($query->result() as $row) {
?>
<h3><?php echo $row->title." ID: ";echo $row->id; ?></h3>
<p class="author"><?php $query2 = $this->db->query("SELECT email FROM users WHERE id = ".$row->author);
echo $query2->row('email');?></p>
<?php echo ($this->bbcode->Parse($row->code)); ?>
<?php } ?>
Run Code Online (Sandbox Code Playgroud)
对不起它有点乱,它还是一个草稿.无论如何,我研究了使用评级系统的方法 - 之前我有一个'评级'字段,你可以通过SELECT*FROM代码ORDER BY评级DESC看到.然而,我很快意识到计算平均值是不可行的,所以我创建了五个新列 - rating1,rating2,rating3,rating4,rating5.因此,当5位用户对4星级评分时,评分4表示5 ...这有意义吗?每个ratingx列计算给出评级的次数.
所以无论如何:我有这个SQL语句:
SELECT id, (ifnull(rating1,0) + ifnull(rating2,0) + ifnull(rating3,0) + ifnull(rating4,0) + ifnull(rating5,0)) /
((rating1 IS NOT NULL) + …
我似乎被困在一个无限的SVN循环中,因为它......
我的存储库位于/Users/Jack/MySite.co.uk/本地
问题是,.svn文件夹似乎被意外删除/Users/Jack/MySite.co.uk/images/png,因此触发了错误svn: '/Users/Jack/Sites/MySite.co.uk/images/png' is not a working copy directory...
我尝试过做的是:
svn --force delete /Users/Jack/Sites/MySite.co.uk/images/png
哪个说svn: Working copy '/Users/Jack/Sites/MySite.co.uk/images' locked. Run 'svn cleanup' to remove locks (type 'svn help cleanup' for details).
所以,我按照说明操作:
svn cleanup /Users/Jack/Sites/MySite.co.uk/
Subversion对此做出响应: '/Users/Jack/Sites/MySite.co.uk/images/png' is not a working copy directory
如果这令人困惑,我道歉,但是,我也很困惑!任何简单的方法来解决这个问题 我已经尝试过有svn add问题的文件夹,它告诉我/images/ is locked.Harumph!
谢谢,
插口
我的问题是,我正在尝试计算用户提交的代码表中最常使用的标记.但问题在于数据库结构.
我正在使用的当前查询是这样的:
SELECT tag1, COUNT(tag1) AS counttag
FROM code
GROUP BY tag1
ORDER BY counttag DESC LIMIT 1
Run Code Online (Sandbox Code Playgroud)
这很好,除了它只计算tag1最常出现 - 我的数据库每个帖子有5个标签 - 所以有tag1,tag2,tag3,tag4,tag5列.如何从一个查询中的所有5列中获取最高出现的标记值?
插口
所以基本上,我正在从我的MySQL数据库中选择一个时间戳.在数据库中,时间戳如下所示:
2010-06-30 12:36:08
显然,对于一个webapp,这对用户来说并不是很有吸引力.因此,使用一些CodeIgniter函数,我让它看起来更好一些.
<h4 class="timestamp">
<?php // Quickly calculate the timespan
$post_date = mysql_to_unix($row->date);
$now = time();
echo timespan($post_date, $now);?> ago
</h4>
Run Code Online (Sandbox Code Playgroud)
如果你不做CodeIgniter,一切都是标准的PHP,除了echo timespan().CodeIgniter只是将它称为"英语"时间跨度.因此,示例输出将是:
2 Months, 4 Weeks, 5 Hours, 20 Minutes ago
这一切都很好,但是,我想让它看起来更好......有太多的逗号,而且它太长了(我知道,我很挑剔......).我会喜欢的是:
7 hours, 33 minutes ago4 days ago 2 weeks, 6 days ago 4 months agoOver a year ago正如您所看到的,我目前正在使用CodeIgniter函数来简化此操作 - 但是如果有任何本机PHP函数可以执行我想要的操作,那就太棒了.
谢谢你的帮助!
插口
我正在从一个有很多不一致的旧应用程序重建Web应用程序.我必须将旧数据库中的所有数据迁移到新结构中.
在旧数据库中,日期存储在MySQL DB中VARCHAR.我们的总部设在英国,因此日期以DD/MM/YYYY格式编写.我需要将这些日期转换为MySQL的原生DATE()格式.
问题是这个 - PHP默认假设日期是'美国'格式(MM/DD/YYYY),因为它们最初被拆分/而不是-- 并-迫使PHP假设它们是'欧洲'格式.
到目前为止我这样做是为了转换它们:
$start_date = date('Y-m-d', strtotime($query->row('startdate')));
Run Code Online (Sandbox Code Playgroud)
$query->row('startdate')旧数据库中存储日期的列在哪里.问题是,我需要先将所有的21/03/1994s 切换到21-03-1994.
我怎样才能做到这一点?
这是我的应用程序从Postmark收到的JSON字符串,一个入站电子邮件递送服务:
{
"From": "me@mydomain.com",
"FromFull": {
"Email": "me@mydomain.com",
"Name": "Jack"
},
"To": "\"test@email.mydomain.com\" <test@email.mydomain.com>",
"ToFull": [
{
"Email": "test@email.mydomain.com",
"Name": "test@email.mydomain.com"
}
],
"Cc": "",
"CcFull": [],
"ReplyTo": "",
"Subject": "Brussel Sprouts",
"MessageID": "a97fb074-338e-48c5-97db-d9c5155e9307",
"Date": "Sun, 30 Dec 2012 18:10:54 +0000",
"MailboxHash": "",
"TextBody": "Are Nice",
"HtmlBody": "",
"Tag": "",
"Headers": [
{
"Name": "X-Spam-Checker-Version",
"Value": "SpamAssassin 3.3.1 (2010-03-16) onrs-iad-pm-inbound1.wildbit.com"
},
{
"Name": "X-Spam-Status",
"Value": "No"
},
{
"Name": "X-Spam-Score",
"Value": "0.0"
},
{
"Name": "X-Spam-Tests",
"Value": "RCVD_IN_DNSWL_BLOCKED"
},
{ …Run Code Online (Sandbox Code Playgroud) 这是我从PHP脚本中看到的输出:
Cash Completions (Purchase)
Product A: £435.60
Product B: £38.40
Product C: £0.00
Product D: £3,349.87
Product E: £559.38
Product F: £0.00
Product G: £0.00
Product H: £0.00
TOTAL COSTS: £1,036.38
Run Code Online (Sandbox Code Playgroud)
看看最后一行"TOTAL COSTS".您将看到它不会累加到上面所有行的总和.
以下是用于计算此内容的PHP脚本:
Cash Completions (Purchase)
Product A: <?php echo '£'.$extra->a;?>
Product B: <?php echo '£'.$extra->b;?>
Product C: <?php echo '£'.$extra->c;?>
Product D: <?php echo '£'.$extra->d;?>
Product E: <?php echo '£'.$extra->e;?>
Product F: <?php echo '£'.$extra->f;?>
Product G: <?php echo '£'.$extra->g;?>
Product H: <?php echo '£'.$extra->h;?>
TOTAL COSTS: <?php …Run Code Online (Sandbox Code Playgroud)