【PHP】初心者コーナー 2 Released
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/03/24 03:06ID:???PHPに関するアホな質問はここでやれ。今回からMySQLも受付開始。
アホな質問であっても詳しく質問すること。
PHPが大嫌いなPerl信者もぜひご参加ください。
前スレ
http://pc2.2ch.net/test/read.cgi/php/1011550860/l50 関連>>2-10
普通の質問はこっちな、【PHP】質問スレッド Part7
http://pc2.2ch.net/test/read.cgi/php/1044478561/l50
0586nobodyさん
03/05/09 16:12ID:GKx3ACK2ありがとうございます。
ただ、そうではなくて、
php コマンドから渡したいのです。
php ファイル名.php "オプション"
のオプションの部分に POST の場合は何をいれれば
いいか悩んでいます。
0587nobodyさん
03/05/09 16:14ID:???phpinfo()でPHP Variablesの項目を見る。
_SERVER["HTTP_USER_AGENT"]を確認する。
0589585
03/05/09 16:32ID:???no value ですた。
0591_
03/05/09 17:07ID:???川o・-・)ノ <先生!こんなのがありました!
http://www.yoshiwara.susukino.com/hankaku/hankaku07.html
http://yoshiwara.susukino.com/hankaku/hankaku08.html
http://www.yoshiwara.susukino.com/hankaku/hankaku10.html
http://yoshiwara.susukino.com/hankaku/hankaku07.html
http://www.yoshiwara.susukino.com/hankaku/hankaku03.html
http://yoshiwara.susukino.com/hankaku/hankaku05.html
http://www.yoshiwara.susukino.com/hankaku/hankaku01.html
http://yoshiwara.susukino.com/hankaku/hankaku06.html
http://www.yoshiwara.susukino.com/hankaku/hankaku04.html
http://www.yamazaki.90.kg/hankaku/hankaku09.html
0592動画直リン
03/05/09 17:10ID:X5KsRuJ+0593585
03/05/09 17:18ID:???phpinfo()、PHP Coreの項目の
browscap の欄が no value でした。
browscap = "c\php\browdcap.ini"
このパスがおかしいんでしょうか?
0594585
03/05/09 18:27ID:???なぜか2つiniが・・・。
で、無事browscap.iniへパスが通りました。
それでもう一度USER_AGENT を見て見たんですが
やっぱし空でした。
http://www.cyscape.com/browscap/
のbrowscap.iniを使っています。
それにしてもナゼ USER_AGENT が取得できないんでしょうか?
0596nobodyさん
03/05/09 20:53ID:???>>595の可能性は、確かにある。
http://taruo.net/e/では「USER_AGENT」が表示される?
「(none)」になっているなら、ブラウザかセキュリティ・ソフトの設定を変更
0597nobodyさん
03/05/09 22:48ID:cYWQsRLcPHPに限らないと思うのですが、フォームの使い方で教えて下さい。
フレームを使っていないpage1.phpというページから、送信ボタンで
page2.phpと言うフレームで2分割されたページへ飛びます。
page2.phplはupper.phpとlower.phpに分割されています。
page1では、<form method ="POST" action=page2.php>と記述していますが、
これですとフレーム内のupper.phpで値を受け取れません。
どうすれば良いでしょうか。
よろしくお願いします。
0598nobodyさん
03/05/09 23:59ID:???0599585
03/05/10 00:21ID:???ソフトを使っていなくてもダメみたいです。
同じマシンに居るPerl の方では取得できてるんですが
phpには嫌われています。
単純に php.ini のbrowscap.ini へのパスが通っていれば
それだけで変数使えるんですよね?
0600597
03/05/10 00:28ID:ArOHW3nUaction=upper.php
と言う意味でしょうか?
それだとフレーム(page2.php)が表示されずにupperページ
だけが表示されてしまいますよね。
0601nobodyさん
03/05/10 00:39ID:nfW3wtJt平成15年度 自作板PC環境調査 最新結果(一部抜粋)
◆4月分の結果が出ました。現在は5月分に移行しています。◆
平均年齢 25.4歳
ネット(2ch含) 78.7%
ゲーム 59.0%
Windows XP Family 46.9%
Windows 2000 Family 34.4%
Athlon 45.3%
Pentium 4 29.7%
平均RAM搭載容量 780MB
平均HDD搭載容量 166GB
nVIDIA 49.2%
ATI 28.9%
DVD-R/RW/マルチ 20.4%
CD-R/RW 75.9%
光ファイバー 8.3%
ADSL/xDSL 64.5%
CRT 74.6%
LCD 25.4%
0604nobodyさん
03/05/10 05:18ID:slH44eBp>URLエンコードされていないHTTPボディを丸ごと受け取る
>にはどのようにしたらよいのでしょうか?
>>always_populate_raw_post_data On
>>常に$HTTP_RAW_POST_DATA変数にアクセス可能とします。
ご教授ありがとうございます。
しかし、自前のサーバではないためalways_populate_raw_post_data
をOnにできない環境でした。
どうすればPOSTデータを丸ごと取得できますでしょうか?
0605597
03/05/10 09:38ID:ArOHW3nUフレームページpage2からupperへ値を渡すときは
どうすればいいのでしょう。
送信ボタンとかを押すわけじゃないのでformのPOSTじゃ
だめなんですよね。
urlの後ろに?を付けて引数で渡すとか言うやつかな、、、
もし何か他にも方法が有れば教えて下さい。
0606nobodyさん
03/05/10 10:12ID:3dh7Drb/きしゃをー降りてみーてもー
0607nobodyさん
03/05/10 11:20ID:oFayvAL3まずは是をやってみて理解してごらん。
>もし何か他にも方法が有れば教えて下さい。
上のやり方を理解してからでも遅くはないから、まずは上のやり方やってみれ
0609nobodyさん
03/05/10 11:58ID:???<form method="POST" action="session.php" action="session_alt.php">
</form>
0610597
03/05/10 14:21ID:ArOHW3nUやってみます。ちょっと試してうまく行かなかったけど
多分やり方が悪いのでしょうね。
>>608
action="upper"ですとpage2全体を表示してくれないし、
action="page2" target="ターゲット" では渡せませんでした。
>>609
actionって2つ書けるのですか?
action=page2とaction=upperと両方書いてしまうのでしょうか。
取りあえずやってみます。
0611nobodyさん
03/05/10 16:38ID:FObLwhHb$受け取る変数=$_GET['渡したい変数'];
0613nobodyさん
03/05/11 10:40ID:???マッチしなくなったんだけど何故?
0615nobodyさん
03/05/11 13:11ID:???そんなことが無いのかと思ってコードは省略しますた。
if(preg_match("/title>(.*)<\/title/i", $contents, $regs)){
$title = $regs[1];
}
else{
$title = "No Title";
}
return $title;
で、全部 No Title になる。
0618nobodyさん
03/05/11 19:20ID:7pEqh6Cm将来的にFLASHと連動したショッピングサイトを作りたいです。
0620nobodyさん
03/05/11 22:14ID:???4.3.1で動作確認。
0621nobodyさん
03/05/11 22:27ID:???仕様変更なんてドキュメント読めばわかることだろ。
わけのわからんこといっとらんでデバッグ汁
0622nobodyさん
03/05/12 00:04ID:???ちゃんとマッチするってこと?それとも再現?
>>621
「代わりに読んでください」と言いたいが、
良い機会だし、みンなのデバッグ手法を紹介してくらさい。
ボクは echo, print_r 派です。
0623620
03/05/12 00:17ID:???デバッグはif(debug) echo "$abc";でやって、完成したら全消し。
var_dumpは使ったことないな。
特定が面倒でエラー吐いた辺りを丸ごと書き換えることもしばしば(;´Д`)
今日もデバッグで、ようやく帰宅できるよー
>「代わりに読んでください」と言いたい
ぜひ死んでください
preg_mにしろ.*にしろ完成されてるから仕様が変わるなんて考えられないけどね。
0624620
03/05/12 00:18ID:???0625nobodyさん
03/05/12 00:35ID:???そうよね。
preg_match ( string pattern, string subject [, array matches])
やっぱsubjectを見直すのが一番イイかな?文字コードの問題も考えられるし.
--enable-mbregexは・・・
0626オムそば
03/05/12 03:54ID:X9LLPZqe└b
a に iframe.html
b に iframe001.html 〜 iframe010.html
というフォルダ構成で、b にあるファイルの内ひとつをランダムで
a にコピーして iframe.html で保存(上書き)するってスクリプトを
組みたいのですが、どういう風な感じでやればよいでしょうか?
0627nobodyさん
03/05/12 04:03ID:???ランダムは 数学関数のsrandとrandを使用。(mt_*てのもあるらしい)
0628オムそば@自宅
03/05/12 08:36ID:EKr3VP0UThanksです。
$randmin = 1;
$randmax = 10;
$randval = mt_rand("$randmin","$randmax");
$file = "./iframe".$randval.".html";
copy("$file","../b/iframe.html");
こういった感じでとりあえず出来たのですが、これだとファイル名を
iframe1.html 〜 iframe10.html といった感じにしないとダメですよね?
それだとローカルなどでフォルダを見た時に、ソートが変になってしまい
微妙に気になるのですが、何か良い方法はありませんか?
mt_rand() を使ったのは、こっちの方が高速に処理するみたいな事が
マニュアルに書いてあったので、使用してますが問題は無いですか?
あと、srand()の使い方がいまいち理解できなかったので、使ってないんですが、
問題なく動いているようなので、OKですよね・・・
0629nobodyさん
03/05/12 09:49ID:???自動でやってくれるという話は聞いたことないけど、、
ソートが変になるってのはどういうことか分かんないが、こんなようなことかな。
if ( strlen($randval) < 2 ) $randval = "0" . $randval ; //型キャスト必要?
もしくは、
$randval = str_pad ( $randval, 2, "0", STR_PAD_LEFT ) ;
0630nobodyさん
03/05/12 10:11ID:/i1zSYZ/セッションやPOSTを使わずに値を渡す方法ってありますか?
0631nobodyさん
03/05/12 10:14ID:???このおっさんらしいのだが…http://www.soi.wide.ad.jp/class/20010000/slides/03/
>630
URLに埋め込むか一時的にDATファイルつくるか伝書鳩か
0634nobodyさん
03/05/12 12:04ID:???上記のように必ず配列の先頭に値が入ってる状態で、
「もし配列(の中身)が空だったら」っていう上手い表現ってないでしょうか?
自分はin_array使って
$keys = array_keys($wd);
for($i=0; $i<=count($keys)-1; $i++){
$acv = (array_count_values($wd["keys[$i]"]));
if(count($acv) == "2" and in_array("",$wd["keys[$i]"]) == "TRUE"){
unset($wd["keys[$i]"]);
}
}
こんな風に書いてます。
$wdは連想配列のため$keysを使っています。
0636nobodyさん
03/05/12 13:08ID:c9lQiwrBそれにいっぱいモジュールがあるし
サンプルもWeb上に沢山ある。
strictを使えば厄介な物でも楽チンに作れるし
mod_perlを使えば異様に早くなる。
いい事ずくめだと思うんだが、なんでPHPなの?
できない事が多すぎないか?
小学生でも理解できるから使うのか?
0637動画直リン
03/05/12 13:10ID:lVcTJ8AZ0638nobodyさん
03/05/12 16:30ID:1fjsSv5Hsubstr って1000文字以上ある文字は分割できないんでしょうか。
echo $a = substr($line , 1000 , 1);
1001文字目が出ない・・・んです。
初心者質問ですみません。
0639nobodyさん
03/05/12 17:45ID:???いける。
$lineの1000byte付近をまとめて表示してみたら。
あんがい空だったりして。
あとは、マルチバイト文字でコケてるとか。
0640nobodyさん
03/05/12 21:48ID:???http://pc2.2ch.net/test/read.cgi/php/1046194468/l50
あっちでかき。
0641オムそば
03/05/12 22:22ID:X9LLPZqethanksです。
> mt_srand()つかわないと、連続試行したとき結果がいつも同じにならない?
> 自動でやってくれるという話は聞いたことないけど、、
$randmin = 1;
$randmax = 100;
$randval = mt_rand("$randmin","$randmax");
$randval = str_pad( $randval, 3, "0", STR_PAD_LEFT ) ;
echo ( $randval );
上のスクリプトで、ページをリロードする度に違う数字が表示されていますが、
これって異常なんですかね。(汗
PHP 4.3.1 apache 1.3.27 OS Win98SE でテストしてます。
あと、これを一日一回指定した時間に動かしたいのですが、何か良い方法ありませんか?
スクリプトそのものを教えて頂くと大変楽ですし、助かるのですが、自分のスキル
アップに繋がりませんので、何かヒントのような形でお教え頂けますか?
わがまま&教えてくんで申し訳ありませんが、よろしくお願いします。
0642nobodyさん
03/05/12 22:27ID:???http://accessplus.jp/staff/in.cgi?id=10645
http://www.39001.com/cgi-bin/cpc/gateway.cgi?id=neat
http://www.39001.com/cgi-bin/cpc/gateway.cgi?id=pure
http://accessplus.jp/staff/in.cgi?id=10943
http://www.emzshop.com/goodstyle/
0643nobodyさん
03/05/13 00:54ID:???氏ねヴォケ
0644動画直リン
03/05/13 01:10ID:rppJJuu/0645nobodyさん
03/05/13 01:14ID:1XrriwyUhttp://homepage3.nifty.com/coco-nut
0646nobodyさん
03/05/13 05:21ID:???すまん。4.2.0以降は、自動種付けがデフォルトになってた。
srand()はコールしなくてよくなってたよ。
> Changed rand() and mt_rand() to be seed automatically if srand() or mt_srand() has not
> been called. (Sterling)
自動実行は、unix系ならcron、win98だとタスクスケジューラだっけ。
いずれにしても、定時に実行てのはサーバ側の仕事なので、php単体では無理。
ナニが何でもPHPだ!! ていうなら、方法としては、ブラウザを立ち上げておいてrefreshタグで
一日一回スクリプトを読むか、タスクスケジューラで、一日一回コマンドラインから実行するか、
ログファイルを作っておいて、ユーザがアクセスしたときに、前回更新から一日以上たってたら
更新スクリプトを実行するというphpスクリプトを書くか、いずれかになるかと思う。
借りてるサーバなんかでやろうと思うと3つ目の方法がお勧め。
コマンドラインから実行する方法はマニュアルのhttp://www.php.net/manual/ja/features.commandline.phpを。
適当にphp_rotation.batとかいうファイルを作って、中に「C:\xxx\php.exe C:\xxx\rotation.php」と書く。
ほんでそのbatをスケジューラに登録すればOKだと思う。バッチファイル実行時のログをのこすとか細かいことは
自分でやって。エラーは自動タスクのログに記録されるはず。うちの環境(winxp admin権限)では一応稼動した。
0647オムそば@自宅
03/05/13 09:58ID:qXhuEACothanksです。
3つ目の方法だと、ユーザーがアクセスする度にスクリプトが動いてしまいますよね?
ページ自体の更新はなくても、サーバに負荷がかかると思うので避けたいです。
テスト環境はWinですが、実際に使うのはUNIXなので、cronについて調べたいと思います。
稼動テストまでして頂いてありがとうございました。
0648nobodyさん
03/05/15 16:56ID:7Y8ZpJUBWinXP,IIS,PHP4.3.1にて、session_start()を実行すると、
open("セッションIDらしき文字列", O_RDWR) failed: No such file or directory
とWarningが出るんですが、セッションを使用するにあたり何か設定が必要なんでしょうか?
0649nobodyさん
03/05/15 19:37ID:???今Winじゃないので確認できないが、
セッションを使うためには セッション用のディレクトリを作成、そのディレクトリをphp.iniで指定。
0651648
03/05/16 09:47ID:UDsilOGpレスありがとうです。
/tmpの中のファイルを探してたのはエラーメッセージからわかったから、
ドキュメントルートの直下にtmpってディレクトリ作って試したけど
ダメだったんですよね。
んで、今試しにそのphp.iniの指定を"c:\windows\temp"とか
DOS風の表記にしたらうまく行きました。ありがとうございます。
0652nobodyさん
03/05/16 10:26ID:E+iXS/eKhttp://www.dvd01.hamstar.jp/
0653_
03/05/16 10:33ID:???( ・∀・)/< こんなのみつけたっち♪
ttp://www.yamazaki.90.kg/hankaku/hankaku04.html
ttp://yamazaki.90.kg/hankaku/hankaku10.html
ttp://www.yamazaki.90.kg/hankaku/hankaku09.html
ttp://yamazaki.90.kg/hankaku/hankaku08.html
ttp://www.yamazaki.90.kg/hankaku/hankaku06.html
ttp://yamazaki.90.kg/hankaku/hankaku05.html
ttp://www.yamazaki.90.kg/hankaku/hankaku01.html
ttp://yamazaki.90.kg/hankaku/hankaku02.html
ttp://www.yamazaki.90.kg/hankaku/hankaku07.html
ttp://yamazaki.90.kg/hankaku/hankaku04.html
0654田中
03/05/16 12:31ID:shMd76bE年商1000万円を目標
http://www.c-gmf.com/h16002.htm
0655
03/05/16 17:04ID:TFQDITW8で渡したい値を日本語にしたら文字化けするのですが・・・。
何かのコード変換をしてから渡したほうが良いのでしょうか?
0656nobodyさん
03/05/16 17:06ID:747r2+6H0657
03/05/16 17:09ID:TFQDITW80658nobodyさん
03/05/16 17:19ID:747r2+6H0659
03/05/16 17:57ID:ce7IpZdE0660nobodyさん
03/05/16 18:01ID:747r2+6H思い出した。
コレ、標準ではoffだから>>655の方法
は使えないっぽい。
セッションとか使おう。
0661
03/05/16 18:30ID:iXERQEhI素人です。おながいします。
0662nobodyさん
03/05/16 19:18ID:???0663私も初心者
03/05/16 19:57ID:???「エンコード」「デコード」とかで検索したら、何か分かるかもよ。
0664nobodyさん
03/05/16 20:54ID:???それは文字化けではない !!!!!!!!!!!!!!!!!!
と断定してみる。
0665nobodyさん
03/05/16 21:19ID:???PHPに関するアホな質問はここでやれ。今回からMySQLも受付開始。
アホな質問であっても詳しく質問すること。
普通のPHPの質問はこっちな、【PHP】質問スレッド Part8
http://pc2.2ch.net/test/read.cgi/php/1050249148/l50
0666nobodyさん
03/05/16 21:25ID:???0667nobodyさん
03/05/16 21:34ID:4GEbEPL0http://www.dvd-yuis.com/
えっ!?もう届いたの?
http://www.dvd-yuis.com/
あなたのハートに最速発送!
http://www.dvd-yuis.com/
0668870
03/05/16 22:13ID:fyBqMN4bだから文字ばけですって。
だれか受け渡し値に日本語(EUC−JP)使ってる人います?
アスキーコードに変換したほうがいいすか?
できれば出コードと円コードのコマンドも教えてほしいす。
0670nobodyさん
03/05/16 22:43ID:fyBqMN4b普段 PHP でプログラムを書いている際はエンコード/デコードが自動的に行われているので特に意識する必要はないのですが、フォームで渡されるべきデータを
<a href="hoge.php3?fName=田中">田中さんの処理</a>
というような形で指定したい場合があります。
しかし、URLの ? 以降に「-」「_」「.」を除く非英数文字やマルチバイト文字が含まれる場合、 URL エンコードしておかないといけないという決まりがあります。したがって、上記の記述は URL エンコードされていないため正しく処理されません。
そこで、この URL エンコード関数を用いて、「田中」という文字列を URL エンコードしてやる必要があります。
方法は簡単で、$str = rawurlencode("田中") で $str には「田中」を URL エンコードした結果が格納されます。
067169
03/05/17 16:15ID:giUYFPUq募集しています。HPにバナーを貼るだけで稼げる。
http//www.c-gmf.com/index3.htm
http://www.c-gmf.com/index2.htm
http://www.c-gmf.com/mail.htm
ビジネスパートナー募集中。
オンライン申込後、郵送にて契約書を送ります。
キャッシュバック・年間契約成立後ビジネスパートナー様に
4000円差し上げます。ビジネス方法は直接営業もしくは間接営業
のどちらでも可能です。あなた専用の申込用紙orCGI申込を用意して
いますので安心してください。ビジネスについて、簡単なシステムであり、
バナーを貼るだけで稼げる。4000円×100件=40万円になります。
0672nobodyさん
03/05/19 05:48ID:sM+JzukB参考になるページはありませんか?
単純に、絵文字の2バイトを画像のタグに置き換えるだけだと、
区切り間違って変換されることもありそうで、
そのあたりの処理が知りたいんです。
0673_
03/05/19 07:04ID:???( ・∀・)/< コんなの有ったっち♪
http://togoshi.ginza.st/mona/mona02.html
http://www.togoshi.ginza.st/mona/mona07.html
http://togoshi.ginza.st/mona/mona05.html
http://www.togoshi.ginza.st/mona/monaz08.html
http://togoshi.ginza.st/mona/mona06.html
http://www.togoshi.ginza.st/mona/mona10.html
http://togoshi.ginza.st/mona/mona04.html
http://www.togoshi.ginza.st/mona/mona03.html
http://togoshi.ginza.st/mona/mona01.html
http://www.togoshi.ginza.st/mona/mona09.html
0674bloom
03/05/19 07:08ID:IEVyzYan0675紺野あさみ
03/05/19 07:13ID:???川o・-・)ノ <先生!下記のページがありました!
http://togoshi.ginza.st/yusei/yusei01.html
http://www.togoshi.ginza.st/yusei/yusei09.html
http://togoshi.ginza.st/yusei/yusei05.html
http://www.togoshi.ginza.st/yusei/yusei08.html
http://togoshi.ginza.st/yusei/yusei06.html
http://www.togoshi.ginza.st/yusei/yusei10.html
http://togoshi.ginza.st/yusei/yusei04.html
http://www.togoshi.ginza.st/yusei/yusei03.html
http://togoshi.ginza.st/yusei/yusei02.html
http://www.togoshi.ginza.st/yusei/yusei07.html
0676nobodyさん
03/05/19 07:27ID:???同一ページでやらなきゃならないのかぁ。
ちょと眠いが、頑張ろう。 んーわからん。
表示させたい部分のhtmlを配列に全部入れて、携帯からのアクセスかPCからのアクセスかを判断して、
携帯ならそのままスルー。
PC向けには文字コードAAAAに対応させたAAAA.gifみたいなのを作っておいて
全行ループでeregi_replace()でimgタグに置き換え、みたいなことをすればいいのかな。
上に書いた'表示させたい部分'のは本文のみでもいいし、<html>から</html>まででもいいし。
本文だけだとページ更新あるたびにfor文の条件いじらなくちゃいけないので全部のほうがいいかもねぃ。
//ってキャリアはDocomoだと思って書いてみたんだが、絵文字コードってバイナリ入力?なのかぁ。 もし見当違いだったらすまそ。
0677676
03/05/19 07:38ID:???バイナリって、バイナリエディタで見るアレか。 全く見当違いにも程があるな。
でももしかしたらそんな関数があるかもしれんな。
しかしこんな記述方法もWebに使えるんだねぇ。 しらなんだ。
0678nobodyさん
03/05/19 08:17ID:StH4KvGU0680nobodyさん
03/05/19 15:21ID:???0681nobodyさん
03/05/21 20:27ID:MwGyQR+Z自宅のPCをアパッチとPHP4.xをインストールして勉強しています。
テキストファイルの更新のプログラムを勉強してて、
$filename="tohoho.txt";
$fp=fopen($filename,"w");
//このflock();を使うとえらーがでてしまいます。
flock($fp,2);
fput($fp,$_POST[coment]);
flock($fp,3);
fclose($fp);
以下省略、、、
flockをはずすとしっかり動作するんですが、flockをいれるとエラーがでてしまいます。
どなたかアドバイスお願いします。
0682nobodyさん
03/05/21 23:44ID:???>自宅のPC
flockが使えない環境かと。別の方法でロックを実現しる
0683nobodyさん
03/05/22 00:31ID:???0684山崎渉
03/05/22 01:56ID:???0685nobodyさん
03/05/22 02:11ID:z7+gxK8V「flock()」関数はUNIX系OS上でしか動作しないため!!
■ このスレッドは過去ログ倉庫に格納されています