七行プログラミングat PHP
七行プログラミング - 暇つぶし2ch404:nobodyさん
06/03/11 14:32:34
>>402
ム板の7行スレの方であったかもしれぬ。なかったかもしれぬ。

405:nobodyさん
06/03/11 17:24:08
>>404
あったよ。Part 2 の 105,129,135,162,163,169,170 辺り。

…まぁ、通ってきた道なわけですよ。

406:nobodyさん
06/03/12 19:32:59
<?php $s=(int)$_GET['s'];$d=array_map('intval',explode(' ', $_GET['d']));$n=
count($d);$m=max($d);$r=imagecreate($s,$s);imagecolorallocate($r,255,255,255);
$c=imagecolorallocate($r,128,128,128);$h=$s/2;for($i=0;$i<$n;$i++){$a=pi()*(2*
$i/$n-1/2);$t=$h*$d[$i]/$m;$p1[]=$h*(1+cos($a));$p1[]=$h*(1+sin($a));$p2[]=$h+
$t*cos($a);$p2[]=$h+$t*sin($a);imageline($r,$h,$h,$p1[$i*2],$p1[$i*2+1],$c);}
imagepolygon($r,$p1,$n,$c);imagepolygon($r,$p2,$n,imagecolorallocate($r,0,0,255
));header('Content-Type: image/gif');imagegif($r);?>

これはあまり安全じゃないよ。
フォーム作るゆとりなかったからアドレスバーの数字を直接いじってみて~
URLリンク(127.0.0.1)

407:nobodyさん
06/03/14 00:29:05
そのうち7行山田ウイルスとか出てきそうな予感

408:nobodyさん
06/03/15 00:31:04
7行Webサーバができるなら山田もいけそうだな

409:nobodyさん
06/03/26 01:13:16
7行OS

410:nobodyさん
06/03/32 00:29:48 WFUzL8FS
あれ、7行WEBサーバってなかったっけ?

411:nobodyさん
06/06/12 12:59:18
過疎スレになっちゃったな。

412:nobodyさん
06/06/12 21:26:04 NzZJH7e1
先日、会社でちょっとした7行ゲームを作ったんだけど、
社内でやっちまったんで、持ち出せないんだよな。
7行といっても7分で出来るわけじゃないんだよな。


413:nobodyさん
06/07/23 02:39:55 8Se2GPZR
七行Blog

414:nobodyさん
06/07/27 16:06:23
>>412
そんならカキコすんな
なんていってほしいわけ?

415:nobodyさん
06/07/31 00:02:46
うpキボンヌ

416: ◆GodofTripY
06/08/01 01:25:49
($name, $tripkey) = split(/\#(.+)/, $form{'name'});
if($tripkey){
$salt = substr($tripkey.'H.', 1, 2);
$salt =~ tr/\x3A-\x40\x5B-\x60\x00-\x2D\x7B-\xFF/A-Ga-f./;
$salt =~ s/[^\.-z]/\./g;
$trip = '◆'. substr(crypt($tripkey, $salt), -10);}
print "$name$trip";

2chトリップ判定。

417:nobodyさん
06/08/01 02:06:48
>>416
気持ちはわかるがそれはwebprogではない

418:nobodyさん
06/08/01 03:23:08
>>416
どこかで見た事があるんだが^^

419:nobodyさん
06/08/01 04:17:36
>>416
2chってcrypt()なんだね

420:nobodyさん
06/10/13 18:11:25 UA0b1MaA
6行RSSリーダー 設置して.cgi?以降にfeedのURLを入力
モジュールてんこ盛りなのでもっと短く書けるはず

use LWP::Simple;use CGI":all";use XML::RSS;$h = new CGI;$r = new XML::RSS;
$r->parse(get("$ENV{'QUERY_STRING'}"));%c = %{$r->{'channel'}};
print $h->header.'<a href="'.$c{'link'}.'">'.$c{'title'}.
"</a><br>$c{'description'}<br>";print "<ul>";for $item (@{$r->{'items'}}){
print '<a href="'.$item->{'link'}.'">'.$item->{'title'}.
"</a><br>$item->{'description'}<br>";}print "</ul>".$h->end_html;

421:sage
06/10/13 18:14:55
test

422:nobodyさん
06/10/13 18:17:21 yRLkeiwT
>>421
まさか7行で2chに書き込めるスクリプトを?!

423:nobodyさん
06/10/13 22:26:56
7行も要らんけどな

424:nobodyさん
06/10/13 23:51:02
書き込みのモジュールなんてあった??<<Perl脳

425:nobodyさん
06/10/14 00:15:13
書き込みっつーかPOSTするだけだろ

426:nobodyさん
06/10/14 00:45:55
>>425
単にPOSTするだけって単にPOSTしただけじゃread.cgiに弾かれる

427:nobodyさん
06/10/14 01:32:50
私はPHPならなんとか作れそうだが、それ以前に2chの仕様を勉強しなくちゃだな。

428:nobodyさん
06/10/14 01:42:28
POST先はbbs.cgiだけどな

429:nobodyさん
06/10/14 02:59:59
>>428
それすら知らなかった漏れは百回くらい正規表現の勉強でもしましょうか?

430:nobodyさん
06/10/14 06:34:52
>>420
縮めた。

#!/usr/bin/perl
use LWP::Simple;use XML::RSS;$r=new XML::RSS;parse$r get$ENV{QUERY_STRING};use
CGI":all";%c=%{$r->{channel}};put header,a({href,$c{link}},$c{title}),br,$c{$d=
description},br,ul(li[map a({href,$_->{link}},$_->{title}).br.$_->{$d}.br,@{$r
->{items}}]),end_html

431:nobodyさん
06/10/14 14:05:08
>>430
sugeeeeeeeeeeeeeeeeeeeeee
問題無く動いた

432:nobodyさん
06/10/14 15:01:38
>>430 からもうちょい縮めた上で HTML がまともになるよう追加。

#!/usr/bin/perl
use CGI":all";use LWP::Simple;use XML::RSS;$r=new XML::RSS;sub A{a{href,$_[0]->
{link}},$_[0]->{title}}charset$C="UTF-8";parse$r get pop;%c=%{$$r{channel}};put
header,start_html(-encoding,$C,lang,ja),h1(A\%c),p($c{$d=description}),ul(li[
map A($_).br.$$_{$d},@{$$r{items}}]),end_html

二行半も空いてるけど付け加える機能を思いつかず。

433:nobodyさん
06/10/14 15:13:56
>>432
未読管理機能なんかオススメ
二行半でやる方法は思い浮かばないorz

むしろ、どういう過程を経て効率的なソースが引けるようになったのかの方に興味あり苦笑
どこか参考にしたサイトとかあります?

434:nobodyさん
06/10/15 11:53:37
>>433
> 未読管理機能
ほい。新着タイトルを太字表示。

#!/usr/bin/perl
use CGI":all";use LWP::Simple;use XML::RSS;$r=new XML::RSS;dbmopen%n,"7rssrdr",
420;charset$C="UTF-8";sub A{($t,$l)=@$_{"title","link"};a{href,$l},$n{$l}++?$t:
b$t}parse$r get pop;%c=%{$$r{channel}};put header,start_html(-encoding,$C,lang,
ja),h1(A$_=\%c),p($c{$d=description}),ul(li[map A.br.$$_{$d},@{$$r{items}}]),
end_html

> どこか参考にしたサイトとかあります?
駱駝本とか perldoc とか。冗談でも何でもなく。
この遊びのノウハウなら URLリンク(cm.xrea.cc) に。

435:nobodyさん
06/10/16 01:39:15
>>434
>駱駝本とか perldoc とか。

さもありなんというか結局質の高い基本が一番役にたつんだろうな

436:aaz
06/11/05 22:18:14
URLリンク(fitaly.com)

437:nobodyさん
07/05/08 22:55:38
ほす

438:nobodyさん
07/12/01 02:02:19
月次移動可能なカレンダー。c.phpで保存。

<?php $a=q("Y-m-t","$_GET[y]-1");$d=explode("-",$a);$y="<a href=?y=";$v=$d[0];
$w=$d[1];$z="</tr><tr>";$m="$v-$w";$p=q("Y-m",$w-1,1,$v);$n=q("Y-m",$w+1,1,$v)
;echo"<html>$y$p><</a>$m$y$n>></a> $y c.php>now</a><table border=1><tr>$z";$f=
q("w","$m-1");for($i=-6-$f;$i<$d[2]-q("w",$a)+7;$i++){echo($i<1-$f)?"<th>".q(
"D",$w,$i,$v)."</th>":(($i<1||$i>$d[2])?"<td></td>":"<td>$i</td>");if(($i+$f)%
7==0)echo$z;}echo"</tr></table></html>";function q($x,$w,$i=0,$v=0){return($i)
?date($x,mktime(0,0,0,$w,$i,$v)):date($x,strtotime($w));}?>


439:nobodyさん
07/12/06 09:44:33
>>438
「now」も要らんと思う。

<?php list($v,$w,$d)=explode("-",$a=q("$_GET[y]-1","Y-m-t"));$f=q("$v-$w-1","w"
);echo$l="<a href=?y=",q($w-1,"Y-m",1,$v),"><</a>$v-$w$l",q($w+1,"Y-m",1,$v)
,">></a> $l>now</a><table><tr>";for($i=-6-$f;$i<$d-q($a,"w")+7;){echo$i<1-$f
?"<th>".q($w,"D",$i,$v)."</th>":"<td>".(($i<1||$i>$d)?"":$i)."</td>";if(($i++ +
$f)%7==0)echo"</tr><tr>";}function q($w,$x,$i=0,$v=0){return date($x,$i?mktime(
0,0,0,$w,$i,$v):strtotime($w));}?></tr></table>

PHPは不得手なんで、これよりもっと縮む筈。

440:438
07/12/08 01:17:01
>>439
凄いですね。いろんなことができるんだ、と感心しきり。
少しだけ縮めた。

<?php list($v,$w,$d)=explode("-",$a=q("$_GET[y]-1","Y-m-t"));$f=q("$v-$w-1","w"
);echo$l="<a href=?y=",q($w-1,"Y-m",1),"><</a>$v-$w$l",q($w+1,"Y-m",1),">></a>
$l>now</a><table><tr>";for($i=-6-$f;$i<$d-q($a,"w")+7;){echo$i<1-$f?"<th>".q($w
,"D",$i)."</th>":"<td>".($i<1||$i>$d?"":$i)."</td>";if(($f+$i++)%7==0)echo"</tr
><tr>";}function q($w,$x,$i=0){global$v;return date($x,$i?mktime(0,0,0,$w,$i,$v
):strtotime($w));}?></tr></table>

441:438
07/12/08 02:02:58
手抜きバージョン。取り合えず表示されるみたいなので…

<?php function q($w,$x,$i=0){global$v;return date($x,$i?mktime(0,0,0,$w,$i,$v):
strtotime($w));}list($v,$w,$d)=explode("-",$a=q("$_GET[y]-1","Y-m-t"));echo$l="
<a href=?y=",q($w-1,"Y-m",1),"><</a>$v-$w$l",q($w+1,"Y-m",1),">></a> $l>now</a>
<table><tr>";for($i=-6-$f=q("$v-$w-1","w");$i<32;){echo$i<1-$f?"<th>".q($w,"D",
$i)."</th>":"<td>".($i<1||$i>$d?"":$i)."</td>";if(($f+$i++)%7==0)echo"</tr><tr>
";}?></tr></table>

442:438
07/12/08 02:37:04
HTMLダメダメの超手抜きバージョン。無理やり5行にしてみた。

<?php list($v,$w,$d)=explode("-",q("$_GET[y]-1","Y-m-t"));echo$l="<a href=?y=",
q($w-1,"Y-m",1),"><</a>$v-$w$l",q($w+1,"Y-m",1),">></a> $l>now</a><table>";for(
$i=-6-$f=q("$v-$w-1","w");$i<32;){echo$i<1-$f?"<th>".q($w,"D",$i)."</th>":"<td>
".($i<1||$i>$d?"":$i)."</td>";if(($f+$i++)%7==0)echo"</tr><tr>";}function q($w,
$x,$i=0){global$v;return date($x,$i?mktime(0,0,0,$w,$i,$v):strtotime($w));}?>

443:nobodyさん
07/12/08 22:33:30
閉じタグ無しでいいなら

<?php function q($w,$i=1,$x="Y-m"){global$v;return date($x,$i?mktime(0,0,0,$w,
$i,$v):strtotime($w));}list($v,$w,$d)=explode("-",q("$_GET[y]-1",0,"Y-m-t"));
echo$l="<a href=?y=",q($w-1),"><</a>$v-$w$l",q($w+1),">></a> $l>now</a><table>"
;for($i=-6-$f=q("$v-$w-1",0,"w");$i<32;){echo"<td>",($i<1-$f?q($w,$i,"D"):($i<1
||$i>$d?"":$i)),($f+$i++)%7?"":"<tr>";}

444:nobodyさん
08/02/14 04:21:18
>>334 3年越しの7clap.

#!/usr/bin/perl
use CGI":all";charset$c=Shift_JIS;sub d{($m,$m,$h,$d,$m,$y)=localtime(time-pop);
$l[0]=(190001+$y*100+$m)*100+$d}param(K,$k=1+param K);($w=escapeHTML(param W))=~
y/\0- / /s;($C,$M,$L,$E,@M)=<DATA>;open L;flock L,2;open C;@l=d>(@c=<C>)[-1]?(d,
(0)x25,$/):split/<>/,pop@c;@c<14||shift@c;$l[$_]++for$h+2,1;open C,">$C";print C
@c,join"<>",@l;d 1209600;open M;@m=grep$l[0]<=$_,<M>;open M,">$M";print M@m,""ne
$w&&d."<>$h<>$w<>\n";put header,start_html(-encoding,$c,lang,ja),$k<10?($M[rand@
M],startform,p(hidden(K),Comment,textfield(W),submit Clap),endform):p$E,end_html
__DATA__
log.dat
mes.dat
>lock.dat
沢山の拍手を有り難うございました!
拍手が送信されました。ありがとうございました!
拍手が送信されました。ありがとうございますた!
拍手が送信されました。ありがとさ~ん!

・flock非保護。


445:nobodyさん
08/02/16 22:06:19
>>327 7kaiseki.cgi

#!/usr/bin/perl
use CGI":all";charset$c=Shift_JIS;($P,$C,$M)=<DATA>;($p=param P).$/ne$P&¨sub
l{(sort@_)[-1]/10||1}sub d{@p=localtime time-86400*pop;$g=(190001+$p[5]*100+$p[4
])*100+$p[3]}open C;%c=map{/<>/;$`,$'}<C>;($l,@l)=$c{$q=param(T)||d}=~/\d+/g;put
header,start_html(-encoding,$c,lang,ja),h1($q),table((map{Tr td[$z++.':00',$_+0,
"/"x($_/l@l)]}@l[0..23]),Tr td[Total,$l+0,""]),h1(Mes),dl(map{s/<>$//;/<>/;$`!=$
z&&dt($z=$`.':00'),dd$'}grep{s/$q<>//}open(M),<M>),h1(Past14day),table(map{Tr td
[a({href,"?P=$p&T=".d$x++},$g),$_,"/"x($_/l@s)]}@s=map{$c{d$_}+0}0..13),end_html
__DATA__
password
log.dat
mes.dat

・HTML適当。
・ファイルロックなし。
・DATAの1行目にパスワードを設定、「?P=password」でリクエスト。


446:nobodyさん
09/10/15 22:52:19
最終カキコ一年前なのになんで落ちないんだ?

447:nobodyさん
09/10/16 18:37:54
>>446
cos this thread is very good! don't you think so?

448: 忍法帖【Lv=40,xxxPT】(7+0:8) 【19.3m】 電脳プリオン ◆3YKmpu7JR7Ic
12/09/30 17:44:14.82 BE:496625377-PLT(12079)

          | | ガガガガガッ
          | |
          人
  ∧_∧   <  >_∧∩
  ( ・∀・)   人`Д´)/ ←>>140
 と    )  <  >_∧∩
   Y /ノ    .人`Д´)/ ←>>155
    / )    <  >_∧∩
  _/し' //. V`Д´)/ ←>>320
 (_フ彡        /


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch