【待望】PerlユーザのためのPHP入門
■ このスレッドは過去ログ倉庫に格納されています
0001俺様
03/02/27 15:17ID:tJsRCtRD両者の違いを中心に講義してやる。
今までPerlマンセーだったやつはこれを機にPHPに変更しよう也。
質問もガンガン書いてくれ。
このPerlの文はPHPだとどう書くの?とか。
0369イ奄様
03/06/02 11:34ID:EOTygtgqprint <<<EOF
<タグ>${a}<タグ2>
EOF;
0370あ
03/06/02 23:18ID:9zPzvWqa0371nobodyさん
03/06/04 00:53ID:1Jdo0O1g0372nobodyさん
03/06/04 01:12ID:wjzhyKBb・_・y━””
0373age
03/06/08 17:42ID:cXeOp+rQ0374_
03/06/08 17:44ID:???0375
03/06/08 18:09ID:eRunpr9i489 名前: 文責:名無しさん 投稿日: 2001/04/11(水) 17:25
一般人なのに盗聴される、じゃなくて、「一般人だから盗聴される」んじゃないのかな?
基本的にネタ集めのためにやってんなら、有名人のネタを盗むと、有名人は告発できるし、
そんなことされても当たり前だと思われるので告発しても信じてもらえる。
そうでない人は、ここの途中の書き込みにもあったように「電波」扱いされるだけ。
ただで、ネタを仕入れるんなら、一般人に限るでしょう。
マスコミは自分らの無能さを恥じてほしいです。
ちなみに私が盗聴されはじめたのは、芸能人にストーカーされ始めてからでした。
そこからマスコミに広がって行った。
だから余計「妄想」とか思われそう。
友人に話したら完全に病気扱いされた。ストーカーって言葉がない時代だったしね。
書いておいておいた小説のネタが、他人の原作でドラマ化されたときにはきれまくっ
たなあ。(一度や二度のことじゃないけど)
0376age
03/06/13 23:55ID:nW6iX8p90377nobodyさん
03/06/14 01:09ID:Zt1p4X90http://www.php.net/manual/ja/function.mb-convert-kana.php
0378無料動画直リン
03/06/14 01:10ID:K+P5CDjB0379nobodyさん
03/06/15 21:40ID:???http://jp.php.net/manual/ja/function.stripslashes.php
これじゃだめかい?
0380nobodyさん
03/06/19 03:00ID:yyOItGJy0381nobodyさん
03/06/19 19:42ID:???何か方法ありますか?perlでいうとこの
HTML::Template みたいなのとか。
0382nobodyさん
03/06/20 00:47ID:???【PHP】Smarty【Template】
http://pc2.2ch.net/test/read.cgi/php/1047225437/
0384nobodyさん
03/07/03 21:53ID:???変数の定義がされているかどうかの
チェックはどうやったらいいですか?
0385384
03/07/05 12:49ID:???0386nobodyさん
03/07/05 13:00ID:???もうだめぽ ..
0387nobodyさん
03/07/05 13:14ID:???0388山崎 渉
03/07/15 11:11ID:???__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0389nobodyさん
03/07/23 10:22ID:A887jOLIPerlっぽく遠回りに書いてしまうことってないですか?
逆も然り
そーゆー注意点とか教えて下さい。
0390nobodyさん
03/07/23 13:26ID:???他の言語に興味を持つといいと思います。
0391nobodyさん
03/07/24 01:46ID:???このスレ見たらやる気なくした。やっぱC/C++にするわ。
まず第一に<?〜?>にコード書くなんて本当にキモいよ。
(JSPやASPも同じようなもんだがな)
PHPってCGI/Perlの速度に我慢できなくなった奴が、C/C++はできないから
しょうがなく使ってるんだろ?
プロはJavaとかASP使うし、素人はPerlで十分(環境も整ってる)。
速度ががまんならないならC/C++、もしくはモジュール資産を活かして
mod-perlだな。
PHPの選択はまずありえないね。
0392nobodyさん
03/07/24 10:31ID:???とりあえず海外見てきたら?
0393nobodyさん
03/07/25 12:40ID:???0394_
03/07/25 13:14ID:???0395nobodyさん
03/07/25 13:21ID:???●無料でパソコンだけで月に10万円↑稼げます!
登録完全無料!お小遣いが沢山稼げちゃいます。
月に平均10万円ほど稼げます。頑張ればもっと!
夏休みを有効に利用しましょう!
無料だから登録しないと損します〜。
0397nobodyさん
03/07/25 14:02ID:???0399nobodyさん
03/07/26 02:18ID:???配列で1行づつ配列で取り出して保存したいんですが、
何故かPHPだと改行コード(CRCR...LF)と増え続けます。
改行コードの仕様の問題なんっすかねぇ?
# Perl
open( IN , "hoge.dat" );
@lines = <IN>;
close( IN );
#何か処理
open( OUT , ">hoge.dat" );
print OUT @lines;
close( OUT );
// PHP
$lines = file( "hoge.dat" );
// 何か処理
$fp = fopen( "hoge.dat" , "w" );
foreach( $lines as $line ){
fputs( $fp, $line );
}
fclose( $fp );
0400nobodyさん
03/07/26 02:50ID:???CRが付くって事は環境はWindows?
perlでいうbinmode($fp)ていう関数ないかね?
http://flex.ee.uec.ac.jp/texi/perl/perl_76.html#IDX157
0401nobodyさん
03/07/26 03:36ID:???バイナリモードで開く"wb"(WINのみ)
$fp = fopen( "hoge.dat" , "wb" );
とすると一応解決しますね。サンクスです。
根本的な解決になってるのかどうか微妙っす。
0402nobodyさん
03/07/26 04:30ID:???テキストモードで開くと
fputs などの出力処理中に \n が見つかった際に
内部で \r\n に置き換えるという小さな親切を行ってくれます
バイナリモードならそれをやらないので解決だと思われまする
0403402
03/07/26 04:33ID:???まあいいや。たぶん大丈夫。
0404nobodyさん
03/07/26 16:31ID:???なるほそ。小さな親切ですね・・・
0405nobodyさん
03/07/28 20:34ID:MPvwsvteprint "Location:./santa.cgi?$no\n\n";
exit;
などとしていましたが、phpでこれと同等なのはどういうコマンドでしょうか?
コマンド名だけでも良いので助言お願いします。
0407nobodyさん
03/07/29 00:10ID:???でどうでしょう。
0408nobodyさん
03/07/29 00:53ID:???0409nobodyさん
03/07/29 01:11ID:???相対だと不都合でるブラウザってあるの?
0410nobodyさん
03/07/29 01:19ID:???携帯とか。
0411nobodyさん
03/07/29 01:59ID:???0412_
03/07/29 02:02ID:???0415nobodyさん
03/07/31 09:22ID:???× ./index.html
ってのが前あった。
0416山崎 渉
03/08/02 02:23ID:???( ^^ )< ぬるぽ(^^)
0417ぼるじょあ ◆ySd1dMH5Gk
03/08/02 04:51ID:???ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
0418nobodyさん
03/08/03 03:36ID:e6CW3yAEあげとく
0419nobodyさん
03/08/15 21:51ID:/UWm9DVh0420山崎 渉
03/08/15 22:25ID:???│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0421nobodyさん
03/08/28 08:28ID:aKTRoIJTPerl
use lib './lib/';
use Hoge;
PHP
define( 'LIB_DIR', './lib/' );
include( LIB_DIR . 'Hoge.class.php' );
とやってるんだけど、もうちっと短く書きたいなぁ。
0422nobodyさん
03/08/30 22:41ID:AS3I0NRvPerlでいうところのプログラミングPerlみたいな
大御所のこれさえ買っとけばたいてい載ってるって本きぼん。
0423nobodyさん
03/08/30 23:14ID:AIvW/87l大人の時間ドットNET
http://2ch.otona-no-jikan.net
0424nobodyさん
03/08/31 13:22ID:AiCjBA+L赤マンモス
0425nobodyさん
03/09/07 01:36ID:???プログラム中にHTML書いてあったら落ち着かない
0426nobodyさん
03/09/07 01:56ID:1pDZ49hH0427nobodyさん
03/09/10 00:04ID:EKqTJkq7perlで検索で、$find_lineの中に、$f_a_wordが含まれているかを
if (index($find_line,$f_a_word) >= 0) {
含まれている
} else {
含まれていない
}
このようにしていたのですが、phpだとどのようになりますか?
0428427
03/09/10 00:42ID:???失礼しました。
0429nobodyさん
03/09/10 01:08ID:???これじゃだめかな?
やってみてくりくり
<?php
$find_line = "これはテソトです。";
$f_a_word = "テソト";
if(strstr($find_line,$f_a_word)){
echo '$find_lineの中に$f_a_wordは含まれています!';
}
else{
echo '$find_lineの中に$f_a_wordは含まれていません!';
}
?>
0430429です
03/09/10 01:20ID:z4dT6uSf427-428宛のレスです。
OpenJaneって番号ズレるのね。。。
0432nobodyさん
03/09/10 10:21ID:???0433nobodyさん
03/09/11 23:16ID:???> PHPでOOPでもと思い、
インクルードパスの設定とOOPには何の関係もない。
‥‥‥というのはともかく、auto_prepend でググれ。
0434nobodyさん
03/09/20 14:31ID:???おかげで分からなかった事も分かりました。ありが�d
0435nobodyさん
03/09/20 22:34ID:VeIFc9WRただし、.や..や.htaccessといった、「.」で始まるファイルは対象外にしたいのです。
Perlで
---
opendir(DIR, $path);
@list = sort grep(!/^?./, readdir(DIR));
closedir(DIR);
と書くところを、phpではどのように表現すればよいのでしょうか?
0437とおりすがり
03/09/21 03:57ID:???自信ないが
$dh = opendir($path);
while ($tmp = readdir($dh)) $filename[] = $tmp;
$filename = preg_grep("/^[^\.]/", $filename);
sort($filename);
closedir($dh);
0438nobodyさん
03/09/21 19:51ID:???0439nobodyさん
03/09/22 04:27ID:PmE0lLf0なるほど。このコード実行してないんであれですが、
preg_grep する前に $filename[] = $tmp しちゃうと、
配列$filename内には「.」や「..」が残りそうな雰囲気が…違ったらごめん。
こんな感じにしてみました。
---
if( false !== ($handle = opendir($query_path)) ){ //ディレクトリが開けるなら
while( $file = readdir($handle) ){
if( preg_match ("/^?./", $file) ){
$files[] = $file;
}
}
closedir($handle);
if( count($files) >= 1 ){
sort($files);
}else{
print "このディレクトリ内に読めるファイルはありません?n";
}
}
つーかnatsortって便利ですな。
http://search.net-newbie.com/php/function.natsort.html
正規表現が分からない時はこんなのもアリかな。
while ( $entry = readdir($dh ) {
if ( substr($entry, 0, 1) != '.' )
$files[] = $entry;
}
http://jp.php.net/substr
0442nobodyさん
03/09/22 11:22ID:???0443nobodyさん
03/09/22 16:10ID:???0445nobodyさん
03/09/25 23:55ID:???perlの場合のflock関数と比較して、
phpのflock関数を使うときの注意点って、特になんか、ありますか?
(ウェブサーバは、Apacheという前提です)
0446445
03/09/28 00:48ID:lxnHIT500447nobodyさん
03/09/28 02:01ID:???0448nobodyさん
03/09/28 02:26ID:???にたようなもんじゃないのかな?
たしか、PHPマニュアルにもflock関数は全ての環境で使えるもんじゃ
ないみたいなこと書いてあったし、
ネットワークファイルシステムに対応してないけりゃ、無理だろうし。
ちなみに、うぇぶさばは関係ないですぞ。
0449445
03/09/28 03:46ID:???ども。のぞいてきます。
>>448
そうですね。
よく考えりゃ、どっちもOSのflockを呼び出してるってことだから、
特段変わることはないか。。。
>ちなみに、うぇぶさばは関係ないですぞ。
いや、マニュアル
http://www.php.net/manual/ja/function.flock.php
に、
「いくつかのオーペレーティングシステムでflock() はプロセスレベルで実装されています。
ISAPIのようなマルチスレッド 型のサーバーAPIを使用している場合、
同じサーバーインスタンスの並 列スレッドで実行されている他のPHPスクリプトに対してファイルを保 護する際に
flock()を使用することはできません」
って書いてあったから、
ウェブサーバにIIS使ってると、事情が違うのかなと思って一応かいといたもんで。。。
(正直IIS分からんですが)
0450nobodyさん
03/09/28 09:23ID:???0451445
03/09/28 22:34ID:jyRnC+Ifあれ、なんかとぼけたこと自分言ってました?
ご指摘きぼんぬ
0452nobodyさん
03/09/29 10:34ID:???あまり気にする事は無いかと
マルチスレッド型を利用している場合、別々に動作している
phpは同一プロセス(の、別スレッド)で動作している事になるので
プロセス単位で排他をかけるflock()は排他の目的には使えない
ということで、HTTPdとphpの組み合わせによる、というのは正しいかも
0453nobodyさん
03/10/07 22:48ID:???0454nobodyさん
03/10/07 23:44ID:???みたいなマルチバイト文字列の置換をPHPでやるにはどうしたらいいんでしょうか。
mb_ereg_replaceはまだ実験段階らしいのであまり乗り気ではなく。
0455nobodyさん
03/10/08 00:11ID:???str_replaceでも「とりあえずは」OK。
それか、文字列をUTF-8に変換してから
$str_utf8 = preg_replace("/pattern/u", "replace", $str_utf8);
でもOK。
ただしmb_ereg_replaceはライブラリのライセンス絡みでもめてたけど
関数自体は十分実用に耐えるよ。
ライブラリの変更はPHP5で行われ、ユーザレベルでの変更は
不要になる方向らしいから気にすることは無いと思うけど。
ちなみにmb_ereg系を使うときはmb_languageとmb_internal_encodingを
ちゃんと設定していないと駄目。
0456454
03/10/08 00:30ID:???詳細なレスありがとうございます。
試しにpreg_replaceを使った時えらく文字化けしたのでなんでだろと疑問だったんですがこれで解決しました。
一応マルチバイト文字列関数用にphp.iniの設定は書き変えてあるので、
mb_ereg_replaceを使っても将来的に問題ないということならこれでいこうかなと思います。
0457nobodyさん
03/10/18 23:15ID:???他にも$a,$b,@c,$d,…と並べて@cの内容が展開されるようにしたい時とか.
0458nobodyさん
03/10/27 17:51ID:???http://www.din.or.jp/~ohzaki/perl.htm
をPHPにコーディングしなおしたサイトを誰かしりません?
無いかなー。
0459nobodyさん
03/10/28 18:22ID:???$a =~ tr/[a-z][A-Z]/[A-Z][a-z]/;
print "content-type:text/html\n\n";
print "$a";
上のコードをPHPに移植し、
$a="abcdABCD";
$a=strtr($a, "[a-z][A-Z]", "[A-Z][a-z]" );
echo $a;
と書いてみたところ、strtr()で正規表現が使えないようなのですが
何か良い方法はないですか。
0460nobodyさん
03/10/29 23:14ID:dIX7j6Caphpでそういうモジュールってないでしょうか?
(いやぁ、ほんとはDB使いたいんですけどね。。。わけあってつかえず)
0461nobodyさん
03/11/01 14:03ID:5TPcc+Om0462nobodyさん
03/11/01 14:49ID:???泥臭いけど・・
$a = 'abcdABCD';
$from = implode('',array_merge(range('a','z'),range('A','Z')));
$to = implode('',array_merge(range('A',Z'),range('a','z')));
echo strtr($a,$from,$to);
rangeを使って配列をつくってarray_mergeで配列合体させて
implode(perlでいうところのjoin)で文字列にして置換ってかんじ
連続する文字コードならrangeでいけるよね
0463nobodyさん
03/11/03 00:41ID:4CVQMxAyprint qq|
$hoge
<hr>
<a href="http://www.yahoo.com"></a>
|;
みたいの、phpでないでしょうか?
要は、変数展開もされて、”もエスケープする必要がないように書きたいのですが・・・
0464nobodyさん
03/11/03 00:44ID:???なんか無駄がないか?
0466nobodyさん
03/11/07 15:11ID:GoKF/NURswitch($a) {
case "1" : global $b = "one";
case "2" : global $b = "two";
case "3" : global $b = "three";
}
echo $a." -> ".$b;
みたいなことをやりたいのですが、switch文では無理ですか?
if,elseif...なら可能なのですが…
0467nobodyさん
03/11/07 15:40ID:???それを実行すると1〜3のどれを$aに入れても$bが"three"になっちゃう
各分岐のお尻にbreak;付けましょうね
switch($a) {
case "1" : $b = "one"; break;
case "2" : $b = "two"; break;
case "3" : $b = "three"; break;
}
0468nobodyさん
03/11/07 15:43ID:???よく嫁
http://www.php.net/manual/ja/control-structures.switch.php
■ このスレッドは過去ログ倉庫に格納されています