【待望】PerlユーザのためのPHP入門 (601レス)
上下前次1-新
196(1): 03/03/08 13:59 ID:??? AAS
>>195
質問が変わっている。
197: $n日後 03/03/08 14:09 ID:??? AAS
>>196
いやいや、これはこれであれはあれで・・・
失礼すました。
198(1): 03/03/08 14:32 ID:??? AAS
Perlの場合、自前で計算したくないなら、Date::Calcを使えばいい。
>>194の回答はアホ過ぎ。timeの戻り値がシリアル値なんだから、
その性質を使わないのは勿体無い。
199(1): 03/03/08 15:29 ID:??? AAS
>>193
うるう秒はどうするの?
200: 03/03/08 15:35 ID:??? AAS
>>199
うるう秒の意味わかってるか?
で、それをどうしたいのか?
201: 03/03/08 15:37 ID:??? AAS
うるう秒が蓄積されて誤差が1日を超えるような時間は、32bitのtimeでは指定できない。
でいいかな?
うるう秒をちゃんと考えるなら、>>194の方法で・・。
202(1): 03/03/08 15:53 ID:??? AAS
list($sec,$min,$hour,$mday,$mon,$year,$wday) = localtime(time() + $n*24*3600);
203: 03/03/08 15:55 ID:??? AAS
>>198
「アホでも判るように。」が信条なんだが。
で、後学の為にその性質を使ったコードを見せて頂きたい。
204: 03/03/08 15:56 ID:??? AAS
reloadなしで書くとこうなるわけですね。
>>202
サンクス
吊ってきま。
205: 03/03/10 16:59 ID:??? AAS
つづきまだー
206: &rlo;ega待期&lro; 03/03/10 17:03 ID:EpMeREtC(1) AAS
207: 03/03/10 17:11 ID:??? AAS
208(1): 俺様 03/03/10 17:47 ID:SvAZl1u/(1/2) AAS
そろそろネタ切れだ。
以上の知識でもうどんな物でも
Perl→PHPの移行はできるはずだ。
練習として誰かYomiサーチを移植してみよう。
209: 03/03/10 18:34 ID:??? AAS
>>208
削除依頼よろしく。
210(1): 03/03/10 20:36 ID:??? AAS
俺様、ちょっち待てよ。
Yomiサーチの移植の続きやれよ。(w
211: 03/03/10 20:37 ID:??? AAS
>>210
出来るわけ無いだろう。このスレ読む限りでは。
212: 03/03/10 21:09 ID:??? AAS
dbを触るところまでやってほしかったっす。
213(1): 俺様 03/03/10 22:09 ID:SvAZl1u/(2/2) AAS
よっしゃ。じゃあMySQLまでやろう。
というか俺が今その勉強中だから
まあ(・∀・)つ目 オチャデモノンデマテ!
214(1): 03/03/10 22:21 ID:??? AAS
>>213
死ね
215: 俺様 03/03/10 22:26 ID:KPB0lsuM(1/2) AAS
>>214
(´Д⊂
216: 03/03/10 22:32 ID:Hr2fHuuO(1) AAS
AA省
217(1): 03/03/10 23:02 ID:c9OmtJD2(1) AAS
PHPはいいからDelphiおしえれ
218(1): 俺様死ね 03/03/10 23:02 ID:??? AAS
>>217
何が聞きたい?
219(1): 03/03/10 23:03 ID:??? AAS
>>218
Perlとの違い
220(1): 俺様死ね 03/03/10 23:04 ID:??? AAS
>>219
もうちょい具体的に。激しく違う。としか言いようがない。
221(1): 俺様 03/03/10 23:17 ID:KPB0lsuM(2/2) AAS
Delphiは板違いなのでプログラム板で。
222: 03/03/10 23:28 ID:??? AAS
>>221
釣りですか?
真性ならプログラム技術板のPerlスレでも似たようなことを言っちゃうんだろうな。
223: 03/03/10 23:35 ID:??? AAS
>>220
ワラタw
224(1): 03/03/11 10:00 ID:??? AAS
このスレでは、いずれ php.ini の解説もしてくれますか?
俺が Perl → PHP で一番悩んでるのが php.ini (により定まる動作環境?) なんだよね。
こっちのサーバでは動くのにあっちのサーバでは動かない、とかとか。
225(2): 03/03/11 10:22 ID:??? AAS
>>224
それって各鯖の鯖管に問い合わせるべきじゃないのか?
知っててもそれじゃ手が出せないだろ。
226: 03/03/11 10:26 ID:??? AAS
>>225
php.iniの設定ってある程度はコード中で変えられたと記憶。
227(1): 03/03/11 10:31 ID:??? AAS
>>225
問題解決のためならその通りですが、
予備知識が無いと、聞きようが無い and 読みようが無いと思ったのさ。
詳しくは本でも買って読め、ということになるのかもしれないけど、
Perlユーザ向けの *入門編レベル* で十分なので、
抑えておくべきポイントを教えてくれると嬉すぃ。
228: 03/03/11 10:36 ID:??? AAS
>>227
phpinfo呼び出す。
後は値でどういう設定かは見当が付く。
229: 03/03/11 10:42 ID:??? AAS
もちろん、一番最初に
<?php
phpinfo();
?>
だけ書いたファイルを置く、これはやってます。
ただ、
> 後は値でどういう設定かは見当が付く。
これがね…。
要点だけで良いので、時間余ったらよろしく。>>俺様
230: 俺様 03/03/11 11:10 ID:+7fowk1S(1/9) AAS
まあ、入門レベルならそこまで弄る所はないだろうというのが本音だが。
>こっちのサーバでは動くのにあっちのサーバでは動かない
これで困っているなら、なぜ動かないのかを検討する方が先だろうし。
まあ、php.ini自体に英語で最初から説明が書いてあるので
それを見ながら幾つか拾ってみよう。
231(1): 俺様 03/03/11 11:17 ID:+7fowk1S(2/9) AAS
まずここはサーバで違いがあるところが多い。
; Safe Mode
safe_mode = Off(デフォルト時)
セーフモードとは何か?についてはマニュアルに結構書いてある。
外部リンク[php]:www.php.net
外部リンク[php]:www.php.net
見ればわかるとおり、Onにすると使えなくなる関数とかがいくつか出てくるが
共用鯖ではOnにしている所がかなり多いので
On上での動作確認をした方がいいだろう。
232(2): 俺様死ね 03/03/11 11:19 ID:??? AAS
>>231
お前、全部説明する気か?大変すぎだぞ。それ。
233(1): 俺様 03/03/11 11:23 ID:+7fowk1S(3/9) AAS
というか便利なページ発見。
外部リンク[txt]:www.net-newbie.com
PHPにはphp.ini-recommendedという推奨設定ファイルが付いている。
上はその日本語訳のようだ。
234(1): 俺様 03/03/11 11:28 ID:+7fowk1S(4/9) AAS
>>232
まあ、重要な部分だけあといくつか。
あとはその日本語訳をよんでクレイってことで。
これも確かめたほうがいいな。
register_globals = Off
Onにすると変数がグローバル変数となってしまう(だったっけ?)
俺はOnにしたことないからよく知らんが。
4.1.0以降でデフォルトがOnからOffに変わったので注意すべき。
Onのサイトのみで動いていたものをOffのサイトで動かすには
結構スクリプトの書き換えが必要。
235(1): 俺様死ね 03/03/11 11:31 ID:??? AAS
>>234
違うぞ。
フォームからの情報がそのまま変数として展開されるか、$_GET $_POSTなどの連想配列?の要素として格納されるかの違いだ。
236(1): 俺様 03/03/11 11:37 ID:+7fowk1S(5/9) AAS
; UNIX: "/パス1:/パス2"
;include_path = ".:/php/includes"
;
; Windows: "\パス1;\パス2"
;include_path = ".;c:\php\includes"
必要なら先頭の『;』は外しておこう。
例えば、DBで便利なPearを使うなら
include_path = ".;c:\php\includes;c:\php\pear;"
ってな感じにディレクトリを加えたほうが良い。
PearはPHPインストール時にデフォルトで付いてくるのだが
省3
237(1): 俺様 03/03/11 11:47 ID:+7fowk1S(6/9) AAS
>>235
フォローサンクス。
あと、
; cgi.force_redirect = 1
はこのように変えたほうがいい。
cgi.force_redirect = 0
ただ、PHP4.3.0はこの挙動がおかしくなるバグがあるらしいので注意。
238: 俺様死ね 03/03/11 11:49 ID:??? AAS
>>237
CGIとして使うなら必須だな。
239(2): 俺様 03/03/11 11:51 ID:+7fowk1S(7/9) AAS
後はこれだ。
extension_dir = ""
きちんとextensionsディレクトリをさすようにしておこう。
extension_dir = "C:/php/extensions"
240: 俺様死ね 03/03/11 11:51 ID:??? AAS
>>239
じゃないとexpatとかmbstringが使えないからな。重要だ。
241: 2 03/03/11 11:56 ID:138sEgV0(1) AAS
何気に息が合ってそうなのが面白い。
がんがれ。
242(1): 俺様 03/03/11 12:03 ID:+7fowk1S(8/9) AAS
ああ、あとそのディレクトリをきちんと設定しても
一部の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の先頭の;を外す必要がある。
省1
243: 俺様 03/03/11 12:05 ID:+7fowk1S(9/9) AAS
まあ、重要な設定はこんなもんか?
後は上の日本語訳や
マニュアルにもけっこう説明がしてあるはずだから
それを読んでクレイ。
244(1): 03/03/11 12:32 ID:??? AAS
register_globals対策。
php3 -> php4で一番困るのが
register_globals
で、Sourceを手っ取りばやく移植するにはSourceの先頭で
$hoge = $_POST["hoge"];
ってな感じにする。
245: 俺様死ね 03/03/11 12:34 ID:??? AAS
>>244
って言うか配列を変数に展開する関数みたいなの無かったっけ?
Perlだったっけか?
246: 03/03/11 12:58 ID:??? AAS
何だよここ、良スレ過ぎ!
回答ありがとう。
>>233
ググりかたが甘かったみたい。サンクスコ。
がんがってみます。
247: 03/03/11 13:09 ID:??? AAS
extract
248: 俺様 03/03/11 13:21 ID:Aj/riikG(1) AAS
レッツPHPより引用
>■修正の仕方
>以前のスクリプトを、PHP4.1.0以降に対応させるには、
>以下の文を、最初の<?以降に挿入すると、暫定的に動作するかと思われます。
>extract($_GET);
>extract($_POST);
>extract($_COOKIE);
>extract($_SERVER);
>extract($_SESSION);←セッションを使う場合
>未確認なので動作は保証しません。extractは配列を変数に展開するための関数です($_GET[f]=2002なら$fに2002が入る)
249(1): 03/03/12 22:56 ID:??? AAS
phpをcgiとして使用した場合は
・Perl/CGIと比較して処理速度の高速化
・サーバー負荷の低減
これらのメリットは無くなるということですか?
250: 俺様死ね 03/03/13 11:13 ID:??? AAS
>>249
そだね。CGIとしてPerlやCを動かすのと状況は同じ。
それでも俺的にはメリットは余りあるけど。
後、マルチすんなボケ。
251: 俺様 03/03/13 11:51 ID:??? AAS
今日はいよいよDBについて書こう。ようやく使い方がわかってきたので。
PostgreでもMyでも使えるようにPearを用います。
対応DB
Interbase
Mini-SQL
Microsoft SQL Server
MySQL
Oracle 8 (OCI)
ODBC
PostgreSQL
省1
252: 俺様 03/03/13 11:59 ID:??? AAS
まず準備としてphp.iniの設定が必要だ。
この3つを参照。
>>236
>>239
>>242
>>239、>>242はMySQLのみの場合は要らないかな。
例えばPostgreSQLを使いたければ
;extension=php_pgsql.dll
を
extension=php_pgsql.dll
省1
253: 俺様 03/03/13 12:09 ID:??? AAS
MySQLのみインストール方法も書いておこう。
外部リンク:www.mysql.com
ここからバージョンを選んで(勇気ない俺は4ではなく3.23)
Windows downloadsってのを落とす。
で、seteupを実行してnext連打でOK(一応要確認)。
インストールしたらc\:windows辺りにmy.iniってファイルが出来ていると思うので
それを開いてこれを追加。
[mysqld]
default-character-set=sjis
以上で完了だ。
省2
254: 俺様 03/03/13 12:11 ID:??? AAS
ああ、後winmysqladmin.exeってのも
一度実行してユーザー名とパスを決めるように。
外部に公開しない場合はキャンセルでも良いでしょう。
255: 俺様 03/03/13 12:17 ID:??? AAS
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:24 ID:??? AAS
Pearはここを参考。
外部リンク:pear.php.net
調べたところによるとWindows用PHP4.3以降では
標準で付かなくなってしまったらしいので
上を参考に落としておきましょう。
257: 俺様 03/03/13 12:25 ID:??? AAS
もちろん4.2以前から使ってた人は
最初からPearも使用できます。
258: 俺様 03/03/13 12:30 ID:??? AAS
というか調べてるうちに(・∀・)イイ!サイト見つけたな。
これ見れば俺様の説明なんぞ用なしかも。
外部リンク[html]:tsuttayo.sytes.net
これ見てphpMyAdminとかも入れておくと良い。
ブラウザからアクセスできるのでレンタル鯖などでも手軽に使えるのが特徴。
259: 山崎渉 [(^^)] 03/03/13 17:01 ID:??? AAS
(^^)
260: [age] 03/03/15 21:28 ID:??? AAS
age
261: 03/03/15 22:18 ID:??? AAS
MySQL入れました。
最初、エラーが出て焦りました。
mysqladminいいかも。
262(1): 03/03/19 23:10 ID:??? AAS
つづきまだー
263: 俺様 03/03/19 23:51 ID:??? AAS
>>262
何の話題がいい?
語るべきことは大体語っちゃったから
もう全てのPerlスクリプトを移植できるはずだ。
264: 03/03/20 01:11 ID:??? AAS
実践編が欲しいな。
なんかのコピペジェネレータを作るとか。
てかフォームを表示して受け取ってとかやってるとすんげー
HTMLとPHPのコードが入り乱れて汚くなっちゃうんだけど、どうすりゃいいの?
265: 03/03/20 15:43 ID:??? AAS
上でデータを作って下で表示させりゃいい。
<?
//極手抜き
$hoge = $_POST["hoge"];
?>
<HTML>
<H1><? print $hoge; ?></H1>
</HTML>
とか。
266: 03/03/20 16:41 ID:??? AAS
俺様殿江。ファイルとディレクトリの扱い方について解説して下さい。
267: 03/03/20 16:59 ID:??? AAS
Perl の Taint モードみたいのって、PHP にありますか?
268(1): 03/03/20 19:10 ID:??? AAS
Perlのexitや__END__みたいなヤシはありますか?
269(1): 03/03/20 19:39 ID:??? AAS
$fh = @fopen($file,"w");
の@はperlの何に相当するんですか?単にfopenじゃイクナイの?
270(1): 03/03/20 20:28 ID:??? AAS
>>269
@をつけると、エラー出力を抑止する。
つけなくてもいいけど、その場合はfopenに失敗したときにエラーがブラウザに返される。
271(1): 03/03/20 21:50 ID:??? AAS
>>270
ありが?。
それじゃ代わりにperlみたいに
$fh = fopen($file,"w") or die("しぼんぬ");
ってやってもイイのかな。
272(1): 03/03/20 22:09 ID:??? AAS
>>271
いやだからそーすると、しぼんぬの前にエラーメッセージが出てしまう。
$fh = @foepn($file, "w");
if(!$fh){
die("しぼんぬ");
}
273: 03/03/20 22:15 ID:??? AAS
>>272
なるほど。ありが??
274(1): 03/03/21 01:11 ID:??? AAS
>>268
exitはexit()
__END__や__DATA__はないんじゃないかな
275: 03/03/21 19:33 ID:??? AAS
>>274
さんくす
276(1): 03/03/25 14:18 ID:CVcoKJbJ(1) AAS
メモ。
$a = $b || $c;
perl では、$b が false の場合は $c が $a に代入される。
php の場合は、 $a には $b || $c の bool値(0 or 1)が入る。
277(1): 03/03/25 16:37 ID:??? AAS
>>276
それJavaScriptでもできたなぁ。
278(1): 03/03/26 06:38 ID:l1CVp/e0(1) AAS
ISPによっては、PEARとかの拡張モジュールが入ってない
ところがあるだろうけど、自分で使えるように拡張できるの
ですか?
例えばPerlでいえば、モジュールを自分のディレクトリに入れ
ておけばいいけど、そーゆーことはPHPでできますか?
279(1): 03/03/26 09:07 ID:??? AAS
>>277
ホントだ。
$foo ||= 'bar'; とか…は流石に無理かな。
ちなみに、python でも or を使って同様のことが出来ました。
>>278
出来るよ。ただし、共有のサーバーにインストールする場合は、
いままで自分のHOMEのライブラリを読んでいたのが、
ISPがPEARをインストールして突然ライブラリのバージョンが変わったりとか
…ありそうな話なので気をつけて。
280: 03/03/27 05:59 ID:p+/0Vcby(1) AAS
>>279
できるのですか。
PHPは、PHP.INIにいろいろな基本設定を書いたりするようなので、
通常ISPでCGIやると、それを編集するのは許されないだろうから
無理だとおもっていました。
PHP.INI に記述された設定は、スクリプト内で変更できるのですか?
281(1): 03/03/27 08:34 ID:illH7cXT(1) AAS
> PHP.INI に記述された設定は、スクリプト内で変更できるのですか?
ini_set -- 設定オプションの値を設定する
string ini_set ( string varname, string newvalue)
だけど、全ての設定が変更可能ではなく、pathの設定とかは確か無理だったかな。
include_pathの設定は、カレント・ディレクトリに
<?php require_once '/full/path/of/PEAR.php'; ?>
とか、リンクを PEAR.phpと言う名前で置くことで対応。
282: [age] 03/03/27 10:50 ID:??? AAS
Perl の
$ perl -wcT hoge.pl
に相当する PHP の簡単な文法チェック方法って無い?
283(1): [質問age] 03/03/27 11:08 ID:??? AAS
質問です。
例えば名前とトリップを分離する場合、Perl なら
if ($FROM =~ /(.*)(\#\S+)/) {
$name = $1;
$trip = $2;
}
と、$1, $2 使って楽できるんだけど、
PHP で↑の $1, $2 みたいなモノに相当するのって何ですか?
284(1): 03/03/27 11:16 ID:??? AAS
>>283
PerlならsplitにLIMITを指定して使い、分割すると思うが・・・・
PHPでもsplitでしょ。
285: 03/03/27 11:21 ID:??? AAS
>>284
あー例が悪かったですね。丁度身近にあったので出しちゃいました。
要はマッチした部分を簡単に再利用できないか?という質問です。
つまり、Perl の $1, $2 に相当するモノって何だろう、ということです。
286(2): 03/03/27 11:25 ID:??? AAS
\\1,\\2
287: 03/03/27 12:02 ID:??? AAS
>>286
\\1, \\2 ってどう使うのでしょう?
マッチングの後に、print \\1; とかやったらエラーになりました…。
再度、google 様に問い合わせたら、
if (ereg("(.*)(\#[^ \t\n\r\f]+)", $FROM, $regs)) {
$name = $regs[1];
$trip = $regs[2];
}
でいいみたいですね。調査が甘くてすみません。
288: 03/03/27 12:52 ID:??? AAS
自己レスです。
\\1, \\2 は
$url = ereg_replace("(外部リンク:ime.nu", "http://\\2", $url);
こうでしたか。
レスありがとうございました。>>286
289(1): 03/03/27 14:34 ID:??? AAS
magic quotes gpc なるヤツでここしばらく悩んでた。
勝手にエスケープされるなんて、まるで想像もつかなかった。
Perl → PHP への道、俺にとってはかなり遠い。でもガンガルsage
ところで tr/ab/cd/ って PHP ではどーやんの?
290(1): イ奄様 03/03/27 16:23 ID:??? AAS
>>289
$hoge=strtr($hoge, "ab", "cd");
291: 03/03/27 16:32 ID:??? AAS
>>290
サンクスコ!!
292: 03/03/28 04:03 ID:??? AAS
俺様ありが?
C/C++とPerlとVBとPascalとASM位しか知らなかったのだが、
よーやくPHPに手が伸びそうでつ。
293(1): 03/03/28 06:56 ID:NA3CJ6rA(1) AAS
>>281
教えていただき、ありがとう。
システム側で設定したPHP動作設定値を変えられないとなると、
ISPで利用する場合、大きな壁になりそうですね。
例えばアップロードファイルのサイズは2Mまでだから、それを超え
るものをアップさせる仕様に対応できない。
PHPでWebアプリ組んでも、いつかはユーザ要件に対応できずに全部
Perl等に書き直す時が来るかも、ということでしょうか?
294(1): 03/03/28 08:06 ID:56FSUIhD(1/3) AAS
>>293
>>293
WEB用途にPHPを使うなら、.htaccessでphp.iniの設定を上書きする方法があります。
アップロードサイズの制限を変更するには、
upload_max_filesize と post_max_size の値を上げることで対応出来るかな。
PEAR のインストールは、多分 include_path に PEAR のpathを追加するだけでOKだと思う。
295: 03/03/28 18:00 ID:56FSUIhD(2/3) AAS
既出だけど、三項演算子のネストではまった事あったのでそのときの教訓。
Perl と PHP では、演算子の優先順位に結構違いがあるので
一度目を通しておこう。
$r =
($foo < $bar) ? "LESS" :
($foo > $bar) ? "GREATER" :
"EQUAL";
上下前次1-新書関写板覧索設栞歴
あと 306 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.031s