探検


【待望】PerlユーザのためのPHP入門

237俺様
垢版 |
03/03/11 11:47ID:+7fowk1S
>>235
フォローサンクス。

あと、
; cgi.force_redirect = 1
はこのように変えたほうがいい。
cgi.force_redirect = 0

ただ、PHP4.3.0はこの挙動がおかしくなるバグがあるらしいので注意。
238俺様死ね
垢版 |
03/03/11 11:49ID:???
>>237
CGIとして使うなら必須だな。
239俺様
垢版 |
03/03/11 11:51ID:+7fowk1S
後はこれだ。

extension_dir = ""

きちんとextensionsディレクトリをさすようにしておこう。
extension_dir = "C:/php/extensions"

240俺様死ね
垢版 |
03/03/11 11:51ID:???
>>239
じゃないとexpatとかmbstringが使えないからな。重要だ。
2412
垢版 |
03/03/11 11:56ID:138sEgV0
何気に息が合ってそうなのが面白い。
がんがれ。
242俺様
垢版 |
03/03/11 12:03ID:+7fowk1S
ああ、あとそのディレクトリをきちんと設定しても
一部のDLLは使えるようになっていない。
Windows使いなら

;Windows Extensions
;Note that MySQL and ODBC support is now built in, so no dll is needed for it.
;
;extension=php_bz2.dll
;extension=php_cpdf.dll
・・・

使いたいdllの先頭の;を外す必要がある。

具体的に各鯖でどうなってるかはphpinfo()読めば大体わかるでしょう。
243俺様
垢版 |
03/03/11 12:05ID:+7fowk1S
まあ、重要な設定はこんなもんか?
後は上の日本語訳や
マニュアルにもけっこう説明がしてあるはずだから
それを読んでクレイ。
244nobodyさん
垢版 |
03/03/11 12:32ID:???
register_globals対策。

php3 -> php4で一番困るのが
register_globals

で、Sourceを手っ取りばやく移植するにはSourceの先頭で

$hoge = $_POST["hoge"];

ってな感じにする。
245俺様死ね
垢版 |
03/03/11 12:34ID:???
>>244
って言うか配列を変数に展開する関数みたいなの無かったっけ?
Perlだったっけか?
246nobodyさん
垢版 |
03/03/11 12:58ID:???
何だよここ、良スレ過ぎ!
回答ありがとう。

>>233
ググりかたが甘かったみたい。サンクスコ。
がんがってみます。
247nobodyさん
垢版 |
03/03/11 13:09ID:???
extract
248俺様
垢版 |
03/03/11 13:21ID:Aj/riikG
レッツPHPより引用

>■修正の仕方
>以前のスクリプトを、PHP4.1.0以降に対応させるには、
>以下の文を、最初の<?以降に挿入すると、暫定的に動作するかと思われます。
>extract($_GET);
>extract($_POST);
>extract($_COOKIE);
>extract($_SERVER);

>extract($_SESSION);←セッションを使う場合

>未確認なので動作は保証しません。extractは配列を変数に展開するための関数です($_GET[f]=2002なら$fに2002が入る)
249nobodyさん
垢版 |
03/03/12 22:56ID:???
phpをcgiとして使用した場合は

・Perl/CGIと比較して処理速度の高速化
・サーバー負荷の低減

これらのメリットは無くなるということですか?
250俺様死ね
垢版 |
03/03/13 11:13ID:???
>>249
そだね。CGIとしてPerlやCを動かすのと状況は同じ。
それでも俺的にはメリットは余りあるけど。
後、マルチすんなボケ。
251俺様
垢版 |
03/03/13 11:51ID:???
今日はいよいよDBについて書こう。ようやく使い方がわかってきたので。
PostgreでもMyでも使えるようにPearを用います。

対応DB
Interbase
Mini-SQL
Microsoft SQL Server
MySQL
Oracle 8 (OCI)
ODBC
PostgreSQL
Sybase

252俺様
垢版 |
03/03/13 11:59ID:???
まず準備としてphp.iniの設定が必要だ。

この3つを参照。
>>236
>>239
>>242

>>239>>242はMySQLのみの場合は要らないかな。
例えばPostgreSQLを使いたければ
;extension=php_pgsql.dll

extension=php_pgsql.dll
ってする必要がある。
253俺様
垢版 |
03/03/13 12:09ID:???
MySQLのみインストール方法も書いておこう。

http://www.mysql.com/downloads/
ここからバージョンを選んで(勇気ない俺は4ではなく3.23)
Windows downloadsってのを落とす。
で、seteupを実行してnext連打でOK(一応要確認)。

インストールしたらc\:windows辺りにmy.iniってファイルが出来ていると思うので
それを開いてこれを追加。

[mysqld]
default-character-set=sjis

以上で完了だ。

PostgreSQLはcygwinを入れたりアカウント作ったりと面倒なので各自で調べてくれ。
何とかインストールできたけど数時間掛かった(汗
254俺様
垢版 |
03/03/13 12:11ID:???
ああ、後winmysqladmin.exeってのも
一度実行してユーザー名とパスを決めるように。
外部に公開しない場合はキャンセルでも良いでしょう。
255俺様
垢版 |
03/03/13 12:17ID:???
PHPにはいる前に単独での動作確認もしておきましょう。
DOSプロンプトで

C:\>mysql\bin\mysql
で、
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 50 to server version: 3.23.55-nt

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

こんなふうになったら成功だ。
256俺様
垢版 |
03/03/13 12:24ID:???
Pearはここを参考。
http://pear.php.net/manual/ja/

調べたところによるとWindows用PHP4.3以降では
標準で付かなくなってしまったらしいので
上を参考に落としておきましょう。

257俺様
垢版 |
03/03/13 12:25ID:???
もちろん4.2以前から使ってた人は
最初からPearも使用できます。
258俺様
垢版 |
03/03/13 12:30ID:???
というか調べてるうちに(・∀・)イイ!サイト見つけたな。
これ見れば俺様の説明なんぞ用なしかも。
http://tsuttayo.sytes.net/mysql/index.html

これ見てphpMyAdminとかも入れておくと良い。
ブラウザからアクセスできるのでレンタル鯖などでも手軽に使えるのが特徴。
259山崎渉
垢版 |
03/03/13 17:01ID:???
(^^)
260nobodyさん
垢版 |
03/03/15 21:28ID:???
age
261nobodyさん
垢版 |
03/03/15 22:18ID:???
MySQL入れました。
最初、エラーが出て焦りました。
mysqladminいいかも。
262nobodyさん
垢版 |
03/03/19 23:10ID:???
つづきまだー
263俺様
垢版 |
03/03/19 23:51ID:???
>>262
何の話題がいい?
語るべきことは大体語っちゃったから
もう全てのPerlスクリプトを移植できるはずだ。
264nobodyさん
垢版 |
03/03/20 01:11ID:???
実践編が欲しいな。

なんかのコピペジェネレータを作るとか。

てかフォームを表示して受け取ってとかやってるとすんげー
HTMLとPHPのコードが入り乱れて汚くなっちゃうんだけど、どうすりゃいいの?
265nobodyさん
垢版 |
03/03/20 15:43ID:???
上でデータを作って下で表示させりゃいい。
<?

//極手抜き
$hoge = $_POST["hoge"];

?>
<HTML>
<H1><? print $hoge; ?></H1>
</HTML>

とか。
266nobodyさん
垢版 |
03/03/20 16:41ID:???
俺様殿江。ファイルとディレクトリの扱い方について解説して下さい。
267nobodyさん
垢版 |
03/03/20 16:59ID:???
Perl の Taint モードみたいのって、PHP にありますか?
268nobodyさん
垢版 |
03/03/20 19:10ID:???
Perlのexitや__END__みたいなヤシはありますか?
269nobodyさん
垢版 |
03/03/20 19:39ID:???
$fh = @fopen($file,"w");
の@はperlの何に相当するんですか?単にfopenじゃイクナイの?
270nobodyさん
垢版 |
03/03/20 20:28ID:???
>>269
@をつけると、エラー出力を抑止する。
つけなくてもいいけど、その場合はfopenに失敗したときにエラーがブラウザに返される。
271nobodyさん
垢版 |
03/03/20 21:50ID:???
>>270
ありがd。
それじゃ代わりにperlみたいに
$fh = fopen($file,"w") or die("しぼんぬ");
ってやってもイイのかな。
272nobodyさん
垢版 |
03/03/20 22:09ID:???
>>271
いやだからそーすると、しぼんぬの前にエラーメッセージが出てしまう。

$fh = @foepn($file, "w");
if(!$fh){
 die("しぼんぬ");
}
273nobodyさん
垢版 |
03/03/20 22:15ID:???
>>272
なるほど。ありがdd
274nobodyさん
垢版 |
03/03/21 01:11ID:???
>>268
exitはexit()
__END__や__DATA__はないんじゃないかな
275nobodyさん
垢版 |
03/03/21 19:33ID:???
>>274
さんくす
276nobodyさん
垢版 |
03/03/25 14:18ID:CVcoKJbJ
メモ。

$a = $b || $c;

perl では、$b が false の場合は $c が $a に代入される。
php の場合は、 $a には $b || $c の bool値(0 or 1)が入る。
277nobodyさん
垢版 |
03/03/25 16:37ID:???
>>276
それJavaScriptでもできたなぁ。
278nobodyさん
垢版 |
03/03/26 06:38ID:l1CVp/e0
ISPによっては、PEARとかの拡張モジュールが入ってない
ところがあるだろうけど、自分で使えるように拡張できるの
ですか?
例えばPerlでいえば、モジュールを自分のディレクトリに入れ
ておけばいいけど、そーゆーことはPHPでできますか?
279nobodyさん
垢版 |
03/03/26 09:07ID:???
>>277
ホントだ。
$foo ||= 'bar'; とか…は流石に無理かな。
ちなみに、python でも or を使って同様のことが出来ました。

>>278
出来るよ。ただし、共有のサーバーにインストールする場合は、
いままで自分のHOMEのライブラリを読んでいたのが、
ISPがPEARをインストールして突然ライブラリのバージョンが変わったりとか
…ありそうな話なので気をつけて。
280nobodyさん
垢版 |
03/03/27 05:59ID:p+/0Vcby
>>279
できるのですか。
PHPは、PHP.INIにいろいろな基本設定を書いたりするようなので、
通常ISPでCGIやると、それを編集するのは許されないだろうから
無理だとおもっていました。

PHP.INI に記述された設定は、スクリプト内で変更できるのですか?
281nobodyさん
垢版 |
03/03/27 08:34ID:illH7cXT
> PHP.INI に記述された設定は、スクリプト内で変更できるのですか?
ini_set -- 設定オプションの値を設定する
string ini_set ( string varname, string newvalue)
だけど、全ての設定が変更可能ではなく、pathの設定とかは確か無理だったかな。

include_pathの設定は、カレント・ディレクトリに
<?php require_once '/full/path/of/PEAR.php'; ?>
とか、リンクを PEAR.phpと言う名前で置くことで対応。
282nobodyさん
垢版 |
03/03/27 10:50ID:???
Perl の
$ perl -wcT hoge.pl
に相当する PHP の簡単な文法チェック方法って無い?
283nobodyさん
垢版 |
03/03/27 11:08ID:???
質問です。

例えば名前とトリップを分離する場合、Perl なら
if ($FROM =~ /(.*)(\#\S+)/) {
  $name = $1;
  $trip = $2;
}
と、$1, $2 使って楽できるんだけど、
PHP で↑の $1, $2 みたいなモノに相当するのって何ですか?
284nobodyさん
垢版 |
03/03/27 11:16ID:???
>>283
PerlならsplitにLIMITを指定して使い、分割すると思うが・・・・
PHPでもsplitでしょ。
285nobodyさん
垢版 |
03/03/27 11:21ID:???
>>284
あー例が悪かったですね。丁度身近にあったので出しちゃいました。
要はマッチした部分を簡単に再利用できないか?という質問です。
つまり、Perl の $1, $2 に相当するモノって何だろう、ということです。
286nobodyさん
垢版 |
03/03/27 11:25ID:???
\\1,\\2
287nobodyさん
垢版 |
03/03/27 12:02ID:???
>>286
\\1, \\2 ってどう使うのでしょう?
マッチングの後に、print \\1; とかやったらエラーになりました…。

再度、google 様に問い合わせたら、
if (ereg("(.*)(\#[^ \t\n\r\f]+)", $FROM, $regs)) {
  $name = $regs[1];
  $trip = $regs[2];
}
でいいみたいですね。調査が甘くてすみません。
288nobodyさん
垢版 |
03/03/27 12:52ID:???
自己レスです。
\\1, \\2 は
$url = ereg_replace("(http://ime.nu/)(.*)", "http://\\2", $url);
こうでしたか。
レスありがとうございました。>>286
289nobodyさん
垢版 |
03/03/27 14:34ID:???
magic quotes gpc なるヤツでここしばらく悩んでた。
勝手にエスケープされるなんて、まるで想像もつかなかった。
Perl → PHP への道、俺にとってはかなり遠い。でもガンガルsage

ところで tr/ab/cd/ って PHP ではどーやんの?
290イ奄様
垢版 |
03/03/27 16:23ID:???
>>289
$hoge=strtr($hoge, "ab", "cd");
291nobodyさん
垢版 |
03/03/27 16:32ID:???
>>290
サンクスコ!!
292nobodyさん
垢版 |
03/03/28 04:03ID:???
俺様ありがd

C/C++とPerlとVBとPascalとASM位しか知らなかったのだが、
よーやくPHPに手が伸びそうでつ。
293nobodyさん
垢版 |
03/03/28 06:56ID:NA3CJ6rA
>>281
教えていただき、ありがとう。

システム側で設定したPHP動作設定値を変えられないとなると、
ISPで利用する場合、大きな壁になりそうですね。

例えばアップロードファイルのサイズは2Mまでだから、それを超え
るものをアップさせる仕様に対応できない。
PHPでWebアプリ組んでも、いつかはユーザ要件に対応できずに全部
Perl等に書き直す時が来るかも、ということでしょうか?
294nobodyさん
垢版 |
03/03/28 08:06ID:56FSUIhD
>>293
>>293
WEB用途にPHPを使うなら、.htaccessでphp.iniの設定を上書きする方法があります。
アップロードサイズの制限を変更するには、
upload_max_filesize と post_max_size の値を上げることで対応出来るかな。

PEAR のインストールは、多分 include_path に PEAR のpathを追加するだけでOKだと思う。
295nobodyさん
垢版 |
03/03/28 18:00ID:56FSUIhD
既出だけど、三項演算子のネストではまった事あったのでそのときの教訓。
Perl と PHP では、演算子の優先順位に結構違いがあるので
一度目を通しておこう。

$r =
 ($foo < $bar) ? "LESS" :
 ($foo > $bar) ? "GREATER" :
 "EQUAL";
296nobodyさん
垢版 |
03/03/28 18:49ID:56FSUIhD
>> 282
php -l script.php

-w は、error_reporting(E_ALL); に相当?(かな?)
Taint モードについては、私も前に探したことあるけどPHPには見つけられなかった。
汚染チェックは、自主的にそういう習慣を身につけるしかないのかな。
297nobodyさん
垢版 |
03/03/28 19:00ID:???
@sortdata = sort { (split(/\,/,$a))[2] <=> (split(/\,/,$b))[2] } @hogehoge;
Perlでいう↑みたいなことはPHPではどうやればできますか?
298nobodyさん
垢版 |
03/03/28 19:19ID:???
>>296
おぉ、回答ありがとう。
299nobodyさん
垢版 |
03/03/28 20:35ID:/IEo7+Sn


      ∧_∧          _ _     .'  , .. .  ∧_∧
     ( ´_ゝ`)   _ .- ― .= ̄  ̄`:, .∴ '     ( >>297
    /     '' ̄      __――=', ・,‘ r⌒> _/ /
   / /\   / ̄\-―  ̄ ̄   ̄"'" .   ’ | y'⌒  ⌒i
 _| ̄ ̄ \ /  ヽ \_              |  /  ノ |
 \ ̄ ̄ ̄ ̄ ̄ ̄ \__)              , ー'  /´ヾ_ノ
  ||\            \          / ,  ノ
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄          / / /
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||          / / ,'
  ||  ||              ||        /  /|  |
                       !、_/ /   〉
                           |_/

300nobodyさん
垢版 |
03/03/29 13:38ID:CQcFf7wk
>>294
回答ありがとう。
301nobodyさん
垢版 |
03/03/29 18:28ID:???
%hash = map { $_ => 1 } @list;
とか、
@hash{@list} = (1) x @list;
Perlでいう↑みたいなことはPHPではどうやればできますか?
302phpformperl
垢版 |
03/03/29 20:26ID:kc16+nkl
手本になるようなきれいなPHPコードどれかしってまっか?
やっぱxoopsでっか?
303nobodyさん
垢版 |
03/03/29 22:26ID:???
>>302
XOOPSを積極的に弄っている身としては残念なことだが、
決してきれいなコードではないし、流れを追うのも面倒。
過去のしがらみとかあるので大きく変えられないことや、
複数人で作っているが、細かい部分で明確な規定がある訳ではないので
コア、標準モジュール、果ては標準外の勝手モジュールまで入れると
コードの統一はされていないと思っていい。
フレームワークとしては非常に緩いのでモジュールのコードまで
含めるのは本来フェアではないのだが。

あとJpGraphもコードはちょっとね。便利に使わしてもらってますけど。
304phpfromperl
垢版 |
03/03/30 13:14ID:fNA6Ajxw
>>303
サンクス
とりあえず手本にさせてもらいます。
いろいろ仕掛けをつけやすそうだし。
ほかよりましなようなので。
305nobodyさん
垢版 |
03/03/30 21:07ID:???
sub test {
 my $num = 0;

 return sub {
  $num += shift if @_ == 1;
  return $num;
 }
}
Perlでいう↑みたいなことはPHPではどうやればできますか?
306nobodyさん
垢版 |
03/03/31 00:21ID:???
>297,301,305
PHPでFP(関数プログラミング)でもやりたいのかな?

lambda 代わりに create_function,
array_(map|reduce|filter) 後、array_walk, usort。
で、大体御希望の事は出来ると思います。

ただし、…前にも書いたけど &&, || が倫理値を返したり、
…かといって三項演算子を使おうとすると今度は演算子の優先順位が違ったり、
他にも変数のスコープ等、細かな違いがいろいろ有るので、
PHPでのFPはあまりお勧めしない。素直にパラダイムシフトした方が良いと思う。

例えば >305 だと、

function test(){
 $num=0;
return create_function('$x','global $num;$num+=$x;return $num;');
}

$num がグローバルに置かれるので、これでは要件を満たせていない。
カプセル化したいのなら、クラスを作る。

class Test{
 var $num;
 function Test(){ $this->num = 0; }
 function add($n){ $this->num += $n; }
 function getNum(){ return $this->num; }
}
307nobodyさん
垢版 |
03/03/31 00:21ID:D273gBu9
# 突っ込まれるかもしれないので、一応補足。
現行のバージョンのPHPでは、すべてpublicメンバになるので、
$numへ直接アクセスすることが可能。(Perlのオブジェクトでも同様だよね)
現状(PHP4)では、完全に隠蔽することは出来ない。…はず。(PHP暦浅いので自信なし。フォロー求)

# http://www.php.net/ZEND_CHANGES.txt を読んだところ、
# zend2 engine/PHP5? では private が使えるらしい。
308名無しさん@Emacs
垢版 |
03/03/31 17:22ID:mhlggPCn
perldoc モジュール名、perldoc -f 関数名に該当する PHP のやり方って
なんでしょうか?
309nobodyさん
垢版 |
03/03/31 18:46ID:???
php.netで検索する。
310nobodyさん
垢版 |
03/04/01 02:03ID:???
ブラウザのアドレス欄に
php.net/関数名
pear.php.net/モジュール名
311nobodyさん
垢版 |
03/04/01 18:35ID:???
倫理値w
312nobodyさん
垢版 |
03/04/01 19:21ID:???
ぷりぃず、晒さないでw
訂正 s/イ/言/
313nobodyさん <>
垢版 |
03/04/01 20:18ID:iGZ3zwAc
>310

ローカルには作れんもんでしょうか?
ADSL でも結果が出るまでの "待ち" が気になるの。
314生徒1
垢版 |
03/04/01 23:58ID:2arYjAuZ
foreach (@pairs) {
($name,$value) = split(/=/);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
&jcode'convert(*value, "sjis", "", "z");
$value =~ s/&/&/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/"/"/g;
$value =~ s/\r\n/<br>/g;
$value =~ s/\r/<br>/g;
$value =~ s/\n/<br>/g;
$in{$name} = $value;
}

こんなのはどうやってますか?
315nobodyさん
垢版 |
03/04/02 01:58ID:???
>>314
ネタ?
316nobodyさん
垢版 |
03/04/03 16:31ID:???
> 倫理値w
右か左を返すんだよ
317nobodyさん
垢版 |
03/04/08 14:23ID:???
PHPってx演算子ないの?
print "-" x 10;
みたいな
318nobodyさん
垢版 |
03/04/08 15:41ID:???
str_repeat()が近いよ。
319nobodyさん
垢版 |
03/04/08 22:26ID:???
perl にあって PHP にないもの。
PHP にあって perl にないもの。

…って何かないかな?
320nobodyさん
垢版 |
03/04/11 00:44ID:fBEofA1c
年寄りデザでつが,これから極めるのならPerlとPHPどっちでつか?
ただPerlと違い,初心者向けの本がPHPにないところが痛いでつが。
321nobodyさん
垢版 |
03/04/11 00:47ID:???
でつ厨にはどちらも無理でつ
322nobodyさん
垢版 |
03/04/11 03:50ID:???
”極める”のなら、Perlの方が面白い。
323nobodyさん
垢版 |
03/04/12 05:30ID:sfZex8vW
>>320
私も年寄りですが、Perl、PHPを使ってメシ食ってます。

まったくの初心者が始めるならPHPですね。
HTTPプロトコルをあまり意識する必要がないから、
ブラウザに文字を表示させるのは簡単です。
そのコードも単純明快に理解できます。

一方Perlは、ブラウザに文字を表示させるためには
表示する処理の前に、何行かのおまじないを書かな
ければいけません。
そのおまじないを理解しようとすると、初心者では到底
理解できないので「難しい」ということになるかもしれません。

PHPの本は初心者用がたくさん売られていますよ。
大丈夫です。
324nobodyさん
垢版 |
03/04/12 06:02ID:???
Perlの方が幾分ややこしい気はするね。
Perl->PHPは入りやすいらしいけど逆は結構厳しい。
ちなみに、私は後者です…。
325320
垢版 |
03/04/12 22:12ID:3Lo6Ghrc
>>323
Thanksです。
PHPだと入門書でいきなりECサイトまで行ってしまうのですが,
(チャット作成までなんとかついていっている程度)
Perlだと入門書で息切れするような。。。(とてもECサイトまでナンテ
行きませんよね?)
ただ,やはりデザなので自分一人でECサイトまではやりません。
外に頼むまでもない事を自分でやれるようにするという感じです。
(極めるという表現が不適切でした。)
データバのソートとか,Webの自動更新とか。
そのあたりでPerlとPHPはどうかな?と思ったわけです。
326nobodyさん
垢版 |
03/04/13 00:12ID:???
@array = ($query =~ /([0-9a-fA-F]{4})/g);

これをPHPで表現するとどうなるんですか?
327nobodyさん
垢版 |
03/04/13 00:12ID:???
>>323
おまじないってなんだ?CGIとして使ったときのヘッダーのことか?
328nobodyさん
垢版 |
03/04/13 00:56ID:???
>>327
print "Content-type: text/html\n\n";
だと思われ
329nobodyさん
垢版 |
03/04/13 01:06ID:???
>>328
ヘッダーじゃん。
330nobodyさん
垢版 |
03/04/13 01:12ID:???
おまじないって言ったら1;が浮かぶ
331nobodyさん
垢版 |
03/04/13 03:24ID:Ba9KZRzY
PHPって配列厄介だなぁ。
332nobodyさん
垢版 |
03/04/13 03:55ID:???
>>331
PHPの配列の何が厄介なん??? ほれいってみ。教えてあげるよ。
333nobodyさん
垢版 |
03/04/14 01:24ID:???
>>331
僕PHPはじめて1週間だけど配列はだいたい分かったので
配列ですが僕はすぐ理解できたので
331さんの厄介とこが分かれば教えてあげますよ
334nobodyさん
垢版 |
03/04/14 01:28ID:???
オレは>>333の日本語が分かりづらい
335nobodyさん
垢版 |
03/04/14 01:42ID:???
>>334
同じく
336nobodyさん
垢版 |
03/04/14 02:16ID:???
>334
禿デゥ
337nobodyさん
垢版 |
03/04/14 14:30ID:???
>>331=>>334=>>335=>>336 反応しすぎ。
ぶっちゃけ、331はバカだな。(w
338nobodyさん
垢版 |
03/04/15 16:55ID:JlWa+G1C
phpでperlでいうところのpackageの作り方教えてください。
339nobodyさん
垢版 |
03/04/15 18:07ID:???
331は、ハッシュと配列が一緒なのが気に入らないらしい。あと、
いちいちarray_*系の関数を使わないといけないのも面倒らしい。
340nobodyさん
垢版 |
03/04/15 19:26ID:1VLAH3RO
>>338
phpは名前空間を定義できない。
341山崎渉
垢版 |
03/04/17 12:01ID:???
(^^)
342山崎渉
垢版 |
03/04/18 15:30ID:???
(^^)
343山崎渉
垢版 |
03/04/20 06:02ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
344
垢版 |
03/04/27 10:50ID:7vWz7FBG
EUCの配列、文字列をSJISにするのはどういう風にやるの?
345nobodyさん
垢版 |
03/04/27 10:56ID:???
やっぱりpackageはC++でいう名前空間にあたるの?
346nobodyさん
垢版 |
03/04/27 11:36ID:aZMHQklX
見るべし!
http://zoetakami.fc2web.com/
03/04/27 12:27ID:???
http://www.yamazaki.90.kg/hankaku/hankaku07.html
http://yamazaki.90.kg/zenkaku/index.html
http://www.yamazaki.90.kg/hankaku/hankaku08.html
http://yamazaki.90.kg/hankaku/hankaku10.html
http://www.yamazaki.90.kg/hankaku/hankaku01.html
http://yamazaki.90.kg/hankaku/hankaku03.html
http://www.yamazaki.90.kg/hankaku/hankaku02.html
http://yamazaki.90.kg/hankaku/hankaku09.html
http://www.yamazaki.90.kg/hankaku/hankaku06.html
http://yamazaki.90.kg/hankaku/hankaku04.html
http://www.yamazaki.90.kg/zenkaku/index.html
http://www.yamazaki.90.kg/hankaku/hankaku05.htm
348bloom
垢版 |
03/04/27 12:29ID:3nPIuagT
http://homepage.mac.com/ayaya16/
03/04/27 17:54ID:???
http://www.atmarkit.co.jp/flinux/special/php5/php5a.html
もうひとふんばりっ!
350nobodyさん
垢版 |
03/04/28 22:57ID:3GKx/vUL
イスラエルとか言われると萎える
351nobodyさん
垢版 |
03/05/05 22:17ID:LIOD5Ueh
mb_convert_encodingが使えないサーバの場合は?
352nobodyさん
垢版 |
03/05/05 22:25ID:???
jcode.php
353nobodyさん
垢版 |
03/05/19 23:33ID:cX3VPQ/6
教えてください。
perlで言うところのwarnなんですが、
print error_log($test);
見たいな形でerrorログに$testの値を出そうと思ったのですがうまくいきませんでした。。
どなたかperlでいうところのwarn関数のPHP版を教えてください。
354nobodyさん
垢版 |
03/05/20 01:11ID:???
>>353
よくわかんないけど trigger_error とか?
355あぼーん
垢版 |
NGNG
あぼーん
356nobodyさん
垢版 |
03/05/20 02:27ID:???
まぁ、胸張れるような場所でもないしな。
357nobodyさん
垢版 |
03/05/20 07:45ID:???
その発言しているサイトがある
インターネット全体からどれだけの犯罪者を出しているんだろうね…

2chから情報を得ておきながら悪口言う人間もいることだし
放置しても平気でしょ
358nobodyさん
垢版 |
03/05/20 10:19ID:???
日本人だって
殺人とかの罪犯す奴いるじゃないか

そしたら外国人は
日本人はみんな犯罪者だと思うのか?
359山崎渉
垢版 |
03/05/22 01:59ID:???
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
360nobodyさん
垢版 |
03/05/22 12:59ID:???
open( LOCK, ">./lock/count.lock" );# ロック用のファイルを作る(※1)
flock( LOCK, 2 );# ファイルをロックする
open( COUNT, "./log/count.log" );# カウンターの値が入ったファイルを開く
$count = <COUNT>;# カウンター値を読み出す
close( COUNT );# カウンターファイルを閉じる
$count++;# カウンターを+1する
open( CTEMP, ">./log/count2.log" );# 更新したカウンタの値を別のファイルに一時的に書き出す(※2)
print CTEMP $count;
$ezcount = "";#カウントファイルの数字を絵文字に変換
for ($i = length($count) - 1; $i >= 0; $i --) {
$n = int(substr($count, $i, 1));
if ($n == 0) {
$ezcount = "<img localsrc=\"325\">" . $ezcount;
} else {
$ezcount = "<img localsrc=\"".(179+$n)."\">".$ezcount;
}
}
close( CTEMP );# 一時的に書き出したファイルを閉じる(書き込み完了)
rename( "./log/count2.log", "./log/count.log" );# 一時的に書き出したファイルを本来のファイル名にリネーム
unlink( "./lock/count.lock" );
flock( LOCK, 8 );
close( LOCK );
これをPHPにしたいのですが…だれかお願いします!
361nobodyさん
垢版 |
03/05/22 13:52ID:???
>>360
マルチおよび自分でやろうともしない。放置
362nobodyさん
垢版 |
03/05/25 01:54ID:YbAXJXvg
formから$_POST["name"]で値を受け取ったのですが、
値中の「"」と「'」がエスケープされてしまって、「\」がついています。
これは自分で取り除くしかないのでしょうか?
363nobodyさん
垢版 |
03/05/25 02:04ID:???
>>362
php.iniのmagic_なんちゃらを、off 詳細は誰かおながい
364nobodyさん
垢版 |
03/05/25 02:05ID:???
>>363
ありがと、やってみる
365362
垢版 |
03/05/25 02:32ID:???
>>363
ローカルで出来なかったので、レンタル鯖にスクリプト設置して実験したら
やっぱり同じ現象がおこりました。・゚・(ノД`)・゚・。
自分で取り除いてみます…お騒がせしました
366nobodyさん
垢版 |
03/05/25 02:38ID:???
>>362
StripSlashes
367山崎渉
垢版 |
03/05/28 17:06ID:???
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
368
垢版 |
03/05/30 22:54ID:Ey+u4zPh
ヒアドキュメントを使うと
print <<<EOF
<タグ>$a<タグ2>
EOF;
の<タグ2>が表示されないのって、どうすりゃいいの???
369イ奄様
垢版 |
03/06/02 11:34ID:EOTygtgq
>>368
print <<<EOF
<タグ>${a}<タグ2>
EOF;
370
垢版 |
03/06/02 23:18ID:9zPzvWqa
THANK!!!
371nobodyさん
垢版 |
03/06/04 00:53ID:1Jdo0O1g
jcode.phpでEUC半角カタカナをSJIS全角カタカナにしていのだが。
372nobodyさん
垢版 |
03/06/04 01:12ID:wjzhyKBb
http://homepage3.nifty.com/coco-nut/
・_・y━””
373age
垢版 |
03/06/08 17:42ID:cXeOp+rQ
age
374_
垢版 |
03/06/08 17:44ID:???
http://kame.kakiko.com/hiroyuki/hankaku_b01.html
375 
垢版 |
03/06/08 18:09ID:eRunpr9i
過去ログからのコピーです。http://natto.2ch.net/mass/kako/974/974478132.html

489 名前: 文責:名無しさん 投稿日: 2001/04/11(水) 17:25
 一般人なのに盗聴される、じゃなくて、「一般人だから盗聴される」んじゃないのかな?
 基本的にネタ集めのためにやってんなら、有名人のネタを盗むと、有名人は告発できるし、
そんなことされても当たり前だと思われるので告発しても信じてもらえる。
 そうでない人は、ここの途中の書き込みにもあったように「電波」扱いされるだけ。

 ただで、ネタを仕入れるんなら、一般人に限るでしょう。
 マスコミは自分らの無能さを恥じてほしいです。

 ちなみに私が盗聴されはじめたのは、芸能人にストーカーされ始めてからでした。
 そこからマスコミに広がって行った。
 だから余計「妄想」とか思われそう。
 友人に話したら完全に病気扱いされた。ストーカーって言葉がない時代だったしね。
 書いておいておいた小説のネタが、他人の原作でドラマ化されたときにはきれまくっ
たなあ。(一度や二度のことじゃないけど)
376age
垢版 |
03/06/13 23:55ID:nW6iX8p9
a
377nobodyさん
垢版 |
03/06/14 01:09ID:Zt1p4X90
>>371
http://www.php.net/manual/ja/function.mb-convert-kana.php
378無料動画直リン
垢版 |
03/06/14 01:10ID:K+P5CDjB
http://homepage.mac.com/norika27/
379nobodyさん
垢版 |
03/06/15 21:40ID:???
>362
http://jp.php.net/manual/ja/function.stripslashes.php
これじゃだめかい?
380nobodyさん
垢版 |
03/06/19 03:00ID:yyOItGJy
381nobodyさん
垢版 |
03/06/19 19:42ID:???
HTMLとPHPコードを分離したいんだけど、
何か方法ありますか?perlでいうとこの
HTML::Template みたいなのとか。
382nobodyさん
垢版 |
03/06/20 00:47ID:???
>>381
【PHP】Smarty【Template】
http://pc2.2ch.net/test/read.cgi/php/1047225437/
383381
垢版 |
03/06/20 01:29ID:???
>>382
thx!
384nobodyさん
垢版 |
03/07/03 21:53ID:???
perlのdefinedみたいな奴
変数の定義がされているかどうかの
チェックはどうやったらいいですか?

385384
垢版 |
03/07/05 12:49ID:???
同名関数ありますた。スマソ
386nobodyさん
垢版 |
03/07/05 13:00ID:???
でも定数のみですた。
もうだめぽ ..
387nobodyさん
垢版 |
03/07/05 13:14ID:???
isset ですた。
388山崎 渉
垢版 |
03/07/15 11:11ID:???

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
389nobodyさん
垢版 |
03/07/23 10:22ID:A887jOLI
PerlからPHPに入るとPHPで簡単にできることを
Perlっぽく遠回りに書いてしまうことってないですか?
逆も然り
そーゆー注意点とか教えて下さい。
390nobodyさん
垢版 |
03/07/23 13:26ID:???
Perl癖を取るためにもPHPに限らず
他の言語に興味を持つといいと思います。
391nobodyさん
垢版 |
03/07/24 01:46ID:???
もうそろそろPHPにも手を出してみるかと思ってたが、
このスレ見たらやる気なくした。やっぱC/C++にするわ。

まず第一に<?〜?>にコード書くなんて本当にキモいよ。
(JSPやASPも同じようなもんだがな)

PHPってCGI/Perlの速度に我慢できなくなった奴が、C/C++はできないから
しょうがなく使ってるんだろ?
プロはJavaとかASP使うし、素人はPerlで十分(環境も整ってる)。
速度ががまんならないならC/C++、もしくはモジュール資産を活かして
mod-perlだな。

PHPの選択はまずありえないね。
392nobodyさん
垢版 |
03/07/24 10:31ID:???
ASP使ってる時点でOutだと思うがね。
とりあえず海外見てきたら?
393nobodyさん
垢版 |
03/07/25 12:40ID:???
範囲演算子".."がないのが激しくムカツクんだが。
394_
垢版 |
03/07/25 13:14ID:???
http://homepage.mac.com/hiroyuki44/hankaku08.html
395nobodyさん
垢版 |
03/07/25 13:21ID:???
http://www.adultshoping.com/addclickport.cgi?pid=1058922748
●無料でパソコンだけで月に10万円↑稼げます!
登録完全無料!お小遣いが沢山稼げちゃいます。
月に平均10万円ほど稼げます。頑張ればもっと!
夏休みを有効に利用しましょう!
無料だから登録しないと損します〜。
396nobodyさん
垢版 |
03/07/25 13:31ID:???
>>391
珍獣みっけ。
何のためのプログラムしてるのか知りたい。
397nobodyさん
垢版 |
03/07/25 14:02ID:???
↑趣味に効率は全く必要ないそうです
398nobodyさん
垢版 |
03/07/25 22:24ID:???
>>391
おもろい
399nobodyさん
垢版 |
03/07/26 02:18ID:???
改行コードCRLFで保存したファイルを
配列で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 );
400nobodyさん
垢版 |
03/07/26 02:50ID:???
>>399
CRが付くって事は環境はWindows?
perlでいうbinmode($fp)ていう関数ないかね?

http://flex.ee.uec.ac.jp/texi/perl/perl_76.html#IDX157
401nobodyさん
垢版 |
03/07/26 03:36ID:???
>>400
バイナリモードで開く"wb"(WINのみ)
$fp = fopen( "hoge.dat" , "wb" );
とすると一応解決しますね。サンクスです。
根本的な解決になってるのかどうか微妙っす。
402nobodyさん
垢版 |
03/07/26 04:30ID:???
>>401
テキストモードで開くと
fputs などの出力処理中に \n が見つかった際に
内部で \r\n に置き換えるという小さな親切を行ってくれます

バイナリモードならそれをやらないので解決だと思われまする
403402
垢版 |
03/07/26 04:33ID:???
うーん、でも読み込む際も CRLF⇒LF 変換やってくれたような?
まあいいや。たぶん大丈夫。
404nobodyさん
垢版 |
03/07/26 16:31ID:???
>内部で \r\n に置き換えるという小さな親切を行ってくれます
なるほそ。小さな親切ですね・・・
405nobodyさん
垢版 |
03/07/28 20:34ID:MPvwsvte
perlで、書き込み処理を終えたあとに他のページに飛ばすとき、
print "Location:./santa.cgi?$no\n\n";
exit;
などとしていましたが、phpでこれと同等なのはどういうコマンドでしょうか?
コマンド名だけでも良いので助言お願いします。
406nobodyさん
垢版 |
03/07/28 20:42ID:???
>>405
マニュアルのHTTP関連の関数を見るべし。
407nobodyさん
垢版 |
03/07/29 00:10ID:???
header("location: ./santa.php?no");
でどうでしょう。
408nobodyさん
垢版 |
03/07/29 00:53ID:???
locationは絶対パスで指定しなよ…
409nobodyさん
垢版 |
03/07/29 01:11ID:???
どっちでも同じでしょ。
相対だと不都合でるブラウザってあるの?
410nobodyさん
垢版 |
03/07/29 01:19ID:???
あるよ。
携帯とか。
411nobodyさん
垢版 |
03/07/29 01:59ID:???
どこの携帯?
412_
垢版 |
03/07/29 02:02ID:???
http://homepage.mac.com/hiroyuki44/
413nobodyさん
垢版 |
03/07/29 04:06ID:???
>>409
RFC嫁
414nobodyさん
垢版 |
03/07/29 08:58ID:???
>>411
ドコモ
415nobodyさん
垢版 |
03/07/31 09:22ID:???
○ index.html
× ./index.html
ってのが前あった。
416山崎 渉
垢版 |
03/08/02 02:23ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
03/08/02 04:51ID:???
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ
418nobodyさん
垢版 |
03/08/03 03:36ID:e6CW3yAE
良スレ
あげとく
419nobodyさん
垢版 |
03/08/15 21:51ID:/UWm9DVh
PHPユーザーのためのPerl入門だれか立ってってくれ!
420山崎 渉
垢版 |
03/08/15 22:25ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
421nobodyさん
垢版 |
03/08/28 08:28ID:aKTRoIJT
PHPでOOPでもと思い、

Perl
use lib './lib/';
use Hoge;

PHP
define( 'LIB_DIR', './lib/' );
include( LIB_DIR . 'Hoge.class.php' );

とやってるんだけど、もうちっと短く書きたいなぁ。
422nobodyさん
垢版 |
03/08/30 22:41ID:AS3I0NRv
Perlやってた奴が、PHPを勉強するのにいい本って何?
PerlでいうところのプログラミングPerlみたいな
大御所のこれさえ買っとけばたいてい載ってるって本きぼん。
423nobodyさん
垢版 |
03/08/30 23:14ID:AIvW/87l

大人の時間ドットNET
http://2ch.otona-no-jikan.net

424nobodyさん
垢版 |
03/08/31 13:22ID:AiCjBA+L
>>422
赤マンモス
425nobodyさん
垢版 |
03/09/07 01:36ID:???
HTML::Template, DBI に替わるものがPHP覚える気になるんだけど。
プログラム中にHTML書いてあったら落ち着かない
426nobodyさん
垢版 |
03/09/07 01:56ID:1pDZ49hH
427nobodyさん
垢版 |
03/09/10 00:04ID:EKqTJkq7
検索について教えて下さい。
perlで検索で、$find_lineの中に、$f_a_wordが含まれているかを
if (index($find_line,$f_a_word) >= 0) {
 含まれている
} else {
 含まれていない
}
このようにしていたのですが、phpだとどのようになりますか?
428427
垢版 |
03/09/10 00:42ID:???
427です。eregというので出来そうです。
失礼しました。
429nobodyさん
垢版 |
03/09/10 01:08ID:???
>>425
これじゃだめかな?
やってみてくりくり


<?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は含まれていません!';
}

?>
430429です
垢版 |
03/09/10 01:20ID:z4dT6uSf
番号ずれてますたスマソ。
427-428宛のレスです。

OpenJaneって番号ズレるのね。。。
431 
垢版 |
03/09/10 04:03ID:???
strstr();ってi18n対応?
432nobodyさん
垢版 |
03/09/10 10:21ID:???
mb_strpos()とかじゃだめかい?
433nobodyさん
垢版 |
03/09/11 23:16ID:???
>>421
> PHPでOOPでもと思い、

インクルードパスの設定とOOPには何の関係もない。
‥‥‥というのはともかく、auto_prepend でググれ。
434nobodyさん
垢版 |
03/09/20 14:31ID:???
ここ、一昨日初めて来たんだけど良スレだね。
おかげで分からなかった事も分かりました。ありがd
435nobodyさん
垢版 |
03/09/20 22:34ID:VeIFc9WR
あるディレクトリの一覧をファイル名順でソートしたいと思います。
ただし、.や..や.htaccessといった、「.」で始まるファイルは対象外にしたいのです。

Perlで
---
opendir(DIR, $path);
@list = sort grep(!/^?./, readdir(DIR));
closedir(DIR);

と書くところを、phpではどのように表現すればよいのでしょうか?
436nobodyさん
垢版 |
03/09/20 23:19ID:???
>>391
ワロタ
03/09/21 03:57ID:???
>>435
自信ないが
$dh = opendir($path);
while ($tmp = readdir($dh)) $filename[] = $tmp;
$filename = preg_grep("/^[^\.]/", $filename);
sort($filename);
closedir($dh);
438nobodyさん
垢版 |
03/09/21 19:51ID:???
natsort は?
439nobodyさん
垢版 |
03/09/22 04:27ID:PmE0lLf0
>>437-438
なるほど。このコード実行してないんであれですが、
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
440 
垢版 |
03/09/22 05:52ID:???
>437のでOKでは。>439は正規表現が意味不明になってるよ。

正規表現が分からない時はこんなのもアリかな。

while ( $entry = readdir($dh ) {
  if ( substr($entry, 0, 1) != '.' )
    $files[] = $entry;
}

http://jp.php.net/substr
441 
垢版 |
03/09/22 06:08ID:???
ああ全角か。スマソ。
442nobodyさん
垢版 |
03/09/22 11:22ID:???
全角でもオレには意味不明なんだが・・・
443nobodyさん
垢版 |
03/09/22 16:10ID:???
分からなかったら聞きましょうね♪
444nobodyさん
垢版 |
03/09/22 16:36ID:???
>>443が一番意味不明だな
445nobodyさん
垢版 |
03/09/25 23:55ID:???
perlのflock関数だったらさんざん使ったことあるんですが、
perlの場合のflock関数と比較して、
phpのflock関数を使うときの注意点って、特になんか、ありますか?

(ウェブサーバは、Apacheという前提です)
446445
垢版 |
03/09/28 00:48ID:lxnHIT50
どなたかお答えくださいませ
447nobodyさん
垢版 |
03/09/28 02:01ID:???
lockはlock専用スレがありまっせ。
448nobodyさん
垢版 |
03/09/28 02:26ID:???
>>445
にたようなもんじゃないのかな?
たしか、PHPマニュアルにもflock関数は全ての環境で使えるもんじゃ
ないみたいなこと書いてあったし、
ネットワークファイルシステムに対応してないけりゃ、無理だろうし。
ちなみに、うぇぶさばは関係ないですぞ。
449445
垢版 |
03/09/28 03:46ID:???
>>447
ども。のぞいてきます。

>>448
そうですね。
よく考えりゃ、どっちもOSのflockを呼び出してるってことだから、
特段変わることはないか。。。

>ちなみに、うぇぶさばは関係ないですぞ。
いや、マニュアル
http://www.php.net/manual/ja/function.flock.php
に、
「いくつかのオーペレーティングシステムでflock() はプロセスレベルで実装されています。
ISAPIのようなマルチスレッド 型のサーバーAPIを使用している場合、
同じサーバーインスタンスの並 列スレッドで実行されている他のPHPスクリプトに対してファイルを保 護する際に
flock()を使用することはできません」
って書いてあったから、
ウェブサーバにIIS使ってると、事情が違うのかなと思って一応かいといたもんで。。。
(正直IIS分からんですが)
450nobodyさん
垢版 |
03/09/28 09:23ID:???
451445
垢版 |
03/09/28 22:34ID:jyRnC+If
>>450
あれ、なんかとぼけたこと自分言ってました?

ご指摘きぼんぬ
452nobodyさん
垢版 |
03/09/29 10:34ID:???
通りがかりだが
あまり気にする事は無いかと

マルチスレッド型を利用している場合、別々に動作している
phpは同一プロセス(の、別スレッド)で動作している事になるので
プロセス単位で排他をかけるflock()は排他の目的には使えない
ということで、HTTPdとphpの組み合わせによる、というのは正しいかも
453nobodyさん
垢版 |
03/10/07 22:48ID:???
保守新党
454nobodyさん
垢版 |
03/10/07 23:44ID:???
$str =~ s/◆/◇/g;
みたいなマルチバイト文字列の置換をPHPでやるにはどうしたらいいんでしょうか。
mb_ereg_replaceはまだ実験段階らしいのであまり乗り気ではなく。
455nobodyさん
垢版 |
03/10/08 00:11ID:???
>>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を
ちゃんと設定していないと駄目。
456454
垢版 |
03/10/08 00:30ID:???
>>455
詳細なレスありがとうございます。
試しにpreg_replaceを使った時えらく文字化けしたのでなんでだろと疑問だったんですがこれで解決しました。
一応マルチバイト文字列関数用にphp.iniの設定は書き変えてあるので、
mb_ereg_replaceを使っても将来的に問題ないということならこれでいこうかなと思います。
457nobodyさん
垢版 |
03/10/18 23:15ID:???
配列をpackする時ってどうすんの?
他にも$a,$b,@c,$d,…と並べて@cの内容が展開されるようにしたい時とか.
458nobodyさん
垢版 |
03/10/27 17:51ID:???
既出かもしれませんが、
http://www.din.or.jp/~ohzaki/perl.htm
をPHPにコーディングしなおしたサイトを誰かしりません?
無いかなー。
459nobodyさん
垢版 |
03/10/28 18:22ID:???
 $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()で正規表現が使えないようなのですが
何か良い方法はないですか。
460nobodyさん
垢版 |
03/10/29 23:14ID:dIX7j6Ca
perlだと、csvファイルに対してSQL文を投げられる、SQL.pmっていうのがあるんですが、
phpでそういうモジュールってないでしょうか?
(いやぁ、ほんとはDB使いたいんですけどね。。。わけあってつかえず)
461nobodyさん
垢版 |
03/11/01 14:03ID:5TPcc+Om
連休中にphp勉強したいぞーage
462nobodyさん
垢版 |
03/11/01 14:49ID:???
>>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でいけるよね
463nobodyさん
垢版 |
03/11/03 00:41ID:4CVQMxAy
perlでいうところの、

print qq|
 $hoge
<hr>
<a href="http://www.yahoo.com"></a>
|;

みたいの、phpでないでしょうか?

要は、変数展開もされて、”もエスケープする必要がないように書きたいのですが・・・
464nobodyさん
垢版 |
03/11/03 00:44ID:???
$a =~ tr/[a-z][A-Z]/[A-Z][a-z]/;

なんか無駄がないか?
465nobodyさん
垢版 |
03/11/04 00:00ID:???
>>463
ヒアドキュメントじゃだめですか?
466nobodyさん
垢版 |
03/11/07 15:11ID:GoKF/NUR
$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...なら可能なのですが…
467nobodyさん
垢版 |
03/11/07 15:40ID:???
>>466
それを実行すると1〜3のどれを$aに入れても$bが"three"になっちゃう

各分岐のお尻にbreak;付けましょうね
switch($a) {
 case "1" : $b = "one"; break;
 case "2" : $b = "two"; break;
 case "3" : $b = "three"; break;
}
468nobodyさん
垢版 |
03/11/07 15:43ID:???
>>466
よく嫁
http://www.php.net/manual/ja/control-structures.switch.php
469nobodyさん
垢版 |
03/11/07 15:59ID:???
>>467-468
ありがとう。自分、厨すぎました。
470463
垢版 |
03/11/12 04:51ID:FrBzA+Qu
>>465
ありがとうございます。

そういえば、php4からヒアドキュメント使えるようになったんですよね。
(php3の知識はあっても、4の知識はあまりないもんで)

ヒアドキュメントで逝ってみます。

ただ、print qq|ほげー|;の手軽さが、なれてしまって、ラクなんですけどね。。。
ともかく、ありがとうございました。

471nobodyさん
垢版 |
03/11/12 05:09ID:???
my $xやvar xみたいな変数の宣言をする方法はないのでしょうか?
472nobodyさん
垢版 |
03/11/12 06:00ID:???
>>471

↓このへんわかりやすいんちゃう?
http://itbtech.itboost.co.jp/php/php_01.php

<引用>
PHP の変数は宣言がありません。
また、明示的に型の指定をしてやる必要もありません。
この辺は Perl と同じです。
必要に応じてキャスト(相当のこと)を行うことはできます。
</引用>
473nobodyさん
垢版 |
03/11/12 17:05ID:???
Perlで$a |= "default a";
という書き方を多用していたのですが、
PHPでは$a = !isset($a) ? "default a" : $a;
でよろしいのでしょうか?
474nobodyさん
垢版 |
03/11/12 20:14ID:???
$a ||= "default a";
なら、
$a || ($a = "default a");
$a or $a = "default a";
とか。

$a |= "default a";
はそのままで通る。
(perl/PHP共に期待したものではないと思うけど)
475473
垢版 |
03/11/12 21:19ID:???
>>474
すみません、先ほどは$a ||= "default a";
のことを言っておりました。
で、$a || ($a = "default a");
ですと、$aが未定義の場合、undefined errorが出てしまいます。
(当方error_reporting = ALLにしています)
476nobodyさん
垢版 |
03/11/12 21:56ID:???
>>475
isset($a) || ($a = "default a");
これでどう?

厳密にはこうだろうけど、
(isset($a) && $a) || ($a = "default a");
長すぎ。

# PHP的には、先にデフォルトを設定するものだと思ってた。
# PHPのエロイ人plz。
477473
垢版 |
03/11/12 22:08ID:???
> isset($a) || ($a = "default a");
これなら問題なく実行できました。この書き方が一番スマートそうですね。
478nobodyさん
垢版 |
03/11/12 22:08ID:???
GETのパラメータ区切りに&じゃなく;を使うにはどうしたらよいのでしょうか?
479nobodyさん
垢版 |
03/11/12 22:34ID:???
>>478
php.iniの設定変更
arg_separator.input = ";&"
しか思いつかない。

Perlと関係なければ、
【PHP】質問スレッド Part11
http://pc2.2ch.net/test/read.cgi/php/1067635640/l50
こちらへどぞ。
480nobodyさん
垢版 |
03/11/26 02:30ID:???
俺様帰ってこないかな
別に用は無いんだけど
481俺様
垢版 |
03/12/05 23:06ID:???
>>480
この板はしばしば見ているぞ。
最近はperl2phpのコンテンツを立ち上げてがんばっているところだ。
482nobodyさん
垢版 |
03/12/12 00:39ID:???
>>481
perl2php期待してます。
php勉強してるので…
483nobodyさん
垢版 |
03/12/12 01:34ID:???
http://www.cs.wcupa.edu/~rkline/perl2php/
484nobodyさん
垢版 |
03/12/14 00:06ID:???
ソケット通信をする際、相手方のIPアドレスがわかっている場合、
fsockopenの第一引数にIPアドレスを入れれば、
内部的に名前の解決をしなくて済むのでしょうか?
485nobodyさん
垢版 |
03/12/14 21:20ID:???
>>484 ttp://jp.php.net/fsockopen
IP address がすでにわかってるのに名前の解決?
Ip address => name なら、そもそも必要ない。

fsockopen関数の内部で、PHPが名前え解決するかどうかとういう話であれば、
inet_aton が失敗すれば(第一引数のhostが IP address を表す文字列でない場合)、
名前の解決(gethostbyname)がされる様です。
486nobodyさん
垢版 |
03/12/14 23:41ID:???
>>485
>fsockopen関数の内部で、PHPが名前え解決するかどうかとういう話であれば、
>inet_aton が失敗すれば(第一引数のhostが IP address を表す文字列でない場合)、
>名前の解決(gethostbyname)がされる様です。

なるほど、ありがとうございます。
大変参考になりました。
487486
垢版 |
03/12/17 00:08ID:???
IPアドレスでfsockopenと、リモホでfsockopenとで、
処理にかかる時間を比べたんですが、
前者の方が多少遅い結果になりました。
perlの場合とはやはり違うのでしょうか…?
488nobodyさん
垢版 |
03/12/18 13:37ID:SDZbq9mq
perlでいうtr/a-zA-Z//c(a-zA-z以外にマッチして置き換える)
っていうのはPHPではどう書けば良いでしょうか?(´・ω・`)?モニュ
小一時間探したけど見つかりませんでした
489nobodyさん
垢版 |
03/12/18 13:59ID:SDZbq9mq
やりたいことは、リストに含まない文字が
検出されたらエラーを表示させる事です。

perlだと
if(($_ =~ tr/a-zA-Z0-9//c) {
die 'リストに含まれない文字が検出されたYO!';
}
な感じでそれをPHPでやりたいです。
490nobodyさん
垢版 |
03/12/18 15:25ID:???
【PHP】質問スレッド Part12
http://pc2.2ch.net/test/read.cgi/php/1070639208/
491nobodyさん
垢版 |
03/12/18 16:46ID:???
>487
どうせろくでもないベンチスクリプトだろ

>488
既出

>789
!
492nobodyさん
垢版 |
03/12/18 20:33ID:???
>>489
$str = ...
if (ereg("[^a-zA-Z0-9]", $str)){
die('リストに含まれない文字が検出されたYO!');
}

多分"[^[:alnum:]]"でも。
493nobodyさん
垢版 |
03/12/18 20:37ID:???
そういうことじゃないと思う。
494nobodyさん
垢版 |
03/12/21 18:56ID:16zntf/g
>492

ぇ?ネタですか?(´・ω・`)?モニュ

-zA-Z0-9にマッチでエラー表示
じゃないでつ。文字列中に例えば
記号が入ってたらエラーにする処理でつ。

495nobodyさん
垢版 |
03/12/21 20:52ID:???
ネタ?
491のでええやん。elseでもいいし。
496492
垢版 |
03/12/21 21:11ID:???
>>494
a-zA-Z0-9 *以外* の文字にマッチしたらdieしますが、違うのですか?
497nobodyさん
垢版 |
03/12/22 17:55ID:???
asdf
498nobodyさん
垢版 |
03/12/22 19:05ID:???
ghjk
499nobodyさん
垢版 |
03/12/23 11:09ID:hM9+gLxR
>496

ぉぉやってみたら確かにマッチした。さんくすこ。
PHPだと’^’って反転する意味なのですか・・・?
なんか小さな幸せを発見したw

500nobodyさん
垢版 |
03/12/23 11:15ID:hM9+gLxR

ぁぁぼけてすまそ。。。
文字クラスの反転記号ですね。記憶から全く遠のいていますた。
(PHPの独自拡張なのかとさえ思ってしまったw)

もう一度勉強し直し逝ってきま _| ̄|○
501nobodyさん
垢版 |
04/01/19 18:13ID:???
>>481
で、どのへんまでできた?
なぜかおれも作るハメになってしまって、
BNFで定義しきれないPerlを無理やりBNFレベルで定義中なんだけど。
そこまでPerl詳しくねーんで困ってる。
parrotのライブラリにPerl6のパーサーやってるっぽいんだが、、むずい。
だれか、なんちゃってPerl BNF定義した人おらんですか。。
502501
垢版 |
04/01/19 18:23ID:???
ガク
コンテンツか。。ツールじゃないのね。。シツレイ
503nobodyさん
垢版 |
04/01/23 00:02ID:Zt/PsL2C
質問君です。すいません。

idはadmin、passは111111だったとして、

test.php?id=admin&pass=111111と入力します。

test.php内で
idとpassの値を受け取るには、$id=param[id]でしたっけ?
504nobodyさん
垢版 |
04/01/23 00:24ID:Zt/PsL2C
extract($_GET);

$_GET["id"];
$_GET["pass"];
505nobodyさん
垢版 |
04/01/23 00:46ID:???
>>504
なぜ、extract()
506nobodyさん
垢版 |
04/01/23 01:03ID:Zt/PsL2C
>>505

ここ読みました。
http://php.s3.to/off.txt

これも対策済まれている方が多いことですが、

Warning: REG_EBRACK in
eregi関数で文字比較するとき、全角の「ー」の2バイト目が半角では“[”になるのが原因らしい・・
簡単な解決方法ありますでしょうか?

507俺様
垢版 |
04/01/23 01:17ID:???
>>501-502
いや、俺もツール考えてみたんだわ。
PHPなら文法定義しているの発見したんだけど
Perlは見つからないんだよね。。。

perly.yにあるyacc文法も読んだんだけど
文法以前に字句解析どうしようって感じで。
508nobodyさん
垢版 |
04/01/23 02:04ID:???
>>506
extract() するなら、$_GETでアクセスする必要ないかと…

register_globals=off がデフォになったのは、
未初期化の変数が汚染されたりとか
セキュリティ面の問題が利便性より重要だったからではないのかなぁ
なので、extract()するならその配列の安全チェックをしてからのほうが良いかと。
509nobodyさん
垢版 |
04/01/23 02:08ID:???
>>506後半
内部エンコーディングをEUCかUnicodeにする。
入力変換をautoにする。
これで、内部では、EUCかUnicodeになるので、その手の問題に遭遇しない。
海外製ソフトでSJISはいいことがない。
510nobodyさん
垢版 |
04/01/23 02:13ID:???
入力変換はHttpInputだけなので、ファイルを読むときなどはMb_かjcode.phpで
内部エンコードにそろえてやる必要があると思います。
511nobodyさん
垢版 |
04/01/23 23:10ID:???

list()でログファイル(5MB程度)を参照して検索などを作るとき、

fopen()
flock()
Fclose()
しなくてもログファイルの破損などは起こらないでしょうか?
書き込み中はロックしてますが、list()中はロックしないとします。
512nobodyさん
垢版 |
04/01/24 18:46ID:???
>>511
listでファイルは参照できないはずだが????
513アノニマス
垢版 |
04/02/16 18:58ID:O91ZKuNr
正規表現でマッチできないけど?
どこがおかしいの?

//10桁の1...と12桁の2...の配列がある。
$str = array('1111111111','222222222222');
//10桁以上、10桁以下の(要は10桁のみ)数値パターンを配列$resultに格納したい。
$hoge = preg_grep("/[0-9]{10,10}/",$result);
//結果、両方でてきちゃう。どうして?
print_r($result);

よろしこ。
514イ奄様
垢版 |
04/02/16 19:15ID:PkrMZZ9m
>>513
それだと
"hoge1234567890hage"とかにもマッチする。
数字で始まり10個目の数字で終わるなら
$result = preg_grep("/^[0-9]{10,10}$/",$str);
515イ奄様
垢版 |
04/02/16 19:18ID:???
$result = preg_grep("/^\d{10}$/",$str);
でもいい
516アノニマス
垢版 |
04/02/16 19:35ID:O91ZKuNr
>>514,515 イ奄様
有難うございます。なるほどよく分りました。

しかも、問題が間違えているにもかかわらずよく理解してくださいました。
重ねて御礼します。

出したかった問題は、こうでした。
$result = preg_grep("/[0-9]{10,10}/",$str);
まぁ、間違ってんだから訂正は要らないんだけどね・・・。


517nobodyさん
垢版 |
04/02/16 21:57ID:???
それは perl でも同じ結果だろうなと。
perlとPHPで結果が違うのかと思ったよw
518nobodyさん
垢版 |
04/03/05 15:09ID:???
質問してもいいですか?
Perlの「undef」に相当するPHPの関数は何ですか?
マニュアル検索しても見つけられなかったのです。
スレ違いでしたらスルーでお願いします。
519nobodyさん
垢版 |
04/03/06 02:17ID:???
>>518
unsetじゃないかな?
520nobodyさん
垢版 |
04/03/08 22:21ID:???
Perlだと文字列の置換をしたときに置換されたものが$1などの変数に代入されますよね。
PHPでも同じことは出来るのでしょうか?
521nobodyさん
垢版 |
04/03/08 23:07ID:???
>>520
自己レスです。
preg_match_allで出来ました・・・
他にいい方法があれば知りたいです。
522nobodyさん
垢版 |
04/04/06 09:54ID:Rt5G2mKK
自作関数に渡した引数は、Perlでは$_[0],$_[1]...に、
JavaScriptではarguments[0]...に、入るじゃないですか。
PHPでは何に入るのでしょうか?
もしかして必ず function x($a,$b,$c) の様にする必要があるのでしょうか?
何とかして引数を配列として扱いたいのです。
523nobody
垢版 |
04/04/06 11:33ID:???
>>522
function ほらよ ($配列) { print_r($配列); }
ほらよ(array('a', 'b', 'c'));
524nobodyさん
垢版 |
04/04/06 14:51ID:???
>>523
有難う御座ります。
PHPって関数名や変数名に日本語使えたんですね 驚きました。
525nobodyさん
垢版 |
04/04/06 14:59ID:???
(^∀^)ゲラゲラ
526nobodyさん
垢版 |
04/04/18 21:32ID:???
(^∀^)ゲラゲラ
527nobodyさん
垢版 |
04/04/19 04:39ID:???
(^∀^)ゲラゲラ
528nobodyさん
垢版 |
04/04/19 13:09ID:???
(^∀^)ゲラゲラ
529nobodyさん
垢版 |
04/04/19 21:16ID:???
( ・∀・)σ)´Д`)>>524
530カポコン
垢版 |
04/04/21 13:43ID:???
http://f13.aaacafe.ne.jp/~mugen/perlvsphp/top.html

よろしこ。
531nobodyさん
垢版 |
04/04/21 19:32ID:???
>>530
実に頭の悪そうな文章ですね。
532nobodyさん
垢版 |
04/04/21 21:28ID:???
>>530
Shift_JISでスクリプトを書いてはいけない理由、
どうしてもShift_JISで書きたい場合はどのPHPをインストールすべきとか
mb_string周りのPHP.iniの設定の仕方、設定のオーバーライドの方法を解説して欲しい。

あと、PerlにもHTML埋め込みを行う方法がいくつかあるよ。
533nobodyさん
垢版 |
04/04/22 03:05ID:???
>>530
俺もPerlはあまり好きじゃないが
>認めざる終えません。
なんて文章書く人の言語構造をむしろ疑いたい。
534カポコン
垢版 |
04/04/26 10:25ID:???
>>532
その真珠のヴァージョンは何ですか?
requireを使用するとか笑わせる答えじゃないですよね?

>>533
>しかし、CやJavaなどと比べPerlの方が極力型を意識しない言語仕様
>になっているというのは認めざる終えません。
あーそんな風に書いてたんだね。そのうち、なんとか汁。

# 真珠批判やってるサイトって他にもあるもんだねー。
535532
垢版 |
04/04/27 05:54ID:???
マジレスした自分に鬱。
536nobodyさん
垢版 |
04/04/30 23:59ID:um4DKqqr
perlにおいて、csvファイルを配列に取り込み、複数項目(カンマ区切りの2列目と3列目)でソートをかける為に
下記のような方法を取っていたのですが、
これをphpで行う場合、multisortでは1項目でのソートしか出来ないと
マニュアルに記述されていますが、どのような処理でなら可能でしょうか?

@DATA = sort { (split(/,/,$b))[1] <=> (split(/,/,$a))[1] || (split(/,/,$a))[2] <=> (split(/,/,$b))[2]; } @DATA;
537nobodyさん
垢版 |
04/05/01 06:06ID:???
>>536
http://jp.php.net/manual/ja/function.usort.php
538nobodyさん
垢版 |
04/05/01 07:23ID:???
>>530
あまり真面目に見ていないけど、もっと説得力ある文章になるくらい
たくさんプログラムを作ってみた方が良いんじゃないかな。
今の状態だと言語の違い以前に本当にプログラムを作った事が
あるんだろうかと疑いたくなるよ。

>>535
気にすんな
539nobodyさん
垢版 |
04/05/03 01:13ID:N715jxDT
ASPユーザですが、PHPへの移行への許可は頂けますか?
540nobodyさん
垢版 |
04/05/08 15:25ID:???
perlとPHPのどっちが偉いかとかいった下らない話題につき合うつもりはないが

http://f13.aaacafe.ne.jp/~mugen/perlvsphp/page7.htm
↑を MVC と呼ばれては碇浸透

コンテンツとデザインの分離スレにちょっと鯉 >>350
541nobodyさん
垢版 |
04/05/15 03:52ID:???
>>540
そいつはマジメに運営してないからほっといていいよ。
542nobodyさん
垢版 |
04/05/20 12:08ID:NShBOzWM
PHP普及の原因は、イスラエル・Zend社のマーケティングの成功にある。
@Perlでは別インストールで多くの人が知らないデーターベース利用を標準で使用できるようにし、「データーベースが簡単に取り扱える」というイメージを特に強く植えつけた。
Aウェブサイト作成への特化。例えば、セッション管理がそうだ。
Bソースの隠蔽による著作権保護を可能にした。
データーベースを使いたいが、使い方がわからない。そこに、PHPなら使えるという情報が先に入る。これで、PHPに入った人もかなり多いはず。
PHPの言語仕様はZendに大きく左右される。
二年ほど前、PHPが出始めた頃には、変数のスコープがPerlとまったく同じ仕様だった。
もともと、Perlのソースコードを改編して作成されたPHP。
↓PHPの歴史
http://php.planetmirror.com/manual/ja/history.php
PHPには、Perlコードの退行による高速化の意図が言語のいたるところに見える。
マイクロソフトは、オブジェクト指向への対応というのが大義にVB6.0からVB.NETに言語仕様を大幅に変えた。
今後も大きく言語仕様が変わることはないのか?
オープンソースとは言っても、Zend社の
http://www.zend.com/management.php
の数人のスタップによって大きく左右される。
再帰的定義とされる「PHP:Hypertext Preprocessor」という名前にも理由がある。これは、要するに、正確には、「Perl Hypertext Preprocessor」としたいところだが、GNUの「GNU is Not UNIX」という再帰的な定義をもじったものだ。
要するに、「GPLのフリーソフトのライセンスには違反していませんよ!」と一つには主張し、また、一つには、「PHP is Not Perl」とでも言って、Zendの社としての姿勢を、先人の「Perl開発者たち」から擁護する意図があったのだろう。
Nではなく、Hなのが、そのための味噌だ!Perl開発者たちは、当然、面白くないはずだ。
PHP信奉者は、六芒星(hexagram)マークのユダヤ教にでも、入信せよ!
…といいつつ、かく言う私も、PHPに乗り遅れまいと必死だが…。(^^;)


543nobodyさん
垢版 |
04/05/20 16:11ID:???
↑もう5回くらい見たんだが。しかも全部IDが同じだ・・・見間違いだよな?
544nobodyさん
垢版 |
04/12/07 16:29:25ID:???
最近やっとphpの配列は、perlの配列のリファレンスだと考えればいいんだとわかった。
んで、phpで関数に配列を引渡すときは、配列のコピーのリファレンスを渡していると考えればいいとわかった。

だから、phpのこれは
$array[$index] = $value;

perlのこれに対応するわけじゃなく
$array[$index] = $value;

これに対応しているわけで
$array->[$index] = $value;

phpのこれは
$array = array($val1,$val2,$val3);

perlのこれに対応している
$array = [$val1,$val2,$val3];

なのでphpのこれは
function f($array){
.......
}

perlのこれに対応するわけだったんだね。
sub f{
my $array = [@{$_[0]}];
.......
}
545nobodyさん
垢版 |
05/03/03 01:29:07ID:eDjoFwC+
Perlのlast関数にあたるものはPHPのbreak関数かと思いますが、
next関数にあたるものは何になるのでしょうか?

ご教示いただけますと幸いです。
546nobodyさん
垢版 |
05/03/03 07:00:57ID:???
>>545
continue
547nobodyさん
垢版 |
05/03/03 09:43:42ID:???
>>545
関数じゃないよ。制御構造と呼んでくれくれたこら
548nobodyさん
垢版 |
05/03/03 14:56:14ID:???
>>544
おれがPHP使い始めたころと同じこと考えとるな
きっと次は$がいらないんじゃないかとか
printした時に自動で配列表示して欲しいとか
正規表現や無名関数使いずれーとか
便利な関数がイパーイあってええねとか
クラスがPerlよりはおしゃれだとか
549nobodyさん
垢版 |
05/03/08 04:57:03ID:???
日本語を変数名に使えるようにすんなよとか
リファレンス変数とか可変変数で戸惑うとか
多重継承できないってなんだよとか
DBはいいなとか
550nobodyさん
垢版 |
05/03/08 07:20:38ID:???
0.0.1のバージョンアップでコアに新機能を加えたあげくにエンバグって何よとか
デフォルトでハッシュな配列はステキですねとか
array_map_recursive()きぼんとか
551nobodyさん
垢版 |
2005/11/06(日) 12:54:25ID:szZvbyxN
perl使いがPHP使いに成ってもスキル低いのには変わらないけどな。
PHP覚える時間と暇があれば、JavaとかCが使えるようにスキル磨け。
552nobodyさん
垢版 |
2005/11/07(月) 01:20:42ID:???
意味不明
553nobodyさん
垢版 |
2006/01/20(金) 19:20:58ID:???
Cはもう、使う職場が限られている気がするが
554nobodyさん
垢版 |
2006/03/13(月) 04:51:31ID:???
保守
555nobodyさん
垢版 |
2006/03/31(金) 03:55:29ID:???
保守
556nobodyさん
垢版 |
2006/04/27(木) 19:27:28ID:???
保守
557nobodyさん
垢版 |
2006/04/28(金) 03:16:17ID:???
スレの内容を勝手にまとめてみたのでうpするよ
俺様タンのレスぶっこ抜いただけなので
だめなようならすぐ消します。
txtだけどhtmlにリネームしてくだせ。

http://bebe.run.buttobi.net/up/src/be_1673.txt.html
558557
垢版 |
2006/04/28(金) 03:19:25ID:???
HEAD内のひとつめのSTYLEタグは不要なので消しておk
559nobodyさん
垢版 |
2006/05/15(月) 05:54:56ID:KM0klNRe
>>557
乙。もらいます
560nobodyさん
垢版 |
2006/09/20(水) 11:53:55ID:uaOOSUkQ
Perlのqqみたいなの、PHPでできんか?
561560
垢版 |
2006/09/20(水) 12:00:23ID:uaOOSUkQ
できんか・・rubyでも同様の文法はあるんだけどなぁ・・。
ヒアドキュメントは、インデントが崩れるので大袈裟でちょっと扱いにくい。
562nobodyさん
垢版 |
2006/09/24(日) 06:15:19ID:???
ヒアドキュメントは当然ながら、qqも必要ないもん。
563nobodyさん
垢版 |
2007/05/04(金) 02:57:45ID:SmDWSadW
保守
564nobodyさん
垢版 |
2007/05/07(月) 03:01:24ID:???
このスレの意思とは逆なんですが、
php経験があり、perl未経験です、
perlスクリプトを眺めているのですが、どうもわからない構文が多々あります。


サブルーチン if ($hoge && $> == 0);

↑これってどういう意味を表しているのでしょうか?
ifの前にサブルーチンが存在するのと、
$hoge && $> == 0 の意味がわからんです。
565nobodyさん
垢版 |
2007/05/08(火) 00:36:50ID:???
$>はuid
$hogeが真かつrootで実行されている時だと思う

> ifの前にサブルーチンが存在するのと、
Perlの基本的な変体文法なので入門書読め
566nobodyさん
垢版 |
2007/05/09(水) 21:29:36ID:+HRKvy3U
perlでハッシュの値を出力すると何故か「1/8」になってしまうんですがこれはどうすれば直せますか?
567nobodyさん
垢版 |
2007/09/17(月) 05:29:18ID:j/liUul9
亀だが

>566
$foo=%hoge;
print $foo;

ってなってんじゃね
鯨のハラワタが散らかってるとか言われる部分だから気にするな

perl嫌になてきた
だからといってphpも嫌だぜ
Lispでもはじめようぜ
568nobodyさん
垢版 |
2007/09/17(月) 14:53:34ID:???
早くもPHPユーザのためのPerl入門スレになりつつあるな
569nobodyさん
垢版 |
2007/09/17(月) 19:28:13ID:???
アリガd
570nobodyさん
垢版 |
2007/09/18(火) 21:48:20ID:???
基礎PHPという教本を読みながら問題を解こうとしているんですが、まったく理解できなくて
悩んでいます。
何方か指南していただけないでしょうか?
問題の内容は以下に、

内容
フォームからPOSTのメソッドを利用して「ユーザー名」と「パスワード」を送信する。
受信したファイルでは「ユーザー名」と「パスワード」の妥当性を判断してメッセージを出力する。

条件
データ送信用ファイル:input.html
データ受信用ファイル:check.php

input.htmlには2種類のテキストボックスを配置させる(txtNameとtxtPassword)
check.phpでは以下の4種類のメッセージを出力させること
ユーザー名とパスワードの組み合わせが正しい場合「認証成功!」
ユーザー名が存在しない場合「ユーザー名が存在しません」
ユーザーは存在するがパスワードが誤っている場合「パスワードが間違っています」
ユーザー名またはパスワードのいずれかが空白の場合「ユーザー名またはパスワードが未入力です」

check.phpにおけるユーザー名とパスワードの組み合わせは以下のとおりとする。(3ユーザー分)
ユーザー名:guest admin shs0000
パスワード:goma adm 0000

スクリプト内での以下の配列に格納し、プログラムによって判断を行うこと。
ユーザー名:$arrUser $arrUser = array(・・・・);
パスワード:$arrPass $arrPass = array(・・・・);

ヒントでfor,if文を使うとあります。

どうかお願いします。
571nobodyさん
垢版 |
2007/10/04(木) 11:12:02ID:Ba37oSfY
ここに神がいることを祈ります。

これ

$a1="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ./";
$a2=substr($a1,int(rand(64)),1).substr($a1,int(rand(64)),1);
$cryptpass = crypt($pass,$a2);

をPHPで同じことさせるにはどうしたらいいのでしょうか・・・

572nobodyさん
垢版 |
2007/10/04(木) 11:18:40ID:???
int(rand(64)) => rand(0, 63)

これだけ代えればいけるんじゃね?
573nobodyさん
垢版 |
2007/10/04(木) 14:18:23ID:Ba37oSfY
>>572
あなたは神だ。
ありがとうございました^^
本当助かりました。
574nobodyさん
垢版 |
2007/10/07(日) 01:40:12ID:???
>>570
まずPerlでかけるのか?
かけないなら質問スレいってこい
575nobodyさん
垢版 |
2007/10/20(土) 02:19:47ID:???
漠然とした質問で申し訳ないが
単なるテキストファイルをincludeするだけだったら
SSIとPHPとどっちがサーバ負荷が少ないかな?
576nobodyさん
垢版 |
2007/10/20(土) 02:42:16ID:???
基本同じくらい


ただ、組み込むモジュールmod_includeとmod_phpではmod_phpの方が断然メモリ食う
577nobodyさん
垢版 |
2007/10/23(火) 00:14:10ID:???
>>576
遅くなったがありがトン

すでに構築されてるサイトを引き受ける事になったんだけど
SSIだらけだったんでちょっと気になってね
PHPの方が利便性良さそうなんで移行しようかと思ったけど静観かな
578nobodyさん
垢版 |
2008/05/25(日) 10:56:38ID:???
&ReadParse;
while (($key,$val) = each %in) {

って言う良く見るPerlをphpで書き直すと?
extractだとPOSTとGET両方は拾えないみたいですし。
キーごとに処理を分けるのは、phpではどうしたら?

教えて下さい神様。
579nobodyさん
垢版 |
2008/05/27(火) 23:52:32ID:???
if(isset($_POST)) {
while(list($key, $val) = each($_POST)) {
//POST変数が存在する数だけループ $key $valで所得->処理
}
}
if(isset($_GET)) {
while(list($key, $val) = each($_GET)) {
//GET変数が存在する数だけループ $key $valで所得->処理
}
}

かな?後、
import_request_variables("GPC","{re_ とか何か接頭辞}");
を使うとGET,POST,COOKIEを一度に変数へ展開できる。
Perlの方が良く解らないので見当はずれだったらごめん。
580nobodyさん
垢版 |
2008/05/28(水) 23:19:19ID:???
ありがとうございます。
上述の方法でやってみます。

助かりました!
581nobodyさん
垢版 |
2008/06/04(水) 07:29:17ID:???
>>578だとgetだろうがpostだろうが
すでに%inに入ってる訳だがその辺は良いのか?

>>579
俺はPHPはイマイチなんだが、$_POSTか$_GETを判別して別のハッシュに入れ
そのハッシュをeachした方が良くね?
582nobodyさん
垢版 |
2008/06/05(木) 21:39:46ID:???
>>581
Perlでいうハッシュ=連想配列:$QUERY{$key} = $valで、
$_POSTや$_GETは既に判別された後のハッシュと同じと解釈してますが、
実際どうなんだろう?
583nobodyさん
垢版 |
2008/06/06(金) 10:39:11ID:???
いや、ループの前に$_POSTでも$_GETでも1つにしちまえば
ループ自体が1つに出来るっていう話
584nobodyさん
垢版 |
2008/06/06(金) 11:40:29ID:???
つ $_REQUEST
585581=583
垢版 |
2008/06/06(金) 17:14:55ID:???
>>584
そんな便利なのあるんだな
元質問者じゃないが勉強になったよ
586nobodyさん
垢版 |
2008/06/16(月) 20:24:30ID:???
DMYHMS形式をエポック秒に変換したいんだすが、
Perlのtimelocal()的なものがphpでありますでしょうか?
587nobodyさん
垢版 |
2008/06/16(月) 21:19:36ID:???
お前は風大左衛門かw
こんな感じでどうだす?

mktime(HH,MM,SS,mm,dd,yyyy);
588nobodyさん
垢版 |
2008/06/16(月) 23:26:39ID:???
>>587
バッチリです!ありがとうごぜいます。
589nobodyさん
垢版 |
2008/06/17(火) 09:51:41ID:???
文字列の小数点以下を削除しようと思って、("3.1415"→"3")

$PI = ereg_replace("\.\d*", "", $PI);

とすると、31415になってしまいました。perlの
s/\.\d*//;
だとうまくいくのですが、何かPHPでの注意点ありんすか?
590nobodyさん
垢版 |
2008/06/17(火) 23:01:21ID:???
perlちとPHPとで、正規表現がちがうでよ。

$PI = ereg_replace("\.[0-9]*", "", $PI);
$PI = preg_replace("/\.\d*/", "", $PI);

こんなんどうだべ?
591nobodyさん
垢版 |
2008/06/17(火) 23:16:04ID:???
>>590
ズッポシです!ありがとうございました。
592nobodyさん
垢版 |
2010/06/19(土) 14:31:36ID:???
PHPのエラー処理は、以下の三つくらいがあげられますが、
どれを使うのが一番なのでしょうか?
・tryとcatch
・set_error_handler
・PEAR_Error
自分は、try catchが一番いいと思いつかっています。
2012/11/24(土) 18:32:42.67ID:???
  ∧_∧
  ( ・∀・)      | | ガガッ
 と    )      | |
   Y /ノ      .人
    / ) .人   <  >_∧∩
  _/し' <  >_∧∩`Д´)/
 (_フ彡 V`Д´)/   / ←>>416
            / ←>>343
594nobodyさん
垢版 |
2015/01/25(日) 20:46:07.91ID:???
同じだから移行して何の意味があるのかわからん
595東京女子医科大学病院プロポフォール大量投与
垢版 |
2015/05/24(日) 21:12:24.33ID:bUoj/9l7
【話題】なぜ日本人は世界中でモテモテなのか!?日本人の魅力について外国人100人に聞いてみた【最強】

https://www.youtube.com/watch?v=P4UD7b6h2KM
596東京女子医科大学病院プロポフォール大量投与
垢版 |
2015/05/24(日) 21:12:24.77ID:bUoj/9l7
【話題】なぜ日本人は世界中でモテモテなのか!?日本人の魅力について外国人100人に聞いてみた【最強】

https://www.youtube.com/watch?v=P4UD7b6h2KM
597nobodyさん
垢版 |
2015/07/24(金) 22:11:58.78ID:Ba8qs0sO
ぜんしろうは、せんずろうと言われるが、この歳になればみんなせんずろうだ。
598nobodyさん
垢版 |
2017/12/30(土) 13:02:48.84ID:YhlYw6jg
誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。

グーグル検索⇒『半藤のブブイウイウレレ』

UT147M7AKH
599nobodyさん
垢版 |
2018/02/20(火) 04:52:23.92ID:???
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
600nobodyさん
垢版 |
2018/06/20(水) 23:01:27.83ID:UnZq46Ab
プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。

J4K21
601nobodyさん
垢版 |
2023/03/09(木) 22:40:19.07ID:???
オラオラ (  ̄Д ̄)y-*);゚皿゚)ノ アチチチッ!!!
レスを投稿する


ニューススポーツなんでも実況