【待望】PerlユーザのためのPHP入門 (601レス)
上下前次1-新
377: 03/06/14 01:09 ID:Zt1p4X90(1) AAS
>>371
外部リンク[php]:www.php.net
378: 無料動画直リン 03/06/14 01:10 ID:K+P5CDjB(1) AAS
外部リンク:homepage.mac.com
379: 03/06/15 21:40 ID:??? AAS
>362
外部リンク[php]:jp.php.net
これじゃだめかい?
380: 03/06/19 03:00 ID:yyOItGJy(1) AAS
あ
381(2): 03/06/19 19:42 ID:??? AAS
HTMLとPHPコードを分離したいんだけど、
何か方法ありますか?perlでいうとこの
HTML::Template みたいなのとか。
382(1): 03/06/20 00:47 ID:??? AAS
>>381
【PHP】Smarty【Template】
2chスレ:php
383: 381 03/06/20 01:29 ID:??? AAS
>>382
thx!
384(1): 03/07/03 21:53 ID:??? AAS
perlのdefinedみたいな奴
変数の定義がされているかどうかの
チェックはどうやったらいいですか?
385: 384 03/07/05 12:49 ID:??? AAS
同名関数ありますた。スマソ
386: 03/07/05 13:00 ID:??? AAS
でも定数のみですた。
もうだめぽ ..
387: 03/07/05 13:14 ID:??? AAS
isset ですた。
388: 山崎 渉 [(^^)] 03/07/15 11:11 ID:??? AAS
AA省
389: 03/07/23 10:22 ID:A887jOLI(1) AAS
PerlからPHPに入るとPHPで簡単にできることを
Perlっぽく遠回りに書いてしまうことってないですか?
逆も然り
そーゆー注意点とか教えて下さい。
390: 03/07/23 13:26 ID:??? AAS
Perl癖を取るためにもPHPに限らず
他の言語に興味を持つといいと思います。
391(3): 03/07/24 01:46 ID:??? AAS
もうそろそろPHPにも手を出してみるかと思ってたが、
このスレ見たらやる気なくした。やっぱC/C++にするわ。
まず第一に<?〜?>にコード書くなんて本当にキモいよ。
(JSPやASPも同じようなもんだがな)
PHPってCGI/Perlの速度に我慢できなくなった奴が、C/C++はできないから
しょうがなく使ってるんだろ?
プロはJavaとかASP使うし、素人はPerlで十分(環境も整ってる)。
速度ががまんならないならC/C++、もしくはモジュール資産を活かして
mod-perlだな。
PHPの選択はまずありえないね。
392: 03/07/24 10:31 ID:??? AAS
ASP使ってる時点でOutだと思うがね。
とりあえず海外見てきたら?
393: [ ] 03/07/25 12:40 ID:??? AAS
範囲演算子".."がないのが激しくムカツクんだが。
394: _ 03/07/25 13:14 ID:??? AAS
外部リンク[html]:homepage.mac.com
395: 03/07/25 13:21 ID:??? AAS
外部リンク[cgi]:www.adultshoping.com
●無料でパソコンだけで月に10万円↑稼げます!
登録完全無料!お小遣いが沢山稼げちゃいます。
月に平均10万円ほど稼げます。頑張ればもっと!
夏休みを有効に利用しましょう!
無料だから登録しないと損します〜。
396: [ ] 03/07/25 13:31 ID:??? AAS
>>391
珍獣みっけ。
何のためのプログラムしてるのか知りたい。
397: 03/07/25 14:02 ID:??? AAS
↑趣味に効率は全く必要ないそうです
398: 03/07/25 22:24 ID:??? AAS
>>391
おもろい
399(1): 03/07/26 02:18 ID:??? AAS
改行コードCRLFで保存したファイルを
配列で1行づつ配列で取り出して保存したいんですが、
何故かPHPだと改行コード(CRCR...LF)と増え続けます。
改行コードの仕様の問題なんっすかねぇ?
# Perl
open( IN , "hoge.dat" );
@lines = <IN>;
close( IN );
#何か処理
open( OUT , ">hoge.dat" );
省10
400(1): 03/07/26 02:50 ID:??? AAS
>>399
CRが付くって事は環境はWindows?
perlでいうbinmode($fp)ていう関数ないかね?
外部リンク[html]:flex.ee.uec.ac.jp
401(1): 03/07/26 03:36 ID:??? AAS
>>400
バイナリモードで開く"wb"(WINのみ)
$fp = fopen( "hoge.dat" , "wb" );
とすると一応解決しますね。サンクスです。
根本的な解決になってるのかどうか微妙っす。
402(1): 03/07/26 04:30 ID:??? AAS
>>401
テキストモードで開くと
fputs などの出力処理中に \n が見つかった際に
内部で \r\n に置き換えるという小さな親切を行ってくれます
バイナリモードならそれをやらないので解決だと思われまする
403: 402 03/07/26 04:33 ID:??? AAS
うーん、でも読み込む際も CRLF⇒LF 変換やってくれたような?
まあいいや。たぶん大丈夫。
404: 03/07/26 16:31 ID:??? AAS
>内部で \r\n に置き換えるという小さな親切を行ってくれます
なるほそ。小さな親切ですね・・・
405(1): 03/07/28 20:34 ID:MPvwsvte(1) AAS
perlで、書き込み処理を終えたあとに他のページに飛ばすとき、
print "Location:./santa.cgi?$no\n\n";
exit;
などとしていましたが、phpでこれと同等なのはどういうコマンドでしょうか?
コマンド名だけでも良いので助言お願いします。
406: 03/07/28 20:42 ID:??? AAS
>>405
マニュアルのHTTP関連の関数を見るべし。
407: 03/07/29 00:10 ID:??? AAS
header("location: ./santa.php?no");
でどうでしょう。
408: 03/07/29 00:53 ID:??? AAS
locationは絶対パスで指定しなよ…
409(1): 03/07/29 01:11 ID:??? AAS
どっちでも同じでしょ。
相対だと不都合でるブラウザってあるの?
410: 03/07/29 01:19 ID:??? AAS
あるよ。
携帯とか。
411(1): [age] 03/07/29 01:59 ID:??? AAS
どこの携帯?
412: _ 03/07/29 02:02 ID:??? AAS
外部リンク:homepage.mac.com
413: 03/07/29 04:06 ID:??? AAS
>>409
RFC嫁
414: 03/07/29 08:58 ID:??? AAS
>>411
ドコモ
415: 03/07/31 09:22 ID:??? AAS
○ index.html
× ./index.html
ってのが前あった。
416(1): 山崎 渉 [(^^)sage] 03/08/02 02:23 ID:??? AAS
∧_∧
( ^^ )< ぬるぽ(^^)
417: ぼるじょあ ◆ySd1dMH5Gk [(^^)] 03/08/02 04:51 ID:??? AAS
AA省
418: 03/08/03 03:36 ID:e6CW3yAE(1) AAS
良スレ
あげとく
419: 03/08/15 21:51 ID:/UWm9DVh(1) AAS
PHPユーザーのためのPerl入門だれか立ってってくれ!
420: 山崎 渉 [(^^)] 03/08/15 22:25 ID:??? AAS
AA省
421(1): 03/08/28 08:28 ID:aKTRoIJT(1) AAS
PHPでOOPでもと思い、
Perl
use lib './lib/';
use Hoge;
PHP
define( 'LIB_DIR', './lib/' );
include( LIB_DIR . 'Hoge.class.php' );
とやってるんだけど、もうちっと短く書きたいなぁ。
422(1): 03/08/30 22:41 ID:AS3I0NRv(1) AAS
Perlやってた奴が、PHPを勉強するのにいい本って何?
PerlでいうところのプログラミングPerlみたいな
大御所のこれさえ買っとけばたいてい載ってるって本きぼん。
423: 03/08/30 23:14 ID:AIvW/87l(1) AAS
大人の時間ドットNET
外部リンク:2ch.otona-no-jikan.net
424: 03/08/31 13:22 ID:AiCjBA+L(1) AAS
>>422
赤マンモス
425(1): 03/09/07 01:36 ID:??? AAS
HTML::Template, DBI に替わるものがPHP覚える気になるんだけど。
プログラム中にHTML書いてあったら落ち着かない
426: 03/09/07 01:56 ID:1pDZ49hH(1) AAS
あ
427(1): 03/09/10 00:04 ID:EKqTJkq7(1) AAS
検索について教えて下さい。
perlで検索で、$find_lineの中に、$f_a_wordが含まれているかを
if (index($find_line,$f_a_word) >= 0) {
含まれている
} else {
含まれていない
}
このようにしていたのですが、phpだとどのようになりますか?
428: 427 03/09/10 00:42 ID:??? AAS
427です。eregというので出来そうです。
失礼しました。
429: 03/09/10 01:08 ID:??? AAS
>>425
これじゃだめかな?
やってみてくりくり
<?php
$find_line = "これはテソトです。";
$f_a_word = "テソト";
if(strstr($find_line,$f_a_word)){
echo '$find_lineの中に$f_a_wordは含まれています!';
}
else{
省3
430: 429です 03/09/10 01:20 ID:z4dT6uSf(1) AAS
番号ずれてますたスマソ。
427-428宛のレスです。
OpenJaneって番号ズレるのね。。。
431: 03/09/10 04:03 ID:??? AAS
strstr();ってi18n対応?
432: 03/09/10 10:21 ID:??? AAS
mb_strpos()とかじゃだめかい?
433: 03/09/11 23:16 ID:??? AAS
>>421
> PHPでOOPでもと思い、
インクルードパスの設定とOOPには何の関係もない。
‥‥‥というのはともかく、auto_prepend でググれ。
434: 03/09/20 14:31 ID:??? AAS
ここ、一昨日初めて来たんだけど良スレだね。
おかげで分からなかった事も分かりました。ありが?
435(1): 03/09/20 22:34 ID:VeIFc9WR(1) AAS
あるディレクトリの一覧をファイル名順でソートしたいと思います。
ただし、.や..や.htaccessといった、「.」で始まるファイルは対象外にしたいのです。
Perlで
---
opendir(DIR, $path);
@list = sort grep(!/^?./, readdir(DIR));
closedir(DIR);
と書くところを、phpではどのように表現すればよいのでしょうか?
436: 03/09/20 23:19 ID:??? AAS
>>391
ワロタ
437(2): とおりすがり 03/09/21 03:57 ID:??? AAS
>>435
自信ないが
$dh = opendir($path);
while ($tmp = readdir($dh)) $filename[] = $tmp;
$filename = preg_grep("/^[^\.]/", $filename);
sort($filename);
closedir($dh);
438(1): 03/09/21 19:51 ID:??? AAS
natsort は?
439(1): 03/09/22 04:27 ID:PmE0lLf0(1) AAS
>>437-438
なるほど。このコード実行してないんであれですが、
preg_grep する前に $filename[] = $tmp しちゃうと、
配列$filename内には「.」や「..」が残りそうな雰囲気が…違ったらごめん。
こんな感じにしてみました。
---
if( false !== ($handle = opendir($query_path)) ){ //ディレクトリが開けるなら
while( $file = readdir($handle) ){
if( preg_match ("/^?./", $file) ){
$files[] = $file;
省11
440: 03/09/22 05:52 ID:??? AAS
>437のでOKでは。>439は正規表現が意味不明になってるよ。
正規表現が分からない時はこんなのもアリかな。
while ( $entry = readdir($dh ) {
if ( substr($entry, 0, 1) != '.' )
$files[] = $entry;
}
外部リンク:jp.php.net
441: 03/09/22 06:08 ID:??? AAS
ああ全角か。スマソ。
442: 03/09/22 11:22 ID:??? AAS
全角でもオレには意味不明なんだが・・・
443(2): 03/09/22 16:10 ID:??? AAS
分からなかったら聞きましょうね♪
444: 03/09/22 16:36 ID:??? AAS
>>443が一番意味不明だな
445(4): 03/09/25 23:55 ID:??? AAS
perlのflock関数だったらさんざん使ったことあるんですが、
perlの場合のflock関数と比較して、
phpのflock関数を使うときの注意点って、特になんか、ありますか?
(ウェブサーバは、Apacheという前提です)
446: 445 03/09/28 00:48 ID:lxnHIT50(1) AAS
どなたかお答えくださいませ
447(1): 03/09/28 02:01 ID:??? AAS
lockはlock専用スレがありまっせ。
448(1): 03/09/28 02:26 ID:??? AAS
>>445
にたようなもんじゃないのかな?
たしか、PHPマニュアルにもflock関数は全ての環境で使えるもんじゃ
ないみたいなこと書いてあったし、
ネットワークファイルシステムに対応してないけりゃ、無理だろうし。
ちなみに、うぇぶさばは関係ないですぞ。
449: 445 03/09/28 03:46 ID:??? AAS
>>447
ども。のぞいてきます。
>>448
そうですね。
よく考えりゃ、どっちもOSのflockを呼び出してるってことだから、
特段変わることはないか。。。
>ちなみに、うぇぶさばは関係ないですぞ。
いや、マニュアル
外部リンク[php]:www.php.net
に、
省7
450(1): 03/09/28 09:23 ID:??? AAS
?
451: 445 03/09/28 22:34 ID:jyRnC+If(1) AAS
>>450
あれ、なんかとぼけたこと自分言ってました?
ご指摘きぼんぬ
452: 03/09/29 10:34 ID:??? AAS
通りがかりだが
あまり気にする事は無いかと
マルチスレッド型を利用している場合、別々に動作している
phpは同一プロセス(の、別スレッド)で動作している事になるので
プロセス単位で排他をかけるflock()は排他の目的には使えない
ということで、HTTPdとphpの組み合わせによる、というのは正しいかも
453: 03/10/07 22:48 ID:??? AAS
保守新党
454(2): 03/10/07 23:44 ID:??? AAS
$str =~ s/◆/◇/g;
みたいなマルチバイト文字列の置換をPHPでやるにはどうしたらいいんでしょうか。
mb_ereg_replaceはまだ実験段階らしいのであまり乗り気ではなく。
455(1): 03/10/08 00:11 ID:??? AAS
>>454
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を
省1
456: 454 03/10/08 00:30 ID:??? AAS
>>455
詳細なレスありがとうございます。
試しにpreg_replaceを使った時えらく文字化けしたのでなんでだろと疑問だったんですがこれで解決しました。
一応マルチバイト文字列関数用にphp.iniの設定は書き変えてあるので、
mb_ereg_replaceを使っても将来的に問題ないということならこれでいこうかなと思います。
457: 03/10/18 23:15 ID:??? AAS
配列をpackする時ってどうすんの?
他にも$a,$b,@c,$d,…と並べて@cの内容が展開されるようにしたい時とか.
458: 03/10/27 17:51 ID:??? AAS
既出かもしれませんが、
外部リンク[htm]:www.din.or.jp
をPHPにコーディングしなおしたサイトを誰かしりません?
無いかなー。
459(1): 03/10/28 18:22 ID:??? AAS
$a="abcdABCD";
$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()で正規表現が使えないようなのですが
何か良い方法はないですか。
460: 03/10/29 23:14 ID:dIX7j6Ca(1) AAS
perlだと、csvファイルに対してSQL文を投げられる、SQL.pmっていうのがあるんですが、
phpでそういうモジュールってないでしょうか?
(いやぁ、ほんとはDB使いたいんですけどね。。。わけあってつかえず)
461: 03/11/01 14:03 ID:5TPcc+Om(1) AAS
連休中にphp勉強したいぞーage
462: 03/11/01 14:49 ID:??? AAS
>>459
泥臭いけど・・
$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でいけるよね
463(2): 03/11/03 00:41 ID:4CVQMxAy(1) AAS
perlでいうところの、
print qq|
$hoge
<hr>
<a href="外部リンク:www.yahoo.com"></a>
|;
みたいの、phpでないでしょうか?
要は、変数展開もされて、”もエスケープする必要がないように書きたいのですが・・・
464: 03/11/03 00:44 ID:??? AAS
$a =~ tr/[a-z][A-Z]/[A-Z][a-z]/;
なんか無駄がないか?
465(1): 03/11/04 00:00 ID:??? AAS
>>463
ヒアドキュメントじゃだめですか?
466(2): 03/11/07 15:11 ID:GoKF/NUR(1) AAS
$a = 2;
switch($a) {
case "1" : global $b = "one";
case "2" : global $b = "two";
case "3" : global $b = "three";
}
echo $a." -> ".$b;
みたいなことをやりたいのですが、switch文では無理ですか?
if,elseif...なら可能なのですが…
467(1): 03/11/07 15:40 ID:??? AAS
>>466
それを実行すると1〜3のどれを$aに入れても$bが"three"になっちゃう
各分岐のお尻にbreak;付けましょうね
switch($a) {
case "1" : $b = "one"; break;
case "2" : $b = "two"; break;
case "3" : $b = "three"; break;
}
468(1): 03/11/07 15:43 ID:??? AAS
>>466
よく嫁
外部リンク[php]:www.php.net
469: 03/11/07 15:59 ID:??? AAS
>>467-468
ありがとう。自分、厨すぎました。
470: 463 03/11/12 04:51 ID:FrBzA+Qu(1) AAS
>>465
ありがとうございます。
そういえば、php4からヒアドキュメント使えるようになったんですよね。
(php3の知識はあっても、4の知識はあまりないもんで)
ヒアドキュメントで逝ってみます。
ただ、print qq|ほげー|;の手軽さが、なれてしまって、ラクなんですけどね。。。
ともかく、ありがとうございました。
471(1): 03/11/12 05:09 ID:??? AAS
my $xやvar xみたいな変数の宣言をする方法はないのでしょうか?
472: 03/11/12 06:00 ID:??? AAS
>>471
↓このへんわかりやすいんちゃう?
外部リンク[php]:itbtech.itboost.co.jp
<引用>
PHP の変数は宣言がありません。
また、明示的に型の指定をしてやる必要もありません。
この辺は Perl と同じです。
必要に応じてキャスト(相当のこと)を行うことはできます。
</引用>
473(2): 03/11/12 17:05 ID:??? AAS
Perlで$a |= "default a";
という書き方を多用していたのですが、
PHPでは$a = !isset($a) ? "default a" : $a;
でよろしいのでしょうか?
474(1): 03/11/12 20:14 ID:??? AAS
$a ||= "default a";
なら、
$a || ($a = "default a");
$a or $a = "default a";
とか。
$a |= "default a";
はそのままで通る。
(perl/PHP共に期待したものではないと思うけど)
475(1): 473 03/11/12 21:19 ID:??? AAS
>>474
すみません、先ほどは$a ||= "default a";
のことを言っておりました。
で、$a || ($a = "default a");
ですと、$aが未定義の場合、undefined errorが出てしまいます。
(当方error_reporting = ALLにしています)
476: 03/11/12 21:56 ID:??? AAS
>>475
isset($a) || ($a = "default a");
これでどう?
厳密にはこうだろうけど、
(isset($a) && $a) || ($a = "default a");
長すぎ。
# PHP的には、先にデフォルトを設定するものだと思ってた。
# PHPのエロイ人plz。
上下前次1-新書関写板覧索設栞歴
あと 125 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.028s