PHPに関するくだらない質問用すれです。
2 :
nobodyさん :04/11/02 00:21:02 ID:QiT/le0d
漏れが2だ 文句あるか???
>>2 まさにスレタイどおりのくだらない質問だな。
では答えてやろう。勝手にしろ。
4 :
nobodyさん :04/11/02 03:41:50 ID:fek3vVTJ
参照渡しってどういうときに役立つの?
値をコピーするのに時間がかかるとき。 関数のローカルスコープから、外の変数を書き換えるとき。
くだらねぇくないじゃん
PHPってイスラエル人が作ってんでしょ? アラブの人も使うのかな?
普通に使ってるね けどマニュアルにはヘブライはるけどアラビックないんだよねー 英語出来るから運用上は問題はないんだろうけど
やっぱアラビアの人は使わないんだよ。きっと。
11 :
nobodyさん :04/11/02 19:12:01 ID:BdD3Iw6Q
PHP4.3.8使っていますがセッションのタイムアウトがききません。 session.gc_maxlifetime = 1 session.cache_limiter = public なんですが他にどこを確認すればよろしいでしょうか?
“タイムアウト”なら自前で処理しなきゃ駄目。 expireを指定するのはCookieの破棄をクライアントに依存することになるので 鯖側でやる。 あとgc_maxlifetimeは関係ないぞ。しかも1じゃgcの度に全部消されてしまう。 キャッシュをpublicで有効にさせてるのも意味不明。マニュアルもっと嫁。
セッションを中途で破棄する必要があるのってどんな処理だ?
14 :
nobodyさん :04/11/02 20:44:34 ID:ruCeV6rD
|l |l l |l | |i |i l |i l| li | ∩ _,,..,,n,r'゙ <⌒つ ./ ゚ 3 ヽ )´ ) l ゚ ll ∩ ノ そ Σ `'ー---‐'' ( ⌒ヽ/V⌒v、/⌒ ビダァァァン!!
16 :
nobodyさん :04/11/03 14:27:27 ID:dqlavdBU
ゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラゲラバーニラー
17 :
nobodyさん :04/11/04 02:34:38 ID:7zuJUVGZ
リンクをクリックした情報をとるにはどうすればよいの? やっぱり無理?セッション情報が必要? メニューのリンクから、インナーフレームを書き換えたとき、 そこに読み込まれるhtmlがあるディレクトリ名を取得することって どうやればできますか?
マルチうざい
mail関数がFalseを返してくるのですが、何が原因なのでしょう? 環境:Apache2+PHP4.2.3multibyte & qmail qmailへのsendmailラッパ切り替えは行っています。
>>19 ext/standard/mail.c を見て分かるように、要因になるものは複数あります。
とりあえずメール鯖のログを見てみてはイカガ谷^hですか?
21 :
nobodyさん :04/11/04 16:27:52 ID:ZJYSaM9M
>>19 <?php
// 関数のリストを取得
$funcs = get_defined_functions();
// 表示
natsort($funcs["internal"]);
foreach ($funcs["internal"] as $value)
{
print "$value\n";
}
?>
実行結果に mail 関数ある??
ってか、ひとまずPHPが何かエラー吐いてないかチェック。
array_search と in_array ってどういうときに使い分けるんでしょう? 型チェックも行いたいときに in_array を使うという理解で合ってますか?
>>23 そもそも戻り値が違う
とりあえずマニュアルと睨めっこするといいよ
25 :
19 :04/11/04 17:53:54 ID:???
レスありがとうございます。
>>20 ,22
ログは一通り見たのですが、もう一度確認します。
>>21 mail関数はありました。どうもです。
26 :
梓屋 :04/11/04 18:34:02 ID:???
perlスクリプトをphpスクリプトにしようと思ったらしんどい? 単純に関数を変えていくだけではすまんでしょうか? 何かperlとphp特有の違いみたいなもんだあったら教えてくださいませ
>>26 違う言語なので関数の置き換えだけでやろうと考えるのは浅はかです。
9割くらいは関数の置き換えで問題ない気がする。 それ以外は微妙な調整が必要だろう。
どうでもいいけどクロージャ欲しいな
PHPでwmvファイルをダイアログを出してDLさせようと思い header("Content-type: application/octet-stream"); header("Content-Disposition: inline; filename=\"test.wmv\""); header("Content-Length: ".50000); readfile("test.wmv"); としてみたんですが、メディアプレーヤーが起動してしまいます。 検索して header("Content-type: application/octet-stream");を header("Content-type: application/octet-stream-dummy");にするとDLされるみたいに書いてあったのですが、 やはりメディアプレーヤーが起動してしまいます。 ネスケだとうまくいくんでIEのバグかなと思うんですが、もしDLできる方法があればご教授お願い致します。 よろしくお願いします。
フォローなしかよ
34 :
nobodyさん :04/11/06 01:35:08 ID:EfiDIZUn
>>30 たしかrubyやpythonやgroovyでは使えるが、perlにはないんだよな
ならphpにあってよさそうな気もするが、、
スコープ継承するとなるとphpにとっては破壊的だなw
欲しがりません勝つまでは。
36 :
nobodyさん :04/11/08 16:36:53 ID:zZMR6plm
ある文字列の長さが特定の長さじゃない場合に その文字列の前に特定の長さになるまで空白をのせたいのですがfor分とかで 一回ずつチェックしていくしかないのでしょうか? まとめて入れる方法ってありませんでしょうか?
37 :
36 :04/11/08 16:38:19 ID:zZMR6plm
for文じゃない。while文とか の間違いです。
>>37 そういう操作をpaddingという。そいでもって str_padってのがある。
40 :
36 :04/11/08 17:52:31 ID:zZMR6plm
41 :
質問させてください :04/11/08 19:17:11 ID:uapxTz+r
PHPでのメール送信に関する質問です。
メールタイトルとメール本文がともにEUC-JPで書かれています。
これを共にmb_convert_encodingでSJISに変換して、
mail関数を使いメール送信したいのですが、
メールタイトルだけが文字化けしてうまく表示できません。
$title = mb_convert_encoding($title, "SJIS", "EUC-JP");
$content = mb_convert_encoding($content, "SJIS", "EUC-JP");
$to = "
[email protected] ";
mail($to, $title, $content)
メール本文も文字化けせずに表示できる方法を、
ご存知の方はどうぞご教授くださいませ。
その質問コピペだろ
>>41 なんか良く分からんが、メールはSJISで出すもんじゃないぞ。
Subjectもマルチバイトをそのまま渡してもイカン。
悪いことは言わないから、mb_send_mail 使っとき。
つーかなんで使わんのじゃゴルァ!
>>42 コピーするときSJISに劣化してるけどな
45 :
41 :04/11/08 19:40:17 ID:uapxTz+r
>>42 何が原因なのかブラウザでの日本語入力ができなくなったので、
エディターで文章を作りコピペしました。
>>43 mb_send_mail使ってやってみようと思います。ありがとうございます。
回答者も毎回同じ人だったら笑える。
htmlのタグの中に、 phpでsql(Postgre)の検索結果を表示させてるんだが、 100件ぐらい表示させると、マシーンによって とても遅いのは、なんでなんでしょう。 fetch使う以外の方法あるのかな?
>>47 方法云々より、現状の把握が必要だと思われ。
ヘタレSQLだとボトルネックになるし、
ヘタレHTMLだとブラウザのレンダリングに時間が掛かるし、
ヘタレPCだと何をしても遅くなるし、
ヘタレプログラマだと何をやってもダメ
49 :
nobodyさん :04/11/09 20:47:02 ID:08rGEh8p
50 :
nobodyさん :04/11/10 17:52:38 ID:HtywtNUe
united arab emirates ずっとアラブは連邦だと思ってたのにだまされてたと思う今日この頃
アラブ首長国連合 の検索結果 約 767 件 アラブ首長国連邦 の検索結果 約 101,000 件 石油連合でいいんじゃね
そういえばunitedとunion ofって別ものなのかな。
>>51 いや国名の意味するところは、UAEが連邦の一部ってことじゃなくてUAEが連邦制ってことね。
アラブ首長連邦国と呼ぶのはどうだろう。
なんか完成に近づくと突然開発スピードが落ちるんだけど、 なにかよい処方はない?
あー分かる気がする。作り始めは楽しいんだけどな。
>>53 やらなきゃいけないことが整理されてないんじゃないの?
最後の方で、あれもこれもやることが増えてこない?
最終調整段階で整合性とるのに時間がかかるようだったら、
最初の設計段階で全体が見えていないからだし。
正規処理を最初に作って、 エラーハンドリングとかを最後に残すからめんどくさいんじゃない?
つまり、PHPUnitマンセーということでおk?
やはりプロジェクトに欠陥があるのかなあ。 コンポーネントの実戦配備問題やドキュメント固めが(誰もやらないからか)残るんですが、 こいつが出始めると他の作業も含め全体に時間がかかりだすのは公然の秘密になってるのす。 やる事が多いときは、次の事が見えてるせいか気にならないんだけど、、。 動物とか飼ってるとこある? 弄ってたらやる気でないかなあw
丸投げじゃないと実戦環境つくれないこともあるだろうが、 コレ最後にやるのは失敗したとき痛いぞ。 要求・仕様書はあるけど誰も手をつけてない所があったことが発覚ってケースは うちでもちょくちょくあるがw 動物はいいだろうけど、猫リセットはヤバイ。
60 :
nobodyさん :04/11/11 18:38:09 ID:OMJ5Swzt
.∩∩ ; ;|ノ||` .┬-‖ , /●●| | | ‖ ;, |`(_●)/ ミ Y ‖ .彡|∪||、 , | ‖ /ヽ./>> : / ‖ (ニ>/(/ \_/ ‖ //\\ . ‖ し’ '| | ; /‖\
>>60 ああ、隣にあるのは点滴ね。そいうことね。
63 :
nobodyさん :04/11/11 20:43:50 ID:QmAFV0EC
すでに消滅してしまった学生サークルのOB/OGへの公開に限定したサイト構築を検討中です。 いわばネット上のサークル部屋。 OB名簿のDBを中心として、メアド+パスワードでアクセス制限。 基本機能としては、掲示板/OB名簿の閲覧・検索/ML運営が必要です。 実は、2年ほど前に自宅サーバーを立ち上げ、独学perlで7割方サイト構築したところで挫折してます。 最近、PHP+MySQLとやらの組み合わせで比較的少ない作業量で高機能なwebアプリを開発できそうだと 知りました。xoopsやzopeとやらを使えばさらに手軽になるらしいとも。 本屋で「XOOPSコミュニティサイト構築ガイド」なる本を手に取り、これが一番近道のような気がする のですが、他に参考になりそうな良書や解説サイトがありましたら指南いただけると助かります。 こういうサイト構築の需要ってありがちではないかと思うのですが、 なかなか要望をバッチリ満たすようなできあいのものってないもんですね。 やはりある程度は勉強して自分で作るしかないのか・・・?
ちゃんと調べればいくらでもあるけど、xoopsでフロントエンドだけ弄って敷居を下げとけば十分と思われ。 日々のメンテと情報管理責任をどこまで取るかで変わってくるけど、SNSってその名の通りソーシャルな 問題が多くなるんで運営ノウハウの方は勉強しておいたほうが後々楽。
67 :
nobodyさん :04/11/12 16:28:53 ID:5g1Fcoy9
69 :
お願いしますyo :04/11/12 17:43:56 ID:7+Sh9vTv
70 :
nobodyさん :04/11/12 22:36:30 ID:yR14bQkT
一体何処で質問すればいいのかわからないので、とりあえずここでさせて頂きます。
質問は、phpdevでインストールしたApacheの動作についてなんですが
NT系OS用の「2K-NT-XP-phpdev_start.bat」を起動し、Apacheを動作させると
コンソール画面に「Apache/1.3.27 (Win32) PHP/4.2.3 running...」と表示され
とりあえずは、
http://localhost/にもアクセスでき 、問題ないんですが
一旦、コンソール画面から Ctrl+C で終了させた後、
再度.batファイルから起動すると、それ以降は二度と
http://localhost/にもアクセスできず 、キチンと動作しません…
色々検索してみたのですが、原因が良くわからずに困っています…
何方か宜しければご教示下さい。
OS: WindowsXP Pro SP2
phpdev: version 4.2.3
72 :
64 :04/11/12 22:49:26 ID:???
xoopsとzopeのどっちで進めるかかなり迷ってますが、
>>65 ,66のアドバイスに背中を押されて、「xoops入門」という本を買ってきました。
これからちょっと学んでみます。
サイトの性格上、完全にクローズドなものにしたいので、ログイン専用ページを設けたい
のですが、xoopsでは相当のカスタマイズが必要となりそうですね。
なんかどのサイトみても同じようなレイアウトなのは、お手軽さとのトレードオフで仕方
がないのか・・・
zopeの方が柔軟そうだけど敷居は高そうだし・・・うーむ悩む。
73 :
70 :04/11/12 22:50:08 ID:yR14bQkT
>>71 それが… ログが書き込まれてないんです。
コンソールに「Apache/1.3.27 (Win32) PHP/4.2.3 running...」と表示されて
ApacheMonitorをみても動作しているのですが、ログが残っていません…
ログが書き込まれる前に何のエラーで終了してしまっているのでしょうか?
74 :
70 :04/11/12 22:52:47 ID:???
ログが書き込まれる前に何の × ログが書き込まれる前に何かの ○
>>70 WindowsXPなのにApache1.xを使うパッケージなんて…
俺は手動でApache2/PHP4/MySql4/phpMyAdmin入れてるけど、そんなに苦労はしないよ。
てか手動で入れた方がいろいろ覚えられていいよ。
まあ、1分で完了とはいかないがな。
78 :
70 :04/11/12 23:03:26 ID:???
>>75 Apacheのバージョン大分古いみたいですね…
手動で新しいのをインストールした方がいいのかもしれませんね。
言い忘れてましたが、PCを再起動すれば、またもと通りキチンと動作する様になります。
ですが、一旦終了した後からは、何回やってもキチンと動作しなくなってしまいます…
一体原因は何なのでしょうか?
バージョンが古いだけとは思えないですし…
79 :
70 :04/11/12 23:05:46 ID:???
>>76 >>77 あ、やっぱりバージョンの問題なんでしょうか?
とりあえず、自力で最新バージョンを入れてみる事にします。
サービスで動いてるならCtrlCじゃ止まらんでしょ。binに入ってるモニタ使ってみたら。 上の感じだとApacheの問題かどうかちょと怪しいな。
MSIインストーラあるし、httpd.confはデフォで動くから頑張れば一分切れるんじゃないか?
>>79 (強制終了されたために)lockファイルが残ってて、それが起動を阻害してるんじゃないかな。
んでも、そのファイルのことがエラーログあたりに出てきてそうな気もするんだが。。
終了の時はCtrl+Cでは無くapache.exeにオプションを付けたもので終了させましょう。
readme.txtにその事が書かれてないかい?<phpdevのforumでそんな事を書いてた人が居た
83 :
70 :04/11/13 00:11:02 ID:Q5WTyCMR
あ、レスきてましたね。どうも。
>>82 さんが仰る様に、コマンドラインから -k shutdown オプションを付けて終了してみたのですが
今度は、Cannot read apache PID file c:/phpdev/apache/logs/httpd.pid というエラーが出て、うまく終了出来ません…
で、色々ぐぐってたら、
ttp://chaichan.hp.infoseek.co.jp/qa1500/qa1979.htm のようなページを見つけて、その通りにやってみたのですが、終了はおろか、.pidファイルも生成出来ません…
もう、一体何がなんだか…
84 :
70 :04/11/13 00:20:54 ID:Q5WTyCMR
とりあえずまた、Ctrl+C で一旦終了させてから
再度 Apacheを起動すると、なんとlogsディレクトリに httpd.pid ファイルが出来てました。
で、とりあえず -k shutdown オプションで終了する事は出来たのですが。
もちろん、この後 Apacheを起動してもまともに動作しません(
http://localhost/にもアクセス不能 )…
PC再起動してからApacheを立ち上げ、
http://localhost/にもアクセスしてみて 、ちゃんと動作している事を確認し
-k shutdown オプションで 終了してみると、また同じエラーが…
で、logsディレクトリを見てみると、httpd.pid は何故か生成されていません…
やっぱり何がなんだか…
85 :
70 :04/11/13 00:40:01 ID:???
原因わかりました… 「2K-NT-XP-phpdev_start.bat」から起動していたのがすべての原因だったみたいです… 直接Apacheの実行ファイルから起動すれば、Ctrl+Cで終了しようが、なんで終了しようが 問題なく次回起動時もキチンと動作する様になりました。 一人でずらずらとスレ汚しな書き込みをしてしまいまして、申し訳ありませんでした。
86 :
nobodyさん :04/11/13 13:55:30 ID:Yc7DSHDt
<br>\nって本にでてんだけど ¥nつける意味がわからん・・・違いおしえて \nだけだと改行しないんだけど、、 PHP質問板でやったらくだ質にいけといわれたよ
回答されてるじゃねえかキチガイ
>>86 のような人は javascriptを含んだhtmlを出力する時もパニック起こしそうだな
89 :
nobodyさん :04/11/13 15:18:10 ID:Yc7DSHDt
だめだこいつらつかえね
91 :
nobodyさん :04/11/14 04:38:54 ID:cWQApeN+
本スレ入れ食いだな
92 :
nobodyさん :04/11/15 23:22:20 ID:67Fmaw0Q
高セキュリティ(串規制等)、高機能(書き込み者も記事修正できる、等) で、アイコン表示無しなCGIスクリプトをご存知の方が いらっしゃったら教えてください。
94 :
92 :04/11/15 23:23:07 ID:67Fmaw0Q
スレ違いスマソ。 逝ってきまつ。
95 :
nobodyさん :04/11/17 08:33:04 ID:365oHPcY
最近PHP製のBBSを設置したのですが データファイルのパーミッション設定が 666, 606とかの時でしか動作してくれません。。。 外部からファイルが丸見えになるのがイヤなので 出来れば、700辺りに設定したいのですが。 他のPerlCGIで使うデータファイルとかだと、 700でも動作するので、サーバの問題ではなさそうです。 どうにか設定出来る様にならないものでしょうか?
>>95 Apacheのmoduleで動かしているならパーミッションはその他に書き込み権限が必要
CGI(suEXEC)で動かせば所有者のみ書き込みでも良い
というかWEBからアクセスされないだけならそれなりの場所にログを置けばよい
後はファイル名を適当な名前にする
それにBBSのログぐらい見られてもかまわないだろ(IPが書いてあるぐらいだし)
97 :
95 :04/11/17 09:16:57 ID:???
>>96 なるほど、Module動作の場合は、その他の権限が必要だったのですね。。
これで一つ勉強になりました。
感謝します。
98 :
1/2 :04/11/17 15:16:14 ID:CYEqdTmo
本当に本当にくだらない質問なんですがお願いします。 rh9_form.htm ----------------------------------------------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>rh9_フォーム</title> </head> <body bgcolor="#FFFF99"> <form action="rh9_disp.php"> 名前<input type="text" NAME="your_name"><br> <input type="submit" value="送信"> </form> </body> </html> -----------------------------------------------
99 :
2/2 :04/11/17 15:16:47 ID:CYEqdTmo
rh9_disp.php ----------------------------------------------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>結果表示</title> </head> <body> 貴方は<b><?php print $_REQUEST["your_name"];?></b>さんですね? </body> </html> ----------------------------------------------- のときrh9_form.htmにアクセスすると、フォームは普通に表示されるのですが送信を押したときに 貴方はさんですね? と表示されてしまいます。 初歩の初歩だと思いますがどこが間違っているために上記のような表示になってしまうのでしょうか? ちなみに"your_name"は"を'に変えても同様でした。PHPはVersion 4.3.9-1です。 よろしくお願いいたします。
>>99 <form action="rh9_disp.php" method="get">
でやってみる。
101 :
98 :04/11/17 15:44:27 ID:???
>>100 すばやいレスありがとうございます!
ご指摘の点、変更してみましたが結果は同様でした。
ほかにマズそうな点がありましたらお教えください。
また、この情報を晒せ!というものがありましたら併せてお教えください
お願いいたします。
rh9_disp.phpの中で phpinfo()関数を呼び出すようにし、 your_nameなんてものが本当に渡されているのか確認する
103 :
98 :04/11/17 16:09:47 ID:???
>>102 ご指南ありがとうございます。
…
貴方は<b><?php print $_REQUEST["your_name"];?></b>さんですね?
<?php phpinfo(); ?>
…
としてみました。例の薄紫色の長い表が出ましたのでテキストフィールドに入れた名前(英数文字)をCtrl+Fで検索してみましたがありませんでした。
文法的にはyour_nameは取得されているなら、php本体が壊れているなどと考える必要があるでしょうか?
単純に渡してないだけでしょ?
your_nameに何も入力せずに送信してるってことかな。 その場合なら取得できなくてもおかしくないよね。 < htmlの仕様で言うところの満足なコントロールじゃないから。
106 :
98 :04/11/17 17:34:03 ID:???
>>104 >>105 う〜ん、そうなんですか、分からないです…。
テキストボックスがあってそこに名前を入力し、送信ボタンで「貴方は○○さんですね?」と帰ってくるようなモノなのですが、皆さんならどう書きますか?根本的にまちがっているのでしょうか…。そんなに難しいものなのでしょうか。
値を入力してそれを渡す、これが出来るようになればいいんですね。
人のソースを切り貼りしているうちにわけが分からなくなってしまいました_| ̄|○
108 :
98 :04/11/17 18:03:09 ID:???
>>107 それはここにポストするために全角にしました。
やはり普通はうごくものなのですか。
こちらの環境でしょうか
>>107 お前は馬鹿か?
送信側でどうやってるか教えてくれればアドバイスしてもらえるかもよ
>>108 >>98-99 コピペ、<を<に置換して確認してみた
おまいさんと同じ結果になった
ソースを見直してみた
formタグのNAME属性の前のスペースが全角だったので直してみた
ちゃんと動いた
念のために聞くけど、この全角スペースも投稿時に直しただけだよな?
111 :
110 :04/11/17 18:26:40 ID:???
ごめ。formタグじゃない、テキストフィールドのinputタグね
> それはここにポストするために全角にしました
113 :
98 :04/11/17 19:08:29 ID:???
>>110 おおおおおおおおお!!!
仰せの通りです。
検証までしていただいて感謝のしようもありません。
本当にありがとうございました!!
時刻表示のスクリプトが動き、喜びに震えているところに、このスクリプトの挫折で凹みまくっていました。
感謝であります。
勿論です。動かなかったのは勘違いでした。アハハハハ
煽りそこなったorz
>>113 ひとまず、全角スペースもちゃんと表示できるエディター使え。
文字化けしないでちゃんと表示されますよ(^^;
HTMLって構文間違っててもエラーとか吐かんから怖いよな
HTMLは言語とは言うものの、マークアップだしな。
120 :
98 :04/11/17 21:07:25 ID:???
>>116 全角スペースが色つきで表示されたりそういうのがあるといいのですけどね。
phpはエラーを教えてくれるとの事ですが、今回はそれ以前の話でした_| ̄|○
>>117 おお、正常にみれますか。お手数さまでした。ありがとうございます。
phpするならやっぱりリナックス勉強したほうがいいんですか?
何したいかによる。
むしろPHPを勉強しる!
>>116 ってか、エディタは何使ってるわけさ?
全角スペースってほとんどのテキストエディタでは
デフォルト設定で薄い□で表示されると思うが。
もしかしてnotepad.exe・・・。
パーミッションの真ん中の数字って、 共有レン鯖の同居人に対してってことでいいんですか? もしそうなら、「見られたくない.txt」ファイル(644)を置くと 同居人からはfopenされ、ファイルの中身を見られてしまうのでしょうか? また、600にすれば同居人からも外部からも見られなくなるのでしょうか?
128 :
nobodyさん :04/11/18 13:47:29 ID:U6GG0aJq
explode の逆のような関数ってありますか? array('abc', 'def', 'ghi'); を abc<>def<>ghi のようにある文字列で結合したいんですけど。
129 :
nobodyさん :04/11/18 13:49:21 ID:U6GG0aJq
スンマセン事故解決。 implode()っ手のがありました。
>>128 あるよエイリアスを含めると2つもな。
マニュアルのexplodeのところを見れば載ってるだろ?
ワラタ
>>126 × 同居人
○ グループ
その他にディレクトリのパーミッションもあります。
PHPの話題じゃないから後は自分で調べてください。
phpにperlでいうマジカルインクリメントみたいなのは ないのでしょうか?
134 :
126 :04/11/18 18:06:51 ID:???
>>127 endlinに反応するおまいさんはおじさんでつね。
136 :
nobodyさん :04/11/20 13:10:13 ID:eqMdSEYb
おばさんかもしれないよ。
137 :
nobodyさん :04/11/20 22:36:36 ID:z7WgdErj
スンマセン、質問です! ビットシフトで24ビットの時に変な値になっちゃうのは何故? 以下のソースです… function kansuu() { $hoge = array(111,222,333,444); foreach ( $hoge as $nn) { $ad += $nn << $i; $i += 8; } return( $ad ); } で、何故か結果が int(111) int(56943) int(21880431) int(-1118970257) 何で最後がマイナス?補数って奴デスカ?? ちなみに、 $nn << $i の部分だけでみても最後だけマイナスになってますた! 理由(出来れば解決方法も…)教えてエロい人っ!!
桁溢れ。 $ad += $nn << $i; の下に、 print base_convert($ad,10,16)." (".str_pad(base_convert($ad,10,2),32,'0',STR_PAD_LEFT).")\n"; を入れると、 6f (00000000000000000000000001101111) de6f (00000000000000001101111001101111) 14dde6f (00000001010011011101111001101111) 42b22191 (01000010101100100010000110010001) -1118970257 になる。 intが32bitの環境だと解決法は無い。 つーか最初から桁溢れ起こすの分かってるのに なんでそんなことをしたいのか理解できない。
139 :
nobodyさん :04/11/20 23:38:14 ID:z7WgdErj
>>138 ぬりがとー☆
やっぱり溢れてんだ…
settype($nn,"float"); とかしてみたケド意味ないんだ…
ぶっちゃけ、IPのチェックがしたくて
127.0.0.0-127.0.255.255の範囲にいるかみたいな。
で、perlだとちゃんと出たんだけどPHPだと?だったワケです。
IPの範囲の判定ってエロい人はどーしてるの?
って他力本願な質問もココならOK…!? (´・ω・`)
サブネットマスクでANDとってネットワークアドレスとXOR 結果が0か否か
>>140 あぁ、ナルホド……
つまり、「初心者が背伸びするな」って事でつね(T∀T)
頑張って違う方法を考えてみます。
?>の直後の改行は削除されるようになってるけど、出力したい時はどうしよう。 php-5.0.2 cli
144 :
139 :04/11/21 17:50:26 ID:???
>>143 PHPのスクリプトに組み込む予定なんで
PHPがイイ!(・∀・)〜♪
>>142 多分evalとかしてるんだろうが、ちーと難問だな
<?php ?>でパート切り分けしないで、echo '';につっこむしかないと思う
エスケープを忘れずに
>>143 改行がない場合との処理分けが無駄だから廃案
$str = preg_replace("/\[color=(\S+?)\](.*?)\[\/color\]/si", "<span color=\"\\1\">\\2</span>",$str); こういう正規表現で二重引用符内で「\\1」とかしてるのって 一重引用府内では「\1」でいいんです?
まあ構わんよ。
>>145 無駄ってレベルじゃないだろ。
PHPブロック外の改行を取得するなんて馬鹿な真似は止めるべき。
/\ /\ /:::::::ヽ____/::::::::ヽ、 丿 ::.__ .::::::::::::: __ ::::ヽ_ ,. 、 / / / /。 ヽ_ヽv /: /。ヽ ::::::ヽ ,.〃´ヾ.、 / / ああ添字配列のインデクスを / / ̄ ̄√___丶  ̄ ̄\ ::::| / |l ', / / 0から振りなおせたらなあ!! | .:::::::::: / / tーーー|ヽ ..::::: ::|r'´ ||--‐r、 ', 値は操作せずにインデクスだけ | .:::::. ..: | |ヽ .,..ィ'´ l', '.j '. 変更できないかなあ!! | ::: | |⊂ニヽ| | 'r '´ ',.r '´ !| \ どうなのかなあ!! | : | | |:::T::::| ! l! ....:.:.:.:.:.:ヽ、 ,l \ \: ト--^^^^^┤ ゝ、.,_ ---‐‐‐----ゝ、ノ
>>150 無理。array_mapで大回転させるしかない。
>>153 そうなんですか。そうしてみます。
コレって、なるべく二重引用符を使ったほうがいい。とかあるんですか?
>>155 どうもです。
$str = preg_replace("/\[color=(\S+?)\](.*?)\[\/color\]/si",
'<span color="$1">$2</span>',$str);
と、書くことにします。ありがとうございました。
マニュアルとかのサンプルをみてもっと勉強してきます。
本スレのほうが逝ってしまったわけだが。 誰か次建てない? 洩れは無理。
158 :
nobodyさん :04/11/22 17:16:41 ID:WuFGabj+
logfileに 1 12:00($start),12:15($end) 2 12:15($start),12:45($end) と言う感じで開始時間と終了時間が入っているんですが、 line1とline2の時間差(この場合1の持ち時間)を計算で出すにはどうしたら良いですか? そのまま$end - $startでやったらできませんでした。
>>158 日を超えないって条件をつけてもいいなら
(12*60+15)-(12*60+0)のように自力で計算してもいいんでないの?
日付を考慮するなら(そのlogfileの書式では無さそうだけど)
mktimeとかを使ってUnixタイムスタンプに変更してから引き算するとか。
160 :
158 :04/11/22 17:35:50 ID:???
>>159 1日のタイムテーブルなので(12*60+15)-(12*60+0)でできました!
どうもありがとうございました。
161 :
nobodyさん :04/11/22 20:51:14 ID:fKkOMcrQ
$messageにある$AAAを含むURLを$BBBへ変換したいのですが
$AAA = "aaa.com"; // 変更したいURLの一部
$BBB = "
http://xxx.yyy.zzz/ "; // 自前のトップページへのURL
$SEIKI1 = "(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)"; // 正規表現1
$SEIKI2 = "([[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)"; // 正規表現2
$message = eregi_replace("$SEIKI1"."$AAA","$BBB",$message); // 後部/がない場合
http://www.aaa.com $message = eregi_replace("$SEIKI1"."$AAA"."$SEIKI2","$BBB",$message); // 後部/が続く場合
http://www.aaa.com/ 〜
$message = eregi_replace("$SEIKI1","<a href=\"\\1\\2\" target=\"_blank\">LINK</a>",$message); //自動リンク
一つのURLでは対応出来たのですが
$AAA 入れたいURLが複数ある場合(aaa.comや、bbb.net ccc.org等です)
全てに適応させるにはどうすればよいか助言下さい。
>>161 バーチカルラインで繋げばいいじゃない
$sites = '(?:aaa\.com|bbb\.net|ccc\.org)';
逆に聞くけどposixのregexライブラリってキャラクタクラスのなかでもエスケープせにゃならんのか?
164 :
nobodyさん :04/11/22 23:01:52 ID:i4ElPupu
$AAA = "aaa.com|bbb.net|ccc.org"; これでいけました が、次は正規表現の部分もおかしかったみたい スマートに入れ替えるのはないかな、、
>>163 分かってるんだと思うが、んなこたーない。
166 :
nobodyさん :04/11/23 00:55:51 ID:kHwx1zAl
やはり出来ないようだ、、、
167 :
nobodyさん :04/11/24 13:50:59 ID:B8VC6+a2
質問させてください。 PHPの練習でクッキーを作成してみようと思い 以下のようなコードを書いたのですが、クッキーが出来ません。。。 ブラウザはIEで、保存場所の C:\Documents and Settings\ID\Local Settings\Temporary Internet Files を何度も確認したんですが、まったく作成されません。 もちろんブラウザのクッキーもONにしているのですが。 ソース <?php setcookie("name", "data"); ?>
>>167 有効期限入れないとIEじゃ確認できないよ
値そのものは入ってると思うよ
それと有効期限設定しないで確認したかったらネスケにしてみ
169 :
167 :04/11/24 14:40:07 ID:B8VC6+a2
>>168 レスありがとうございます!
時間指定の事を指摘されましたので
今度は以下の様なコードを実行してみたのですが
やはりクッキーは作成されません。。。
<?php setcookie("name", "data", 60 * 60); ?>
もちろんこれも確認できません。。。
<?php print $_COOKIE['name']; ?>
cookieのテストの一般的な方法としては、 1.適当なcookieを喰わせてみる 2.cookieの値を取得する の2段階が必要。 以下適当なサンプル <?php if(empty($_GET['check'])) { /* cookieを発行しこのページにリダイレクト */ setcookie("test", date("YmdHis")); header("Location: " . getenv("PHP_SELF") . "?check=1"); exit(); } else { /* cookieの確認 */ if (empty($_COOKIE['test'])) { echo "cookieがセットされてないよ。"; } else { echo "cookieの値は=" .$_COOKIE['test']; } exit(); } ?>
171 :
167 :04/11/24 15:36:50 ID:???
>>170 サンプルコードどうも!
そのコードを実行させて頂いた所、問題なく値が取得できてましたので
自分のコードをよく見直してみたら。。。
setcookie("name", "data", 60 * 60);
~~~~~~~
うぉおおおおおおおおおおおおお!!!
思いっきり time() が抜けてました!!
time()をいれて実行すると見事にクッキーが作成されました。
まったくお騒がせしました。
サンプルコードまで書いて頂き、本当にありがとうございました!!
172 :
nobodyさん :04/11/25 11:18:41 ID:50OS9jax
http://www.komonet.ne.jp/~php/program/chap3.htm ここの掲示板なんですけど
if($pline == "")
$p_line = 0;
else
$p_line = $pline;
$end_data = $msg_count - 1;
$page_end = $p_line + ($page_view - 1);
if($page_end >= $end_data)
$page_end = $end_data;
for($i = $p_line; $i <= $page_end; $i++){
list($code2,$name2,$email2,$subject2,$comment2,$now2) = split( ",", $message[$i]);
の部分がいまいち理解できないんです。
次のページに跳ぶ為のフォームのところって言うのはわかるんですけど
これを参考に作ってるんですけどなかなかうまくいかなくて・・・
適当でも構わないので説明してもらえませんか??
>>172 そこで使ってる変数ひとつひとつ、何を示してるかリスト化してみな。
処理はforの中のlist()=split()以外はページングの処理だけど、
変数の意味が判れば難しくない。
174 :
172 :04/11/25 11:41:25 ID:???
自己解決しました。板汚しすまん
175 :
nobodyさん :04/11/25 13:33:41 ID:yWKV+q9s
PHPのオブジェクト指向を解説してるサイトありませんか? ググッてみたんですけど見つかったのは 現実世界の変な例えを用いてるサイトばかりで混乱してしまいました 抽象的な説明ではなくコーディングベースでどう書いたら良いか説明しているサイトとか書籍って無いですか?
>>175 日本語だと「Do You PHP?」ってサイトとか。
英語だとZendのところを筆頭に、色々と。
書籍は知らない。
>>175 遠回りだけども、まずはオブジェクト指向をちゃんと勉強した方がいいと思う。
じゃないと、俺みたいに
「クラス使ってるけどただの構造化プログラミング」
という状態になる。
>>177 >「クラス使ってるけどただの構造化プログラミング」
俺のことだ orz
でも、これもこれで便利だったりするんだけどね。
オブジェクト指向なんて構造化の延長なんだから
乗算とか除算とか、楽な範囲ならシフト演算使ったほうが負荷軽減に繋がりますか?
有意かどうか、試せばすぐに分かる。
>>175 「PHPの」っていうからには「他の言語の」OOと違うことを求めてるんだろうけど、一体何だろう。
いままでプロトタイプベースのOOPばかりやってきたとか?
言語仕様としてクラスがないと分かりにくいよね
phpには、「phpのオブジェクト指向」っていうほど奇抜な部分はないんじゃない
特徴と言えばオブジェクトの粒度が巨大ってことかな
コーディングに関してはzendの説明が全てで、これ以上はなんもありません
以下はずいぶん昔よく参考にされてたサイト
http://www.phppatterns.com/
昔と違って最近は解説サイトも流行らんからな
185 :
nobodyさん :04/11/26 04:37:39 ID:hasryHcK
インターネットに接続しているかどうかを判別する シンプルかつ確実な方法を教えてください
186 :
nobodyさん :04/11/26 04:51:58 ID:yOcL1Cw3
池沼現る
>186 透明人間現るっていうのは、透明なのに現るっていうとこがミソなのに
そこへなぜかOreilly現る
PHPの初歩を勉強しているものです。 本を読みながら勉強しているのですが、 以下のような、if文はどういう意味となるのでしょうか? if ($fp){ 処理文・・・ 処理文・・・ } $fp は、ファイルポインタなのですが、ファイルポインタを開いてる 時だけ、処理を行うって事で良いんでしょうか?
その通り。 if ($hoge) { } は、Trueの時。 if (!$hoge) { } は、Falseの時。 マニュアル読んだほうがいいかと思われ。
>>189 その$fpを作成している行で使用されている関数をマニュアルでひいてみ。
そして戻り値の型が何かを見れば分かると思うよ。
resource fopen ( string filename, string mode [, int use_include_path [, resource zcontext]]) ↑ リソース型ってようするにIntじゃないの?
196 :
nobodyさん :04/11/28 00:14:49 ID:EgpgTC8f
質問なのですが、自分が契約しているレンサバの Unixコマンドのパスが分かれば、PHPスクリプトから Unixコマンドの実行も可能でしょうか? nslookupを呼び出したプログラムを作りたいです。
>>196 やってみればすぐ分かるのに。
実行制限される要因はいくつもあるので試してみないと分かりませんよ。
checkdnsrr関数なんてのもあるけど、これも使えないようになってる場合もありますし。
>>197 制限されていなければ、使える可能性があるって事ですね。
気軽に試すスキルがあれば良いんですが・・・・。
レスサンクスです。
199 :
nobodyさん :04/11/28 03:28:20 ID:C3uMPLGO
test.cgiに #! /usr/bin/perl print "test"; exit; hoge.shtmlに <!--#exec cmd="./test.cgi" --> と書くと期待通りにtestと表示されます。 <!--#exec cmd="./test.cgi" --> と書くと何も表示されません。 <!--#exec cmd="./test.cgi"> や <!--#exec cgi="./test.cgi"> と書くと[an error occurred while processing this directive]と表示されます。 この違いはどうして起こるのでしょうか? #exec cgiを使いたいのですが、何が原因か解らず困っています。 何かアドバイスをお願いします。
>>202 最初にSSIでPHPのコードを読ませて、それをPHPで処理して
処理したらSSIのコードが内包されたたので、もう一度SSIとして処理して…
なんて話かと汲んでみたり。
できないことでもないが、そんな設定してる(Apache2)サーバもまずないだろうし、
書き足りない質問の意味を勝ってに汲むのもアレだと思い放置するつもりが
チラシの裏に書くつもりで2chに書いてみたり。
204 :
nobodyさん :04/11/29 03:24:35 ID:UN5rJ/7z
チラシと違ってログが残るがな。
206 :
nobodyさん :04/12/04 01:27:51 ID:0gTcgitu
本当にくだらないのですが教えてください。 PerlやCで作ったCGIと言いますが、 PHPで作ったCGIとは言わないのでしょうか? PHPで作ったPHPなんでしょうか?
PHPでつくったCGIという場合もあるしいわない場合もあるかと 自分の場合は apacheモジュールで動作するPHP = PHPのスクリプト apacheがプロセスを立ち上げて処理をするPHP = CGI だと思ってますが。。。 #但し、正しいかどうかは知らない
209 :
nobodyさん :04/12/04 03:24:23 ID:uQGoi0dJ
Flash Communication Server を使っていろいろ作りたいんだけど いい解説ページ知らない?
> PerlやCで作ったCGIと 慣用としてCGIをスクリプトの代名詞のように使うのはOKだけど、 CGIはインターフェイス規格だから、ちゃんとした場面では「PerlでCGIを作る」みたいな 破綻したコトバは使っちゃ駄目だよ そしてブルジョアはセミナー逝けよ
>>210 じゃぁ何ていうのがいいのか言ってみろよ
212 :
nobodyさん :04/12/04 21:33:44 ID:2TD2cEy7
PHPのみのファイルをauさんとこの携帯電話でアクセスしたら、 表示されないんだけどそういう仕様ってことで桶?
全然ダメだね
>>212 ( ・∀・)ノミ∩ くだらねぇーくだらねぇーくだらねぇーくだらねぇーくだらねぇー
>>212 auはプレーンテキストをtext/htmlで送るとエラーかえすよ。
216 :
212 :04/12/04 22:24:34 ID:2TD2cEy7
>215 リアルにありがとうございました。
>>217 ほらな、他に言いようねぇだろ?わざわざつまんねーことで揚げ足とってんじゃねーよガキ
まだCGIをスクリプトのことだと思ってる化石が生き残っていたとはw さすがにちゃねらーでは淘汰されたと思ってた。
昔はそんなんでもフレームになってたよな。CGIスレでコーディングはどうだとか CGIはインターフェイス仕様で〜みたいな定型レスも、えらい久しぶりに見た希ガス
「PerlでCGIを作る」と言っただけでなんで 「CGIをスクリプトのことだと思ってる」に繋がんの? お前が言う普通の人は「PerlでCGIを作る」のことをなんて言うのかな?
> 他に言いようねぇ
・・・すごい、語彙力です・・・
>>220 突っ込む方も飽きたんじゃネーノ。Perl作るとか言われても好きにして下さいって感じだわ
>>222 Perl作るとかCGI作るはどう読んでも完全アウトだろ。
インタプリタ作ったりRFC書いてるならともかく。
スレ違いだけど、PerlやスクリプトやWebアプリのことをCGIって呼ぶ奴そんなに居るか? 上に慣用で使うって言ってる奴いるけど、超ローカルな話じゃないだろうな。
PerlもスクリプトもWebアプリもCGIと同義ではありません
>>224 確かにマにはおらんかも。しかし営業に出たら、ソースコードだろうがASPだろうが
UIだろうがApp鯖だろうが、ありとあらゆるシステムをまとめてC・G・I!C・G・I !と
呼んでくれる素敵なIT担当の方はいらっしゃいましたよ。
>>209 PHPとのつながりも含めてわかんねーです。
MacromediaパッケージってColdFusionスレくらいしかないんですよね。。
>>226 肩書きだけだろw
CGIを探していますとかCGIを設置するとかCGIが動きませんとか
マが言ってたら死ぬほど引くわ。ザリガニの後ずさりくらい引くわ
ああC・G・I!はクライアントの話か よく読んでなかったスマソ
↑ここまでJR ━―━―━ ━―━―━ ↓PHPの話題来い ━―━―━ ━―━―━
↑路線内に入るなデブ
>>224 うるせーな。昔はザラにいたんだよ。fjとかで外人に低脳ジャップの言語は非合理ですね(プとか言われたんだよ
>>226 変態ColdFuzonスレが一本あれば十分すぎる
fj.*に2コン乱入してくるガイジンは低脳な法則
みんなPrefork? スレッドセーフオプション付きでコンパイルしてもApacheさんがいけずを言うので弱っています、、、。
>>232 apxs使わないと駄目なんじゃなかったけ。漏れは安全運転preforkなんでよく分からね。
何をまともな質問してんだよ。 そういうネタじゃないものは本家のMLを漁れ。
prefork・・・先・・・・・・割れ・・・
ラインクラフト一本かぶりすぎ
変数に文字列代入するときにperlのqq//に変わるような表現ってphpにあります? ダブルクォートをいちいち\でメタ指定するの面倒で
$hoge='""""""""""""'; どうぞ
>>238 それだと
$hoge = '"$hogege"';
print $hoge
で
"$hogege"
になりますよねぇ? 「.」でちまちま繋げろということなのか・・・
> ダブルクォートをいちいち\でメタ指定するの面倒で これが理由じゃねーの? > perlの○○に変わるような○○ってphpにあります? これいい加減飽きた。Perl使ってろって。 $hoge = <<<EOF "$hogege" EOF; どうぞ
>>240 あーすんません言葉足らずで
やっぱperl使いますハイ
>>237 うはwwwwwww死ぬほどがいしゅつwwwwwwww
失せろってリアリで言ったら プ で終わりだよね
ていうか言わないだろ。恥ずかしい。
247 :
nobodyさん :04/12/05 19:43:03 ID:uod8F4//
どんとこい
248 :
nobodyさん :04/12/05 19:47:55 ID:HJws9fwU
「〜」って文字がIEでみると文字化けしちゃいます。 モジラだとちゃんと表示されるんだけど・・・。 なんでですかね? 文字コードはEUCに設定して、 winで開発してサーバはLinuxでやっとります。 PHPは4でやっとります。 どうか知恵をおかしください。
で、該当文字化け部分が「EUC」において「〜」を表すバイト列(s)と一致することを 確認済みなわけだよね?
250 :
248 :04/12/05 20:08:41 ID:HJws9fwU
>>249 ん?といいますと?
もうしわけないです。
知恵足らずでおっしゃる意味が
理解できませんでした。
251 :
nobodyさん :04/12/06 18:12:09 ID:lq9+7sVw
PHPのアクセスカウンターなんですが、自作を含めて配布されているどこのカウンターを使ってもファイルが壊れてしまいます。 なので今はCGIを使ってるんですが… 使いたいのは今日昨日総合のカウントが表示できるカウンターで、今現在排他制御は $new = implode("|", array($now_time,$yesterday,$today,$allcount)); $fp = @fopen($log, "w") or die("異常終了"); @flock($fp, LOCK_EX) or die("異常終了"); fputs($fp, $new); flock($fp,LOCK_UN); fclose($fp); こんな感じにしています。 モバイルサイト運営、アクセス数は10万/日程度です。 どうして、排他制御できていないのかわかりません。 PHPスクリプトを配布しているとこのスクリプトも参考にしてみたんですが、やっぱり駄目です。 誰か教えて下さい。
排他制御に失敗してるわけじゃないと思われ。 コード的にはstream_set_write_bufferやignore_user_abortを加えたり、 Tempファイルに書いてリネームするよう変更するとか手はあるけど、多分解決しない。 サポートに聞くのが早そう。
>>248 ブラウザで確認せず、フックしたHTTPレスポンスそのものを見て原因を考えれ。
254 :
nobodyさん :04/12/06 21:46:10 ID:u8RjuTKE
セッションの保存先をMySQLにしたライブラリが どこかにあれば教えて下さい。
>254 公開ライブラリにするほどの物なのかと小一時間。。。
>>254 echo "hello world!!";
をライブラリにしないのと同じですよ・・
>>256 helloってほとんどの言語にライブラリがあるよ。
自分でリンク集作って、プチアンテナ(更新チェック)入れたい そこで、リンクの自動更新チェックはどういう考え方? ヘッダーのLast-Modifiedチェック?Content-Lengthチェック? それともページ読みこんでファイルの大きさチェック?
>>258 どこまで正確さを要求するかによる。そしてそれを決めるのはあなた。
260 :
nobodyさん :04/12/07 11:50:33 ID:/XwxshGE
フィールドに在庫数が入力されていて、例えば注文が入るとその注文数だけ在庫数から 引いてフィールドの値を更新したいとときって、一度そのレコードの在庫数を読み出してから 注文数を引いて、書き込まないとならないのですか? update DB set `zaiko`= 'なんたら - $tyumon' where kataban = '$kataban' このなんたらをどう書いていいのかわからないです。
update DB set `zaiko`= '`zaiko` - $tyumon' where kataban = '$kataban' ただし、在庫がマイナスになる場合もあるかと
262 :
260 :04/12/07 13:19:09 ID:/XwxshGE
>>261 だめみたいです。在庫が0になってしまいました
263 :
261 :04/12/07 14:26:21 ID:???
>>262 もともとzaikoカラムのデータはいくつで、
$tyumonにいくつの値を入れたら0になったの?
264 :
260 :04/12/07 14:51:14 ID:/XwxshGE
$tyumonの値も色々試しました。 zaikoの値は別のphpから自由に変えられるんでいろいろためしましたが 計算してるのではなくて単に0で上書きされてるっぽい感じですね
265 :
261 :04/12/07 14:57:24 ID:???
て、ごめん。 update DB set `zaiko`= `zaiko` - $tyumon where kataban = '$kataban' だ。 > update DB set `zaiko`= '`zaiko` - $tyumon' where kataban = '$kataban' の'`zaiko` - $tyumon'のシングルクオートは無しで。
266 :
258 :04/12/07 15:42:27 ID:???
わかりました。 あと色々なサイトのヘッダー見てるんだけど、サイトによって 受け取るヘッダーが違うから判定しにくいよね? ヘッダーの情報は良く分からないんだけど、鯖からの一方的な情報? こちらが要求したらそれを返してくれるの? 仕様で出来るのなら、最終更新情報を返して欲しい・・・
267 :
nobodyさん :04/12/07 15:55:18 ID:zbvL7j+y
クッキーデータを取得してその内容を表示させたいのですが IEではきちんと表示できるのにネスケでは表示されません。 アレイリストなんですがprint_rでやっても空白で何も表示されません。 クッキーマネージャでは確認できるのですがどうしてなんでしょうか?
269 :
260 :04/12/07 16:27:34 ID:/XwxshGE
271 :
nobodyさん :04/12/07 16:33:57 ID:BgW8Zl4i
APC 2.0.3 を PHP 4.3.9 で使ってみた。 Apache は 2.0.52 OS は Debian sarge ログを見るとところどころ apc.so doesn't appear to be a valid Zend extension なんてのが出てる。それに全然早くなったような気がしない。 同じ組合せでちゃんと使えてる人いる?
273 :
nobodyさん :04/12/07 17:56:14 ID:7aeZtChB
rand関数はアルファベットでは使えないんでしょうか? 0~9の数字以外にa~zのアルファベットも使いたいんですが どなたかご教授お願いします
当然使えない アルファベットの混ぜかたは用途次第で色々 自分で発明
chr(130) . chr(rand(159, 241))
アルファベットも数字ということを忘れてないだろうか? 数字がランダムに出せるのなら、アルファベットもランダムに出せる 意味わかるよね?
お前のキモさはよく分かった
278 :
こうたろう :04/12/08 02:02:36 ID:+LYJFTt5
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> </HEAD> <BODY> <P>フォームとPHPの連携</P> <FORM method="POST" action="smp4-01.php"> キーワード <INPUT size="20" type="text" name="keyword"> <BR> <BR> <INPUT type="submit" name="exec" value="実行"> <INPUT type="submit" name="cancel" value="キャンセル"> </FORM> </BODY> </HTML> にアクセスしてPHPと文字を入力してsmp4-01.php↓ <?php print $keyword . "<BR>"; print $exec . "<BR>"; ?> に飛ぶんですけど Notice: Undefined variable: keyword in C:\Program Files\Apache Group\Apache2\htdocs\smp4-01.php on line 3 Notice: Undefined variable: exec in C:\Program Files\Apache Group\Apache2\htdocs\smp4-01.php on line 4 どうしても↑になるのは何がいけないんでしょうか? 宜しくお願いします。
<?php print $keyword . "<BR>"; print $exec . "<BR>"; ?> POST使うなら print $_POST["keyword"]; print $_POST["exec"]; GETなら print $_GET["keyword"]; PHPの質問というか(ry
280 :
こうたろう :04/12/08 02:30:11 ID:+LYJFTt5
nobodyさんできました。本に書いてある通りやったんですがすみませんありがとうございました。
SSLを使って通信する場合でも、 httpsでアクセスするだけで、PHP内で特別処理を記述しないといけないようなことは無いですか?
>>281 そのスクリプトがどっかとSSLで通信するなら必要だけどな。
クライアント(Webブラウザ)とhttpd(Webサーバ)間がSSLで通信する話なら、
PHPが生成するコンテンツは関わりがないので、PHPの処理は関係ない。
283 :
nobodyさん :04/12/09 11:24:40 ID:Xf6MDZ8B
PHPでのHTTP認証が出来ません。PHPのソース自体に問題はないと思います 認証ダイアログが表示されるんですが設定した正しいID,passを入力してもログインできません php.iniかhttpd.confの設定に問題があるのでしょうか? 環境はwindows2000,Apache2.0,PHP4.3.2です。 ご教授ください、お願い致します。
>283 PHPのソース自体に問題はない、と言い切る根拠は?
俺が書いたソースに問題あるわけ無いだろ
286 :
283 :04/12/09 14:18:17 ID:Xf6MDZ8B
>>284 レスありがとうございます。
詳しい情報を書かずに申し訳ないです。
>PHPのソース自体に問題はない、と言い切る根拠は?
レンタルサーバーでテストしたところ問題なく動作しました。
レンタルサーバーの環境もApache,PHPの組み合わせでそのバージョンも
私が使用しているものとほぼ変わらないものです。
288 :
283 :04/12/09 14:50:48 ID:Xf6MDZ8B
>>287 何度か読みました。
ソース先のプログラムも動作しない状態です。
ちなみにphp.iniファイルにある「register_globals」はOn,Off両方試しました。
環境とソース。 話はそれからだ。
290 :
283 :04/12/09 15:14:30 ID:Xf6MDZ8B
>>288 >>287 さんのソース先から
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header("WWW-Authenticate: Basic realm=\"test\"");
header("HTTP/1.0 401 Unauthorized");
echo "駄目\n";
exit;
} else {
echo "<p> 名前{$_SERVER['PHP_AUTH_USER']} </p>";
echo "<p> パス{$_SERVER['PHP_AUTH_PW']} </p>";
}
?>
↑この場合、認証ダイアログに何を入れても名前とパスが表示されるはずですが駄目です。
ttp://strawberry.web-sv.com/cgi/up/ia/up3781.zip.html 上記ファイル(圧縮してあります)のようなソース組んだけど、
下記のようにワーニングが発生します。
----------------------------------------------------------------
1
Resource id #2
Resource id #3
松本
exec class
1
Resource id #4
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /var/www/htdocs/inctest.php on line 46
----------------------------------------------------------------
classの中でmysql_result()って使えないんですか?
上記行った環境はRedHat9での「Apache/2.0.48 (Unix) PHP/4.3.8」です。
292 :
291 :04/12/09 16:04:24 ID:???
293 :
291 :04/12/09 16:06:29 ID:???
・・・重ねてすみません。エラーコードの起こった状況では、 一部の空行とファイル名を変えてあります。 スレ汚し失礼しました。
294 :
nobodyさん :04/12/09 17:06:00 ID:X7sqCOnI
a.php と b.php で include('hoge.inc'); hoge.incを読み込んでいます。 hoge.incのほうで、a.phpにincludeされたか、b.phpにincludeされたか 判断する方法はありますか?
>294 $_SERVER["SCRIPT_FILENAME"]で判断する方法はいかがですか?
>>295 どうもサンキューです。
手元の本にはそれは載ってませんでした。
自己解決しました。すみません。
varで$付きで作った変数もfunction等の内部では$無しなんですね。
class test{
var $aaa="あああ";
function test(){
$this->bbb="いいい";
}
function run(){
$this->ccc=$this->aaa.$this->bbb;
}
}
$test2= new test;
$test2->run();
echo $test2->ccc;
http://pc5.2ch.net/test/read.cgi/php/1101111942/共々 、お世話になりました。
298 :
nobodyさん :04/12/09 21:13:40 ID:f+zCXoyx
PHP:4.3.2, Apache2.045, OS:WinXP home
本当にくだらない質問で申し訳ないのですが
これからPHPを学ぼうと思い参考書を購入したのですが
Apacheをインストールし、動作確認をしようと
アドレスに「
http://localhost/ 」や「
http:// (コンピュータ名)」を入力すると
ドット・ゲートサービスというのが表示され
ユーザー名とパスワードの入力をしなくてはならないようなのです。
パソコンを購入してパスワードというのを設定した記憶がないのですが
OSを再インストールしなくても、パスワードを確認することはできますか?
また、この画面は誰にでも表示されるものなのでしょうか?
これまでの設定の仕方に問題があるから、このように表示されてしまうのでしょうか?
何か分かる方いらっしゃいましたら教えてください。
よろしくお願いしますm(__)m
>>298 そいつはアパッチさんじゃない
パソ買ったときについて来たドキュメントを読め
ドットゲートサービスつーのは NΣCの番組予約のやつじゃなかったっけ? apacheを使ってたような気もするなぁ。 使わないのならそれを削除するもよし、そのまま別にapacheを入れるならポート番号を変えるとか。
>>299 探してみたのですが、それらしき物が見つかりません><
>>300 そうなんですか!?確かにNECのテレビ機能付きのPC使ってます。
それを削除というのはどうすればいいのでしょうか?
すいません、言語を学ぶのも初めてで分からない事が多いです><
>>301 メーカ製PCのプレインストールされているものの削除をここで聞いてわかるわけないだろ。
説明書を読むなりサポートに問い合わせろ。
>283 PHPはモジュールモードで動いてるのかい? CGIモードでは動かないよ。
PHPで,携帯の3キャリア対応したサイトを構築しようとしています。 Javaだと、1つのコンテンツを自動で3キャリア対応してくれる ミドルウェアがあると思うのですが、PHPではないのでしょうか?
>>304 xHTMLで書けば?
絵文字なんかは、自分でパースしなさい。
306 :
nobodyさん :04/12/10 20:48:38 ID:HIklTmI0
web制作板から誘導されてきました。 PHPのスクリプト内で書いた変数をjavascriptの内部で使うには どうすればいいんでしょうか?
絵文字なんかは、自分でパースしなさい。 絵文字なんかは、自分でパースしなさい。 絵文字なんかは、自分でパースしなさい。
308 :
nobodyさん :04/12/10 22:33:58 ID:RbQIvg7l
309 :
308 :04/12/10 22:37:54 ID:RbQIvg7l
DirectoryIndex index.html RewriteEngine On RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.*)/?$ /index.php$1 RewriteRule index\.html? /index.php スクリプトをひっぱってきました。これをどうにか いじればできると思うのですが、助言頂ければ幸いです。
彼が、日経ソフトウェア05年1月号で、PHP5のプログラミング記事を書いていて、
漏れが、その記事を見ながらApache2.0.52をインストールし、PHP5をインストールしたんだ。
で、php5ts.dllをコピーしてからC:\WINDOWS\system32のフォルダにペーストし、
php-ini-distファイルをコピーしてからC:\WINDOWSのフォルダにペーストして
php-ini.distのファイル名をphp.iniに変えたんだ。
で、C:\Program Files\Apache Group\Apache2\confフォルダ内のhpptd.confファイルへ
LoadModule php5_module c:/php/php5apache2.dllと
AddType application/x-httpd-php .php(拡張子.phpの前に半角スペースが必要?)の設定を記述したんだ。
これでブラウザ(IE)のアドレスに
http://localhost/を打ち込んで 、Apacheインストール時のテストページを
見れたんだ。
以上の設定を終えた後で、テキストエディタに<?php phpinfo(); ?>を記述し、
このファイル名をphpinfo.phpの名で保存し、
ブラウザ(IE)のアドレスに
http://localhost/phpinfo.phpを打ち込んで 、
phpinfo.phpファイルを見てみようとしたんだ。
で、サーバーが見つかりません、ページを表示できません、でphpinfo.phpファイルを見れず、
彼の記事どおりに再現できなくて困っているんだ。トラブルの箇所が分かりませぬ。
たぶん、hpptd.confファイルの設定あたりだと思うんだが。
どなたか、未熟な漏れに教えてくださらんか。おながいします。OSはWinXPです。
>>311 レスども。はい、再起動させました。その後からブラウザにアドレスを打ち込んだけど、ページを表示できませんとなってしまいます。
オラが適当にまとめてみただ。適当に改竄もしてみただ
環境
WindowsXP
apache 2.0.52
php5 ver不明
日経ソフトウェア05年1月号の参考にしてインストール。
インストール後にしたこと
php5ts.dllを C:\WINDOWS\system32\ にコピー
php-ini.distを C:\WINDOWS\php.ini にコピー
C:\Program Files\Apache Group\Apache2\conf\httpd.confファイルを次のように修正
LoadModule php5_module c:/php/php5apache2.dll
AddType application/x-httpd-php .php
設定を有効にするためにapacheを再起動後、
http://localhost/ にアクセスすると apacheのテストページが表示される。
http://localhost/phpinfo.php にアクセスすると
「サーバーが見つかりません、ページを表示できません」が表示される。
apacheのログを見てみると、(以下略)
>>310 君が書き換えるべきファイルは「httpd.conf」だ、というオチではないよね。
315 :
nobodyさん :04/12/11 00:04:17 ID:px4SIOvm
すみませんが、教えてください。 require文で、新しいPHPファイルを呼び出した時に、 呼出元のファイルの情報を、消す・・・といった関数はあるでしょうか? やりたいことは、フォームに入力→OKボタン→別ファイルに移動・・・という事をやりたいのですが、 require文で別ファイルを、呼び出した時に、あたかも別のファイルにリンクしたように 見せかけたいのです。 よろしくお願いします。<(_ _)>
>>313 Apache2\logsフォルダのapacheのログファイルのことですか?
3つあるけど、どれですか?error.logのaccess.logのどちらですか?
install.logは違うでしょうし。
>>314 すみません、素で書き間違えました。hpptdじゃないです。httpd.confです。ファイル名と拡張子はhttpd.confに設定しています。
>>316 phpが有効でないだけならphpinfo.phpの内容がそのまま表示されるはず。
ファイルが無いなら404が返ると思うんだが、ちなみにphpinfo.phpは
どのフォルダにおいたの?
318 :
nobodyさん :04/12/11 00:30:26 ID:ZuNMSbNq
319 :
318 :04/12/11 00:31:54 ID:???
>>318 上の「>>」はアンカーじゃありません、念のため。
>>318 てか何でマニュアル読まないんだ?
煽りでも何でもなく純粋に不思議で仕方ない
>>315 ですが、くだらなすぎてスルーでしょうか?
どなたかお願いします。<(_ _)>
>>315 文章が意味不明すぎ
呼出元のファイルの情報⇒情報ってなに?
消す⇒消すってなに?
フォームに入力→OKボタン→別ファイルに移動⇒別ファイル?別ページじゃなくて?
あたかも別のファイルにリンクしたように⇒リンクって何?<a href=〜とは違うの?
325 :
318 :04/12/11 01:03:53 ID:???
>>321 有り難うございます。早速ぐぐってみますた。が
さっぱり意味がわかりませんでした。
この部分で一体どういう事をしようとしてるのか
簡単でいいので解説していただけませんか?
sql文の結果である$rsをmysql_fetch_arrayで
一行ずつ表示していくときの一回目だけ
連想配列でキーと値を取り出して、値は読み飛ばして
これを見出し行にしてるのはわかるんですが・・・
あと追加ですが、for文が二回(見出し取得とレコード取得)出て来ます。
reset($item);のresetはポインタを頭に戻す、と認識していますが
1回目のforの直前でresetしてるのは、たんなるおまじないみたいなもの
なのでしょうか?
326 :
318 :04/12/11 01:08:00 ID:???
>>322 もちろん「php >>」などでググってみましたが
すくなくとも自分の知識では、これだというものは
見つけられませんでした。
もちろんマニュアルでも検索かけましたが
「>>」じゃちゃんと引っかからないようです。
>>326 ググりかたがいまいち
「"ビット演算子とは"」で検索とか。(「"」もつけてね)
328 :
318 :04/12/11 01:14:44 ID:???
>>327 自分の乏しい知識では演算子とすら思ってなかったんです。
リダイレクトとかそんな感じのやつかは思いましたが(perlほとんどわかんない)
というわけで、いい加減な態度で質問したのではないということだけは理解していただきたいです。
329 :
nobodyさん :04/12/11 01:16:12 ID:px4SIOvm
>>324 すみません。別ページの移動です。
perlだと、<FORM ACTION="別のページ"・・・で、
変数の内容を引き継いで、別のページへリンク出来ますが、
PHPで同じ事をするには、どうすれば良いか悩んでます。
別のページへ移動するのでは無く、requireで、別のページを読み込むことが
出来ると知ったのですが、ファイルの読み込みだと、フォームの内容が残ってしまいます。
例として、フォームメールの場合、
フォームに、情報を入力→OKボタンを押す→(別ページへ移動)この内容で良いですか?→OKボタンを押す
→メールを送信しました・・・という動作が一般的だと思うのですが、
requireで、この内容で良いですか?と表示した時に、フォームの表示を消す事が出来るのでしょうか。
説明が変ですみません。
II. 言語リファレンス - 10章演算子 - ビット演算子 に載っとる。
ビット演算子の意味が分からん場合は、
>>327 。
>>328 プログラム中に記号、しかも代入演算子の右辺って着たら演算子だろうって見当がつく
で、マニュアルの演算子ページのTOPに優先順位表みたら>>があるのでやはり演算子
あとは順番に各演算子をあたっていけばビット演算子の右シフト演算であることが分かる
そこにはご丁寧に(各シフトは "2で割る" ことを意味します)とまで書いてくれてある
じゃあなんで2で割ってるのか?
$itemにはmysql_fetch_arrayの戻り値が入ってる
マニュアルでmysql_fetch_arrayを調べて説明を読むと
カラム1個毎に要素2つ(index番号とカラム名)持つことが分かる
>>329 フォームデータの送信ならPHPだって<FORM>だぞ?
なんでrequireが出てきてるのか意味不明
332 :
324 :04/12/11 01:30:09 ID:???
>>329 「ページ」と「ファイル」が頭の中でごっちゃになってると思われ。
requireで読み込むのは「ページ」じゃなくてあくまで「ファイル」だよ
requireの説明読み返したほうがいいと思われ
>>329 perlの時と同じやり方でやればええんでないの?
適切にformの中身を書けば、$_POST or $_GET で受け取ることができる。
requireに拘る理由が分からん。
入力フォーム -> 確認フォーム -> 送信完了画面 としたときに
各「→」の部分でhttp的には処理が終了するってことを理解してる?
perlでもその辺は変わらんよ。hiddenやセッションで値を引き継がないといけない。
$_POSTとか$_GETとかよりも、$_REQUESTのほうが、 いちいちpostかgetか判断しなくてすむから、$_REQUEST使いまくりなんだけど、 これって何か問題あります?
336 :
nobodyさん :04/12/11 01:43:24 ID:px4SIOvm
最後にもう一回だけレスさせてください。test.phpと、test2.phpがあったとした場合 @test.php <?php print "ここは、test.phpです。<BR>"; require ("test2.php"); ?> Atest2.php <?php print("ここは、test2.phpです。<br>"); ?> ↑これを、test.phpから実行すると、結果は、↓のようになります。 ここは、test.phpです。 ここは、test2.phpです。 この場合の、1行目の「ここは、test.phpです。」というのを、削除したいのですが可能でしょうか。 意味不明だったら、すみません。出直します。
お前本当に読み返してんのか?
すみません。書くのに夢中になってました。
>>333 の方法で出来るんですね。
perlと同じようにやってみます。ありがとうございました。
339 :
320 :04/12/11 01:54:33 ID:???
あのー、どなたかお答えしていただけないでしょうか?
>>339 ログ嫁とまで言われてるのに読まないヤツはただの馬鹿。
インストールしたばかりなら量も大したこと無いだろうから全部読め。
341 :
318 :04/12/11 02:42:51 ID:???
342 :
318 :04/12/11 03:05:07 ID:???
なんかおそろしく頭がこんがらがってきました。 count( )は、その前のsql文の結果をmysql_fetch_arrayした 配列のインデックス数。 例えばsql文が select hoge,hage,fuga,fuge from table だとしたらインデックス数は4じゃなくて、 インデックス番号と、フィールド名を持つから8。 だからそれをビット演算子で割ると半分の4で sql文やselect *としたときのテーブルによるフィールド数の違いに 関係なく指定フィールド(列)を読み出せる 後半のレコードそのものの読み出しでは その$item[$i]の$iを$clctに達するまで繰り返す、 こんな理解でいいのでしょうか? なんか違う気がしてきたせdrftgyふじkろ
343 :
sage :04/12/11 05:19:31 ID:c8kefEb0
なんかおそろしく頭がこんがらがってきました。
>>207 蒸し返してあれだけど、CGI版はとりあえず忘れて、
モジュール版PHPって(実質apacheの)SSI独自拡張って解釈はOK?
ソース探した:
php本家はスクリプト言語とか言ってる
php日本ユーザ会のFAQは「CGIです」とか断言しちゃってる
apache本家は「PHPとSSIは」とか言ってる
wikipedia(米)だとASPとかColdFusionと並んでSSIの一種だと
おまいら……
#凄くどうでもいいが
#SSIはNCSA HTTPdのSGML解釈仕様が元になってて
#同じくNCSA産のCGI仕様も
#ずっとInternet-Draftで放置プレイだと思ってたら
#知らん間にRFC通ってた(3875)Informationalだけど。
#仕事でドキュメント書くんじゃないなら調べねーYO
#マとしてCGI探すってこういうこと?(絶対違う)
>342 それであってるよ。 2進数を理解していればビット演算子も理解できると思う。 コンピューターを扱う以上知っていれば何かと便利だから 覚えておいた方がいいよ。
345 :
nobodyさん :04/12/11 07:19:26 ID:JVWsKpTP
質問です。よろしくおねがいします。PHP4です 半角・全角の混じった文字列の先頭10文字を抜き出したいのですが… やはり
誤って送信しちゃいました。。。<(_ _)> 同様のあまり「やはり」何て書こうとしたのかわからなくなりました…… とりあえず以上でお願いします。。。
一応やったことと言えば $sub="re:タイトル文字-12月9日みたいな感じ"; $sub=mb_strcut($sub, 0, 15)."…"; とやってみたりしたのですが、文字が寸断される場所によっては、その最後の文字が 化けてしまうことがあるのです。なぜなのでしょう…?
>>347 す、すいません。。。どうやら文字化けをするのは"…"がいけなかったようです。
申し訳ありません。ところがもう一つ問題が出てきたのですが、切り出した文字の
後ろに ・ ←この点が付くようになってしまいました。むむむ。。。
>>348 2バイトコードの1バイト目でぶった切られているため。
2バイト文字、1バイト文字混在というところがキモ
echo "$var[a][b]"; → Array[b] 糞仕様?
駄目プログラマだな
352 :
318 :04/12/11 14:43:11 ID:???
>>344 レス有り難うございます。
まだ自分の脳内ではすっきりしてないですが
後は自分で深く考えてみます。
353 :
320 :04/12/11 15:04:55 ID:???
>>353 apacheのログについての解説ぐらいぐぐれ
355 :
320 :04/12/11 15:16:28 ID:???
350 の糞仕様についての説明まだ? ヒアドキュメントでも使えないから不便だわ
358 :
320 :04/12/11 15:33:11 ID:???
>>349 mb_strcut、mb_substrはマルチバイトの処理をできるのではないのですか?
何かうまい方法があるのならご教授ください。
>359 問題無いはずだぞ。 mb_internal_encodingはどうなってる?
>>360 嗚呼っ サーバはEUC-JP、自宅ApacheはAutoになっとります!
……えーと……さてどうしたらよいものやら…
362 :
nobodyさん :04/12/11 17:10:11 ID:SpxCpNAc
フリーのCGIを探しているんですが、何処の検索サイトがお薦めですか? ZOOと206以外で。
>361 ひょっとしてshift-jisで書いてるとか? 始めにこれを入れてみ。 mb_internal_encoding('スクリプトの文字コード');
>>365 ううう…感謝感激……やっとまともに動きました。。
とある日記プログラムを改造していたのですが、仰る通りソース自体も扱う文字も
ShiftJISでした。ありがとうございますた。。。
mb_internal_encodingがEUCの場合、ソースも保存するログなども全部EUCにした方が
よいのでしょうか?(なんてまだ文字コードの扱い方自体よくわかってませんが…)
>>366 文字コードわかってないなら、EUCにしといたほうが無難
>>367 ははっ 仰せのままに。。
ところでEUCで作っている場合、例えばPHP上でファイルを新規に作成して、その中に
日本語の文字列などを保存すると、それもEUCになるわけですか・・?
>>350 なんでスルーされるのかわからないんだけど?
くだらない質問スレでしょここ?
どうしてこんな仕様なのか教えてくださいよ
>>370 質問の意図がわからないよ。
仕様が糞なのかどうか聞きたいの?
ちゃんと表示する方法聞きたいの?
ただの釣りなの?
>>370 説明しよう!それはおまいが
↓
"
そうやって文字を表示したいですよって言うからPHPの中の人が
$var[a][b]
この中から必死になって文字として解釈できる部分を抜き出してくれてるんだよ。
そして余りの中にたまたま配列として解釈できるものがあったからそのまんま
表示してくれてたんだよ。
というわけで糞はおまいだ。
つーか
>>350 みたいなのはパーサーエラーで弾いてあげるべき。
(PHPは)配慮してくれないと。
>>371 表示する方法あるのですか?
ついでになんでそういう仕様なのか知りたいです
マニュアルも読まん屑は死ね
MySQL使って入力フォームから検索できるようにしてるのですが、 全角記号の文字列で検索すると漢字?で検索されます。 例)<>で検索すると「磧」での検索結果が返ってくる 入力チェックでmb_convert_kana($keyword,"a")とかはしているのですが "a"だと英数字しか変換できないのでしょうか? また、どうすれば全角記号を半角記号に変換できるのですか?
JIS SJIS EUC Uni 字 6321 E240 E3A1 78E7 磧 2163 8183 A1E3 FF1C < 2164 8184 A1E4 FF1E > まぁ、なんつーかアレだね。EUCだと <> = A1E3A1E3 = A1 E3A1 E3 = A1 磧 E3 だね。
適当すぎ
>>381 そうか?
まあ377はフツーぽいから大丈夫だろ。
383 :
377 :04/12/11 23:29:12 ID:???
レス有難うございます=>378,380,381 まだいまいち解からないのですが、関数で一発変換できないって事ですよね。 ちょっと調べてみます。すいません。
変換は一応やるとして、それとは別にマルチバイト境界で切って検索してくれる方法を探したほうがいい。
>>375 仕様は372に書いてある通り。表示したいなら
echo $var[a][b]; はずす
echo "{$var[a][b]}"; 囲う
など。
>>385 372 の説明じゃわからないけど君は神
>>384 本格的にやるなら分かち書いてインデクス作ることになると思われ。
MySQLはどうか知らんけど、たぶんPHPの関数がSQL文の中で使えるんで、
Likeでざっくり拾ってふるい落とすほうがいいんじゃ。
MySQLにマルチバイトサーチ用の関数があるならそれで終わりだけどさ。
>>385 ダブルクウォートの中じゃ定数は展開されないよ
>>388 ?
$var[1][2]="ahoo";
$a=1;
$b=2;
define(c, 1);
define(d, 2);
echo "{$var[$a][$b]}<BR>";
echo "{$var[c][d]}<BR>"; //表示されますが何か?
echo "面倒だから外に出せって→".$var[c][d]."←な。";
定数も知らんのがいるのかよ・・・。
釣りだよw
393 :
nobodyさん :04/12/12 00:39:04 ID:wAYqFsMF
LISP最強
でもなんか、{$hoge}じゃなくて、$[hoge}でも表示されるのが、 なんか気持ち悪いんだよな。 自分、perlとphpしか知らないからあれなんだけど、 他の言語でもそーだったりするの?
395 :
nobodyさん :04/12/12 00:42:06 ID:4BZIpn/K
Apache,PHPをインストールして動作確認しようと テキストエディタで作成したファイルをブラウザで表示すると <?php phpinfo(); ?> 何も表示されません(というか繋がりません) 何か考えられる原因がありましたら教えてください。 これから始めようと思っている者ですが、よろしくお願い致します。 OSはWinXPです。
テキストエディタで作成したものが <?php phpinfo(); ?> ↑ これという事です。 紛らわしいような気がしたので書き込みしておきますm(__)m
さて…どこから手をつけるか…
>>395 PHPを導入するときの「httpd.conf」の設定のやりかたを見つけて、3度よみかえせ
>>399 PHP云々以前に何も表示されないようだが。
ならスレ違い、だな。
>>397 くだスレの回答者は通常の3倍頑張る必要があります。
>>313 あたりにも同じような質問があったな。
嫌がらせも兼ねて考えられる原因を10個ほど書いてみたんだが、
条件の分岐が多すぎて正確に書くのがめんどくさくなって止めた。
まぁなんだ、繋がらんつーのをもっと詳しく説明すりゃ原因も突き止め易いと思われ。
404 :
nobodyさん :04/12/12 01:01:31 ID:4BZIpn/K
>>399 「httpd.conf」は何度も見直したので間違ってはいないと思います。
一応、書店で購入したPHPの本を読んでその通りやっております。
>>400 何も表示されませんが、一応繋がろう(?)とはします。
下の数値が38%くらいまでいくのですがそれ以上あがりません。
書籍が古いんじゃないの。 付属のCDなんか使ってたりして。
>>405 いやだからそれ以前にapacheさんがね
>>404 まさかFWが働いてるなんて言わせないぞ。
409 :
nobodyさん :04/12/12 01:07:11 ID:4BZIpn/K
あ、なんかApacheを一度Stopさせて Startさせたら表示されました。 皆さんお騒がせして申し訳ありませんm(__)m どうもありがとうございました。
____ r っ ________ _ __ | .__ | __| |__ |____ ,____| ,! / | l´ く`ヽ ___| ̄|__ r‐―― ̄└‐――┐ | | | | | __ __ | r┐ ___| |___ r┐ / / | | /\ ヽ冫L_ _ | | ┌─────┐ | | |_| | _| |_| |_| |_ | | | r┐ r┐ | | | / | | レ'´ / く`ヽ,__| |_| |_ !┘| ̄ ̄ ̄ ̄ ̄|‐┘ | r┐| |___ __|. | | | 二 二 | | |く_/l | | , ‐'´ ∨|__ ___| r‐、 ̄| | ̄ ̄ | |_.| | / ヽ | | | |__| |__| | | | | | | | __ /`〉 / \ │ | |  ̄ ̄| | | / /\ \. | |└------┘| | | | | |__| | / / / /\ `- 、_ 丿 \| | ̄ ̄  ̄ ̄ く_/ \ `フ |  ̄ ̄ ̄ ̄ ̄ | | | |____丿く / <´ / `- 、_// ノ\ `ー―--┐ `´ `‐' ̄ ̄ ̄ ̄ ̄`‐'  ̄ ` `´ `ー' `ー───-
おまでとう
本日は閉店ー 本日は閉店ー
頼むから、設定はStopさせた状態で行ってください・・orz
>>414 ハァ? そんなことしてる奴いないって…
Restart
または reload
>>418 > 大切なのは親と子供のコミュニケーション
なるほど。
PSPとP2Pは関係ないんですか?
PSPのソフトはP2Pに流れるでしょう。 PSPのソフト開発者が趣味などでPHPを利用することもあるかもしれません。
422 :
nobodyさん :04/12/13 15:07:23 ID:HQdJIlzR
質問なのですが、smp1.phpで作った変数をsmp2.phpに 渡すにはどうすればいいんでしょうか?
423 :
nobodyさん :04/12/13 15:50:46 ID:Yhe8jQHU
424 :
nobodyさん :04/12/13 17:19:08 ID:+DcOk7yo
ww日xx時yy分zz秒からaa日bb時cc分dd秒の間の時間を計りたいのですが 効率的な計算方法が思いつきません。どうしたらいいでしょうか? 時間は24時間表記です。 また、必ず ww日xx時yy分zz秒 < aa日bb時cc分dd秒 になっているものとします。
time()
mktime()
omanko()
>>422 セッション渡し、シリアライズしてhiddenなんかでPOSTしなおす。
UNIXTIMEに直して、直接引けばいいんじゃない?
例えば年齢を計算しようとしたらunixtimeじゃオッサン、オバハン、ジジババ、歴史上の人物の年齢は計算できん。 地道に計算するかデーターベースに渡して引き算。目的によって対策も異なる。
ぬけさくw
>>430 人物上の年齢を知るために、分も秒も必要なんだ
完ぺき主義なんだねw
低レベルな釣り
>地道に計算するかデーターベースに渡して引き算
>>414 もそうだけど、すごい馬鹿なのかちょっとしたお茶目なのか理解に苦しむな。
まあ太ももまぶしい半ズボン少女だと思えば耐えられるレベルだが。
お茶目なフトモモ少年だよ
>>432 分秒が必要なんじゃなくて、PHPで利用可能なUNIXTIMEの範囲だと無理ってことだろ。
まあそんなことじゃなくても書物に記載されてる歴史上の時刻を扱うのは案外面倒。
新暦旧暦の違いや、日本国内での地域の差(違った年号使ってたりする)なんかは代表的な問題だね。
>>432 は煽っただけだ。
まぁUNIXTIMEをそのまま使わなくても、それの考え方を自分で利用すれば
上手く行くんじゃない?
どうせどこかにLIBがありそうだけどさ。
とりあえず、
>>424 には年自体登場していないわけだが。
つまり、年の変わり目にはエラー起こすと。 仕様が仕様だけでに仕方ないな
つーか月すら登場していないわけだが。
まぁ人の仕様を外野がとやかく言うもんじゃないだろ。
とりあえず
>>430 、
>>436 は勘違いも甚だしいってとこで。
.htmを.phpにすれば、htmlの記述しかなくても phpファイルとして認識されるんですか先生。
そうだよ
PHPってピーエイチピー、ピーエッチピーって長くて読むのが かったるいのでもう少し短い呼び方はありませんか先生。
ペーハーペー ペハペ キハ58系
ぴっちぴ。 漏れはそう詠んでる。
ぺへ
447 :
422 :04/12/14 13:54:03 ID:???
>>428 さん
セッション渡しで上手くいきました。ありがとうございました。
448 :
nobodyさん :04/12/14 14:13:20 ID:7eJqC5my
for文を使って for($i=0;$i<=10;$i++){ $a$i=$i; } と書くと文法エラーとなってしまいます。$a[$i]として配列にいれればエラー はでないのですが、そうすると$a[0],$a[1],....に値が格納されてしまいます。 $a0,$a1,$a2....に値をいれる方法はありませんか?
for($i=0;$i<=10;$i++){ $a[]=$i; }
なんでそんなことをしたいのかが理解できません。
for($i=0;$i<=10;$i++){ $a{$i}=$i; }
?????????なんで配列じゃあかんの
$a = range(0, 10); でええやん。
理由書けば教えるで
for ($i=0; $i<10; $i++) { $var = 'a'.$i; $$var = 'Value No.'.$i; }
for ($i=0; $i<10; $i++) { ${'a'.$i} = $i; }
457 :
441 :04/12/14 19:55:48 ID:???
>>442 ありがとう先生!
普通に作ったファイルに、借りてきたテキストカウンタとか
埋め込みの更新履歴とか入れるよ!.phpに変えて頑張るよ!
yobidashi.php と shori.php があって、includeとかを使わずに yobidashi.phpからshori.phpに値を渡して、実行させるにはどうすればいいですか?
前提が曖昧で良く分からんが、普通は$_GETや$_POST使うんじゃないの? 使えない理由があるならそれも言ってくれないと。 使えるのならinclude使えばいいんだし。
yodobashi で shiori ですか?どうなんだろ。。。ギャルゲーは詳しくないので。。。
461 :
nobodyさん :04/12/15 06:35:33 ID:c1PBHTJP
サーバーのロードアベレージを表示させるにはどうすればいいですか?
MRTG使えや
使ってくださいだろボケ
何様だカス
465 :
nobodyさん :04/12/15 12:08:52 ID:jR5T9TM1
HTMLのフォームから受け取った値がシフトJISだと正常に表示されますが、 そのページの他の文字が文字化けしてしまいます。 そこで、Unicode(UTF-8)でページを表示させたところ、フォームから受け取った値が 文字化けしてしまいました。どのようにしたら直りますか? $post_name = $_POST[q18]; print "<HTML><HEAD></HEAD>"; print "<BODY>"; print "文字化けテスト";←Unicode(UTF-8)で正常に表示、シフトJISだと文字化け print $post_name; ←Unicode(UTF-8)で文字化け、シフトJISだと正常に表示 print "</BODY></HTML>";
文字こーーーーーーーーーーーーーーーどをといういついいいあすいするるううううううううううう
>>465 文字コードについてとっても勉強してください。
>>465 ・フォームのあるHTMLの文字コード
・phpファイルの文字コード
・そのphpファイルによって実際に出力される文字コード
・出力されるHTMLソースのcharset
全ての関連性を考える。
469 :
465 :04/12/15 12:42:48 ID:jR5T9TM1
あ、ちなみに mb_convert_encording 関数は使えません(;;
漏れもさ、内部をEUCにして、表示をShift_JISにしようと 努力してるが、どうにもならん。もうイイやとおもって表示もEUCにしてる。
マルチバイト関数が使えればすぐできるけどな
>>472 mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = Shift_JIS
mbstring.detect_order = auto
でも上手く行かないの(´・ω・`)
他の場所かなぁ
釣りはよそ(ry
意図的にやってるとしか思えんw
>>464 フゥゥゥンドゥラーァアアッ!!!!!!!!
まじめに読んでないが、とりあえず解説キボンヌ
480 :
nobodyさん :04/12/16 22:29:00 ID:PbAx+XJ7
>>882 セントラルヒーティングを流用して作れば安くなる
481 :
nobodyさん :04/12/17 07:31:31 ID:gWMnrwJD
サイトのトップに 今日○人きたよ、昨日○人きたよ と表示するにはなんて打ち込めばよろしいですか??
次の質問どうぞ
483 :
nobodyさん :04/12/17 07:37:22 ID:gWMnrwJD
…だめなんですか?もう4時間は彷徨ってるけど 全然わからない(;_;)
単なるカウンタだろうがヴォケ
その単なるカウンターわからんのです 合計はでるけど、昨日今日の限定ものはでない
487 :
nobodyさん :04/12/17 11:38:27 ID:hH73RR0m
phpにperlのtr///に変わる関数ってあります?
489 :
488 :04/12/17 11:43:07 ID:???
ないと思う。strtr() は動きが違う。なので preg_replace() で書いたよ。あったら自分も知りたい。
491 :
487 :04/12/17 11:44:16 ID:hH73RR0m
普通にあったんだ・・・。 サンキューです!!
492 :
487 :04/12/17 11:50:36 ID:hH73RR0m
正規表現が使えないみたいな感じですね いろいろいじくってみます。
>486 昨日今日の集計出すにはどうすればいいか考えろよ。 それでどうしても分からないところが出てきたら聞きな。
494 :
nobodyさん :04/12/18 00:31:50 ID:y9v6BUDL
援交三千氏
>>496 >>497 レスありがとうございます
すいません、しっかりマヌアルにありましたね
"三項演算子" "php"でぐぐったらいくつか見つかりました
しかも2重カキコしてました スマソ
500 :
nobodyさん :04/12/18 02:48:34 ID:Si5Eecvi
画面に入力項目が20個とかたくさんある場合、 ポストされた値が数値か文字か、 何文字入力されているか、不正な値が入っていた場合はどうするか 等の処理はみなさん、どうされてますか? すべての項目を1個ずつifで聞いていくのはめんどいですよね・・ 自分は、フォームの項目の命名規則を整えて、 xmlに属性(数値・文字)lengthや不正な値の場合の処理 などを記述して、validation用の関数を作ればいいかなーって おもってるんですが・・・・。 なにかお奨めの方法があったら 教えてください。
>>493 iランドの特殊コードで表示しているから、##NN##以外わかりません…
>>500 PEARのHTML_QuickForm
Windows用のバイナリで4.3.9から4.3.10にバージョンアップしたら libmysql.dllのサイズが糞でかくなってました。 何でこんなにでかくなったんでしょうか?なんか怪しいです。
>>503 多分MySQL4.1用libmysqli.dllと合体したのだと思う
505 :
500 :04/12/18 09:58:27 ID:???
>>502 どうもありがとうございます。
こんな便利なものがあったとは・・・
ただ、自分の場合、既に
HTMLでフォームを書いちゃったので
今から書き直すのは大変かなァと・・^^;
はぁif文で聞くのはめんどいしなぁ。
506 :
nobodyさん :04/12/18 18:11:31 ID:TLjFNPt9
rand関数についての質問です。 a=rand(0,100); としたとき、0〜100の中からaで選ばれた数字を除いた範囲で 乱数を発生させるにはどうすればいいんでしょうか? b=rand() 括弧の中をどうすればいいかわかりません。 よろしくお願いします。
507 :
nobodyさん :04/12/18 18:43:11 ID:R/XzN+iF
PHP 5.0.2 をセットアップしたのですが、セッションが正しく動作しません。 (セッション変数に代入した値が保持されません) 環境は Windows 2000, Apache 1.3.33 です。 php.ini を書き換えなくてはいけないのでしょうか? session.use_trans_sid = On session.save_path = "C:/tmp" とし、c:/tmp は存在しています。
>>506 rand(start,end)である以上、特定の数値を除いた値を
一回のrand呼び出しだけで選出することはできない。
やりたいことが、重複しない値を2つ取り出したい、ということなら、
bを取り出す時にaと一致したなら再度bを取得すればよい。
取り出したい値の個数が2つ以上の場合でも同様のやり方でできる。
全ての数値を対象にするなら、shuffleを使っても良かろう。
>>507 > セッションが正しく動作しません。
どうやって確認したのか教えたくない理由を述べよ
510 :
507 :04/12/18 18:53:31 ID:???
ちなみに、現在の設定は以下の通りです。 Session Support enabled Registered save handlers files user sqlite Registered serializer handlers php php_binary wddx DirectiveLocal ValueMaster Value session.auto_startOnOn session.bug_compat_42OffOff session.bug_compat_warnOnOn session.cache_expire180180 session.cache_limiternocachenocache session.cookie_domainno valueno value session.cookie_lifetime00 session.cookie_path// session.cookie_secureOffOff session.entropy_fileno valueno value session.entropy_length00 session.gc_divisor10001000 session.gc_maxlifetime14401440 session.gc_probability11 session.hash_bits_per_character55 session.hash_function00 session.namePHPSESSIDPHPSESSID session.referer_checkno valueno value session.save_handlerfilesfiles session.save_pathC:/tmpC:/tmp session.serialize_handlerphpphp session.use_cookiesOnOn session.use_only_cookiesOffOff session.use_trans_sid11
511 :
507 :04/12/18 19:03:34 ID:???
c:/tmp を見ると、ちゃんとセッションファイルはできていました。 ってことは、セッション変数の参照方法が間違っているってこと? <?php session_start(); session_register("num"); ?> <html> <body> <?php $num++; print "カウントは $num です。 <a href='$PHP_SELF'>次へ</a>"; ?> </body> </html>
512 :
506 :04/12/18 19:42:04 ID:???
>>508 すばやい回答ありがとうございます。
shuffle関数を使えば解決できそうです。
>>504 ありがとうございます。
それなら納得です。
>>507 register_globalsの設定は?
>スクリプトでsession_register()を 使用している場合には、
>それは register_globalsを 不可としている環境下では動作しません。
515 :
507 :04/12/18 20:03:28 ID:???
>>514 register_globals = Off
になってました。
register_globals = On
にしたら、ちゃんと動作しました。
ほんとにありがとうございました(深謝) >514様
>>516 ところが、register_globalsはOffで、以下のソースだと動作しないんですよ。
<?php
session_start();
session_register("num");
?>
<html>
<body>
<?php
$num = $_SESSION["num"];
$num++;
print "カウントは $num です。 <a href='$PHP_SELF'>次へ</a>";
?>
</body>
</html>
>>517 だからマニュアルを読めと言ってるだろうが!
お前がやりたい処理のサンプルもちゃんと載ってるっての
519 :
nobodyさん :04/12/19 04:03:05 ID:pAwYOVm0
変数と文字列の結合したいのですが、どうすればいいでしょうか? 例: $a = abc 文字列:defで $b=abcdefとしたい
520 :
519 :04/12/19 04:05:25 ID:pAwYOVm0
間違えました。 abc.defとしたいです。
変数にある文字列が含まれているかどうか判断するために 使う関数おしえてくり
正規表現 ereg
strstrとかstrposでいいだろ
エロい人、助けてくださいな!
以前に、IPの範囲判定について質問したんだけど
さっぱりわからんですたい。
>>140 氏が
サブネットマスクでANDとってネットワークアドレスとXOR 結果が0か否か
って教えてくれたケド意味がわかんなくて…
この140氏のをもう少し具体的に教えてくれないでしょーか?
>>525 例: 192.168.1.55 が 192.168.1.0 〜 192.168.1.255 に含まれているかどうか
192.168.1.55 11000000 10101000 00000001 00110111
AND
255.255.255.0 11111111 11111111 11111111 00000000 サブネット
↓
11000000 10101000 00000001 00000000
XOR
192.168.1.0 11000000 10101000 00000001 00000000 ネットワークアドレス
↓
00000000 00000000 00000000 00000000
結果が 0 なので含まれていることになる
527 :
140 :04/12/19 20:59:06 ID:???
なんか発掘されててびっくり。 今読み直すと日本語が変だな。
528 :
nobodyさん :04/12/19 21:32:11 ID:o3WuAXTl
すみません、教えて下さい。 10進数を16進数に変換するプログラムを作成したいんですが、どうなりますか?
529 :
525 :04/12/19 21:39:36 ID:???
>>526 氏
ありがとうございます!
やっと140氏の言ってた意味がわかりますた!
140氏、改めてサンキューでした!
で、こねたら↓な感じになりますた。
もっとこないせい!ってなトコあればヨロシクです。
if( Check( '192.168.1.50' ) ){ echo('範囲内です'); }
else{ echo('範囲外です'); }
function Check( $ip )
{
$hani= '11000000101010000000000100000000';//192.168.1.0
$mask= 24;
$ips= split("\.",$ip);
$my_ip= sprintf("%08d",decbin($ips[0])) . sprintf("%08d",decbin($ips[1])) . sprintf("%08d",decbin($ips[2])) . sprintf("%08d",decbin($ips[3]));
for( $i=0; $i<$mask; $i++ )
{
if( $my_ip[$i] != $hani[$i] ){ return( false ); }
}
return( true );
}
530 :
525 :04/12/19 21:41:54 ID:???
>>528 10進数→16進数はdechexらしいよ(使った事ないケド)。
532 :
140 :04/12/19 23:56:43 ID:???
/********************************************************** * function chkIP($ip, $net, $mask=0xffffff) * 機能: $ipが$netのネットワーク内にあるかをチェックする * 引数: $ip = チェックするIPアドレス * $net = 期待されるネットワークアドレス * $mask= サブネットマスク(デフォルト255.255.255.255) * ※それぞれビット列orドット記法どちらでも良い * 返値: boolean 入っていればtrue *********************************************************/ function chkIP($ip, $net, $mask=0xffffffff){ // is_int($ip) or ($ip = ip2long($ip)); is_int($net) or ($net = ip2long($net)); is_int($mask) or ($mask = ip2long($mask)); return (($ip^$net)&$mask)^0; } 突っ込まれる前に行っておくとis_longは意図的ね。
533 :
140 :04/12/19 23:57:19 ID:???
うお、is_intのほうはってしまった(´・ω・`)ショボーン
PHP5でポリモーフィズムって どのように実装できるんでしょうか。
536 :
nobodyさん :04/12/20 05:26:34 ID:zyDWy5kg
すいません。いくら考えてもわからないので、教えて頂けませんか。 $arr=array(1,1,2,1,2,3) という配列があったとして、それぞれの 値の数を足したものを表示したいのですが、どうすれば良いでしょうか・・・ 1 3個 2 2個 3 1個 といった感じです。宜しくお願い致します。
>>536 自分で考えるのも大事だけどマニュアルも読もうぜ
ズバリそのための関数があるから
538 :
536 :04/12/20 13:01:02 ID:???
>>537 ありがとうございました。
マニュアル読み直したら、array_count_values()というのがありました。
これで出来そうです!
可変変数のstaticはやはり無理なんでしょうか? static $$tmp = new $tmp; 動的にインスタンスしたオブジェクトを保持しておきたいんだが… parse errorで止まっちまう
すいません、初心者です 用語とかの使い方も間違ってるかもしれませんが・・・ class s_class{ function sample($date){ echo $date[0]; echo $date[1]; } } ?> このようなクラスファイルを作り $test[] ="一番目"; $test[] ="二番目"; //配列データを作ってます $test1 = new s_class; $test1->sample("$test"); と、インスタンスを生成し、クラス内の配列の中身をechoで表示させるメソッドを呼び出しているのですが 「A」と「r」の文字が表示されるだけなんです メソッドに配列データを引数にする事は可能なんでしょうか? もし可能でしたらやり方を教えてください
>>541 $data = "$test" = "Array"
だから
$data[0] = 'A'
$data[1] = 'r'
$data[2] = 'r'
$data[3] = 'a'
$data[4] = 'y'
になる
答え
$test1->sample($test);
age
'2004-11-25' と '2004-12-21' を比較して 差分日数を算出したいんですが、 phpのシステム関数で可能ですか?
>>544 「日数」であればstrtotimeとか割り算とかで。
>>544 mktimeで比較して、差分を60*60*24で割る。
PHP+MySQLです。 select count(*) from 条件 select * from 条件 limit ほにゃ でやった場合、条件が複雑だったり、 textフィールドのlikeだったりすると、 重いクエリーが2回発行されることになってしまいます。 そこでlimitを使わずmysql_data_seek()と、 mysql_num_rows()でやると1回のクエリーで済み、 効率的!と思ったのですが、 全件fetchと同じぐらいの大量のメモリーを使うようです。 はてさて皆さんはどうしているのでしょうか?
どんな処理か分からないのに「どうしているか」なんて答えられるわけないだろw 一般論としてコネクションがボトルネックになるならサブクエリ+ストアド。
550 :
nobodyさん :04/12/21 17:02:20 ID:AvesOqOi
携帯サイトにメールを配信するphpを作成してます。
ボーダフォンにのみメールが送れません。
サーバの設定なんでしょうか?
誰か類似の問題で悩んだ人いませんか?
以下、ソースです。
<?php
mb_language('ja');
mb_internal_encoding("SJIS");
$rcd = mb_send_mail("
[email protected] ","メール登録","登録フォーム送信" , "From: ". "
[email protected] ");
if($rcd){
print " メール送信成功";
}
else{
print " メール送信失敗";
}
?>
神降臨キボン
何がしたいのか分からん mysqlでtextにlike検索かけることもありえないし
>>550 そのコードでためしてるの?
ならvodaの受信制限にかかってるんだと思うけど。
原因の切り分けをやりなよ。
554 :
553 :04/12/21 17:45:53 ID:???
555 :
nobodyさん :04/12/21 18:15:54 ID:AvesOqOi
vodaの受信制限ってどうすれば知れべれるの?
google
557 :
nobodyさん :04/12/21 18:33:37 ID:AvesOqOi
携帯で受信拒否の設定はしてません。 別のレンタルサーバからは同じスクリプトで メール送れてます。
>>553 まさにこれです!
素晴らしいです。涙です。
ありがとうございます。
Vodaなんぞにメールを送ること自体が間違い。
560 :
nobodyさん :04/12/21 19:10:55 ID:AvesOqOi
サーバのsendmailのmailertableをいじくったら 解決しました。 お騒がせしました。
561 :
500 :04/12/21 23:38:53 ID:wgtiEewb
あれから色々調べてみたんですが やはりHTML_QuickFormは使用できないみたいなので 自前で関数を作ることにしました。 連想配列でフィールド名をkeyにして それにたいしてさらに配列で データの属性や最大入力値をセットしておいて 検証していこうとかなーと思いました。 ↓こんな感じで。 $fields = array( "year"=>array("type"=>"int","length"=>4)・・・) この場合だと年のフィールドには数値が4桁入るみたいな感じです。 もっと効率のよい方法があればぜひ知恵を拝借したいです。 よろしくお願いします。
>>561 項目ごとに制限が変わるならif文で一個一個書いたほうが早いんじゃまいか
563 :
nobodyさん :04/12/22 14:18:19 ID:PAkfsMlB
echo と print は、どっちがスゴイの?
564 :
nobodyさん :04/12/22 14:36:09 ID:0NGp8KFP
echoとかphpスクリプト外のhtmlを標準出力じゃなくてファイルに出力することは出来ませんか
>>563 echoは結果を返さない。
printはtrueかfalseを返す。
>>564 できます。
566 :
564 :04/12/22 14:56:22 ID:???
>>563 マニュアルにもあるが、echoは関数じゃない。
>>563 マニュアルにもあるが、printは関数じゃない。
単なるエイリアス
>>569 嘘いうなっての。
ZEND_PRINTとZEND_ECHOで、ZEのソース辿れ。
execでunixのコマンドを利用してます。 exec($command,$result,$boolean); で実行できるのですが、コマンドがエラーを吐いた時にエラー内容を出力 させたいのですが、できるのでしょうか? マニュアルを見て、googleで検索しましたが出てきませんでした。 よろしくお願いします。
>>571 無理。
マニュアルに書いてあったはず。
>>572 うそ、標準出力と標準エラー出力分けて受けとれないの?使いものにならないじゃん。
別にお前は使わなくていいよ
577 :
571 :04/12/23 05:03:15 ID:???
>>573 リダイレクトは、
exec("$command > $redirect");
とかで$redirectに入ってくれるのでしょうか…(今環境なくて試せなくてすみません。)
できないというのと、できるというのはどちらが正しいのでしょうか。
PHP のバージョン番号を取得するにはどうしたらいいのでしょうか? よろしくお願いします
Let me try to be back to this place any day
>>577 リダイレクトはPHPじゃなくてシェルの機能。
PHPの変数が使えるわけがない。
>>577 "$command > $redirect"が文字列と解析されてexecに渡されるんだから、
$redirect の値は変化しないよ。プログラミング言語の構文解析を理解しよう。
なんだ?こいつら
sample1.php <?php $test=1; include 'sample2.php'; sample($test); ?> sample2.php <?php function sample($data){ global $sample; $sample = $data; //echo $sample; ←これは表示される } ?> <?php echo $sample; ?> sample1.phpで$testの値をsample2.phpに送り sample2.phpのfunction sample(){}の外から 送られてきたデータを表示させたいのですが、上手く行きません function内部でグローバル関数にはしているのですが・・・ そもそもこのようなことは可能なのでしょうか? もし可能でしたらやり方を教えてください
>>587 その書き方だと
$test=1;
↓
echo $sample; ←この時点では$sampleに何も入ってない
↓
sample($test); ←ここで$sampleに代入が行われる
って処理順になるから無理
やりたいことが分からんけど、sample()で$sampleをreturnしてそれ拾ったらダメなのか?
>>587 globalを勘違いしてるな。
<?php
$hoge = 'fuga';
$hogehoge = 'fugafuga';
function sample($data)
{
global $hoge;
echo $hoge;
echo "\n";
echo $data;
}
sample($hogehoge);
?>
//実行結果
fuga
fugafuga
//ココまで
functionの外で定義されている変数を引数として渡さずに関数に渡す方法としてglobalがある、ということ。
だから、必要もないのにglobalを使うのは控えた方が良い。
ついでに言うとincludeの解釈も何かおかしい。これ以上は面倒くさいので他の人に任せるわ。
590 :
589 :04/12/24 12:54:18 ID:???
>>588 の方が簡潔でわかりやすかったね。
別の場所で釣ってくる
PHPでサイトの管理が出来ると小耳に挟んだのですが、どうやってやるのでしょう? アドレスを変数に代入しまくっておいてそれをナビゲーションバーなどの部分にincludeさせるとかでしょうか? PHPでサイトを管理するってのは良い事(=ラク)なのでしょうか。。。
管理という意味が分からない
593 :
591 :04/12/24 14:49:54 ID:???
>>592 すみません。(汗
具体的には全ページにリンクを貼ったり、最新の記事を表示させたり…などのことです。
「サイト構築」の方が正しい言い方でした。。。
>>593 出来合いのものではxoopsやphpnukeがそんな機能を持ってるけど、
一からそれらを作ろうとしたり、モジュール(機能クラス)を作るとなるとメンドクサイ。
ソースを公開しているものが多いので「CMS php」で検索してみるといいかも。
>>594 なるほど、便利そうなツールですね…。
なんとかレンタルサーバーで使えないものでしょうか(^_^;
>>595 レン鯖板逝ってテンプレ読め。
それでわからなければ諦めろ。お前には無理
597 :
nobodyさん :04/12/25 15:31:41 ID:zT6Tkwqi
BASIC認証のページにログインする際に、毎回IDとPASSを入力するのが なにかと面倒なため、別サーバー上のPHPのスクリプトにアクセスすると 対象のページに自動的にログイン処理をするようにしたいのですが、 URLにIDとPASSを追記する方法でやってみたのですがうまくいきませんでした。 どうしたらいいでしょうか?よろしくお願いします。
599 :
nobodyさん :04/12/25 17:52:29 ID:xF7q17T9
こういう出力をしてくれる関数はないの? echo "<pre>"; print_r($hoge); echo "</pre>";
>>599 ほらよ!
function myprint($hoge)
{
echo "<pre>";
print_r($hoge);
echo "</pre>";
}
601 :
597 :04/12/26 03:22:38 ID:???
>>598 説明不足で申し訳ありませんでした。i-mode等、PC以外の端末からアクセスすることもあるため、
IEを使うという選択肢は選べなかったのです。
それと、色々試行錯誤したら自己解決してしまいました・・・。せっかく答えてもらったのに申し訳ないです。
602 :
HELPです。 :04/12/26 06:31:02 ID:iF98WIAd
PHPとMYSQLを連携させて掲示板の様な物を作っているのですが $_HTTPからの変数(文字列)は何事も無くデータベースに保存されるのですが。 テーブルのバックアップファイルを作成した後、それらを読み込んで データベースに格納する際に文字化けしてしまいます。 文字コードの違いだと思うのですがどの様に変換すればちゃんとできるでしょうか? 文字化けの例: ソフト→ャtト 色々調べてSJISの”835c”が”5c”を抜かして認識されている様です(TT)
<?php $test0 = 0; $test1 = 1; $test2 = 2; for($i=0; $i<3; $i++){ echo $test(iの番号); } ?> 上記のようなプログラムで for文の中で変数$testの後ろにある番号とiの数を同じものを表示したいんですが 流石に「$test$i」と入れても都合よく「$test0」のようにはなってくれないので いい打開策はありませんかね? なんか、わかりにくい文章でスイマセン
<?php $test[0] = 0; $test[1] = 1; $test[2] = 2; for($i=0; $i<3; $i++){ echo $test[$i]; } ?>
可変変数を使ってみたり。 for($i=0; $i<3; $i++){ $val = 'test'.$i; echo $$val; }
なんかもう可変変数ネタはFAQ行きだな
質問内容の殆どが配列で出来る処理ばっかりだけど
>>605 こっちのがスマートじゃね?
for($i=0; $i<3; $i++){
echo ${'test'.$i};
}
607 :
nobodyさん :04/12/26 18:50:34 ID:0Jc5OGQz
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Apache Group\Apache2\htdocs\my.php on line 10 ってエラーが出て何が原因かさっぱり分からないです・・・ <html><body> <? mysql_connect(localhost,tanaka,secret); mysql_select_db(ADDRESS_DB); mysql_query("insert into FRIENDS_T2(NAME_C,ADD_C,AGE_C,BLOOD_C) values('$fullname','$address','$age','$blood')"); $result=mysql_query("select * from FRIENDS_T2"); $rows=mysql_num_rows($result); if($rows==0){ print "該当のレコードがありません"; } else{ while($row=mysql_fetch_array($result)){ print $row["NAME_C"]; print " "; print $row["ADD_C"]; print " "; print $row["AGE_C"]; print " "; print $row["BLOOD_C"]; print "<br>"; } } ?>下記の内容で登録しました<br>お名前:<? echo $fullname; ?><br>ご住所:<? echo $address; ?><br>年齢:<? echo $age; ?><br>血液型:<? echo $blood; ?><br> <br>登録ありがとうございます<br> </body></html> HTMLのフォームを使ったのですが受け取ったはずの名前とかも表示されません分かる方いたらお願いします
mysql_connect() 接続に成功した場合は正のMySQLリンクID、失敗した場合にFALSEを返し ます mysql_query() クエリーが成功したかどうかを 表すためにTRUE(非ゼロ)またはFALSEを返します フォームからの変数は、register_globals = on にしない限り、$_GETや$_POST。
609 :
607 :04/12/26 19:49:10 ID:0Jc5OGQz
>608 >フォームからの変数は、register_globals = on にしない限り、$_GETや$_POST。 これやりましたら変数を受け取ることができました mysql_connect()は接続ができているようです ただmysql_query()はFALSEを返してきてうまくできていないようです・・ また新しいエラーとして Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Apache Group\Apache2\htdocs\my.php on line 16 と出ています・・ 原因分かるようでしたらお願いします
610 :
nobodyさん :04/12/26 19:58:19 ID:Z2KqsJa+
正規表現について質問させて下さい。 $str="/uri/debug/index.html"; と文字列がある時に、/debug/ を 含まれない場合、真にしたいのですがどうすればよいのでしょうか? (^/debug/) のようにしてもダメでした。^を使ってアンマッチする方法 がどうしてもわかりません。どうか宜しくお願い致します。
>>610 if (!(preg_match ("/\/debug\//", $str))) {
}
ファイルの拡張子を*.phpではなく*.htmlや*.htmのままでPHPスクリプトを実行させるには どうしたらいいでしょうか?
apacheの場合、特定の拡張子の時にサーバ内で特定の動作をさせるため仕組みがあって、
mod_mimeモジュールがこの役割を果たす。
ttp://httpd.apache.org/docs-2.0/ja/mod/mod_mime.html PHPのマニュアルのインストールの項目に書かれている、
AddType application/x-httpd-php .php
ってのは、このmod_mimeの中の設定(ディレクティブ)の1つで、
phpという拡張子の時に特定の動作をさせることを示しているわけだ。
で、こいつの書式を上のURLから参照してみると、
AddType MIME-type extension [extension] ... となっとる。
どこに書けばいいかも書いてあるな。
サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess に書けることになる。
615 :
610 :04/12/26 22:45:57 ID:???
>>611 ありがとうございました。以下の様に!eregで出来ました。
!ereg("^/.+(/debug/)",$str)
注意: Perl互換の正規表現構文を使用するpreg_match()の 方が、多くの場合、ereg()よりも速く動作します。
617 :
612 :04/12/27 00:01:19 ID:???
>>614 どうもです(・∀・)!
ということは.htaccessに
AddType application/x-httpd-php .html
AddType application/x-httpd-php .htm
といった感じに追加していけばいいわけですね?
618 :
610 :04/12/27 00:29:12 ID:???
>>616 なるほど。ありがとうございます。
>>617 AddType application/x-httpd-php .html .htm
な感じで一行にまとめれますよ。
619 :
612 :04/12/27 00:38:04 ID:???
>>618 > AddType application/x-httpd-php .html .htm
> な感じで一行にまとめれますよ。
( ´∀`)ノ
Mojaviって「もじゃび」って発音して正しいんでしょうか?
もはび
622 :
620 :04/12/27 15:54:17 ID:???
Mojave(もはべ)から来たって話なんで、 「もはび」かなぁとも思ったんですが、 なんだか「もじゃび」って書いてあったりもして・・・
タイムスタンプって何だ?ググッてもムズいメーリングリストとかしか出てこないんだが。
624 :
623 :04/12/28 09:03:41 ID:???
スマソ、書く場所が微妙に違った。
625 :
nobodyさん :04/12/28 14:01:44 ID:NN7ShV+K
indexページをお気に入りに入れていない場合、 リンクがindex以外のページにされている場合に、 強制的にindexに一度飛ばす操作をしたいのですが、 検索のしかたが悪いのかそれらしいものにひっかかれません。 くだらねえ質問誘導頼んます。
0からはじめようと思ってるのですが、何から手をつけていいのかわからないのです。 変数、定数、変数の参照、式と文、演算子、条件分岐、if文条件分岐、switch文、ループ文while、ループ文for、配列array、変数の受渡し 等を覚えればいいのですか? これ等を駆使すればどんなスクリプトも作れますか?
>>625 全コンテンツがPHPで書かれてるのでなければ、
Apacheなりhttpdのお仕事だな、それ。
あとリファラーのチェックとか、トップのindexで
クッキー食わせてチェックとかにになるんだろうけど、
判断が危うい条件になりそう。
629 :
nobodyさん :04/12/28 15:56:51 ID:64WbgjnW
他スレから誘導されてきますた a b c 3つのチェックボックスがあって、 チェックを付けたやつだけ、 inputボタンを押した後に表示したいんですが、 どうすればいいでしょうか? 例:aとcにチェックを付けたら、次の画面で、 aとcを表示させる。 あと、perlだと、フォームで同じnameで複数項目入力させても 配列に格納されます? perlのスクリプトだとどうもそうっぽいので。 phpじゃこれは無理でしょうか? やってみますたが、むりっぽかったので
>>629 perlは自分で配列に入れないといけない。
hoge=a&hoge=c
PHPはフォームのnameに[]をつける
<input name=hoge[]
632 :
629 :04/12/28 16:14:18 ID:???
>>630-631 神キターーー!!
ありがとうございます!
極初心者なもんでこれで半日つぶしました汗
>>631 nameが同じならhoge=a\0cだろ
634 :
nobodyさん :04/12/28 16:32:51 ID:NN7ShV+K
ファイルマネージャを作成しているのですが、 新しいファイルを作成するのって どのようにすればいいのでしょうか? mkdirみたいなのねーでしょうか?
638 :
636 :04/12/28 18:16:45 ID:???
>>637 fopenとかだと、パーミッション気にしなきゃならなくて
厳しくないでしょうか?
今、
一時的にchmodでアクセス権限777にして
書き込む方法思いついたのですが、セキュリティ上よろしくない気がしますのでございます
>>638 UNIXのファイルシステムについて学んで来い。
>>638 新しいファイルを作成したいんだろ?
まだファイルが存在しないのにchmodって何よ?
>>635 PHPプログラマがそんなの意識してるわけねーだろ
>>640 fopen wならファイル無い場合、勝手に作成されるよ?
クエリ実行関数 <?php function query($sql1, $con){ $resultsql1=mysql_query($sql1, $con); if ($resultsql1==false){ echo ("Perform Query01 failed !!"); exit(); } return $resultsql1; } ?> を require_once("./lib/query01.php"); という感じで引き出してるのですが、どうやっても Perform Query01 failed ! が返ってきてしまいます。 (使いまわししてる他のページでは問題なし) 多分くだらない事が原因なんだろうけど、自分じゃ見つけることができません。 間違いがあったら教えてくだしあ…(涙)
>>643 どーもこーもmysql_queryがFALSE返してんだろ
PHP通さずにmysqlに同じSQL文投げても通るか確かめた?
>>643 echo mysql_errno().": ".mysql_error()."<BR>";
$dataにデータが入っている時はimage01が表示され データが入っていない場合はimage02が表示されるという PHPのコードを書きたいと思います。 if($data==""){ <img src="image01"> }else{ <img src="image02"> } こういう風に記述しているのですが、データが入っても入って無くても image01が表示されます。どういう記述の仕方をすればいいのでしょうか?
647 :
646 :04/12/29 09:28:25 ID:???
↓修正です。 $dataにデータが入っていない時はimage01が表示され データが入っている場合はimage02が表示されるという PHPのコードを書きたいと思います。
649 :
643 :04/12/29 10:53:21 ID:???
>>644 & 645
レスthxです!
一応PHP通さずにやってみて通ったのでおかしいと思ったので…
あの後不貞寝して起きて、もう一回見たら
require_once("./lib/connect.php");
require_once("./lib/query01.php"); ←DB接続部分
のはずが
require_once("./lib/query01.php");
require_once("./lib/connect.php");
になってました(汗
ココを訂正&要らないスペース&改行を外したら正常に動作するようになりました。
やっぱり寝ないとダメってことですね…
訂正… require_once("./lib/connect.php"); が接続部分ですた。 とりあえずキチンと寝てきます………。
>>646 echoは書き忘れということにして
プログラムの通りなら$dataにデータが入っていると思い込んでることが間違いでしょう。
プログラムは書いたとおりにしか動きませんから。
if($data==""){
echo '<img src="image01"> ';
}
でimage01が表示さるなら$dataはゼッタイに空のはずです。
またregister_globalsの話じゃないのー?
653 :
nobodyさん :04/12/29 13:30:52 ID:61b8nv/Z
日本語ファイル名のファイルアップロードに付いての質問です。 現在、フォームからファイルアップロードできるページを作成中なのですが、 ファイル名に「可能」という日本語が入っているファイルをアップロードしたら、 ファイル名が消えてしまうという問題に気が付きました。 例えば、「アップ可能.txt」というファイルをアップロードすると、 $_FILES['file']['name'];で取得できるファイル名が「.txt」となって拡張子以外の部分が消えてしまいます。 「アップ可能1.txt」というファイル名だと、「1.txt」となって日本語の部分が消えてしまいます。 「可能」という文字列を使わない日本語ファイル名だと何も問題なく普通に取得できるのですが・・・ おそらくは、エスケープ文字関連だと思われるのですが、 stripslashes(stripcslashes)を使ってエスケープ文字を取り除く処理をしてもファイル名が消えたままです。 また、サーバ側の文字コード(EUC-JP)に変換したり、変換後のファイル名のエスケープ文字を取り除いたりしたのですが、解決しません。 これと同様の問題(「可能」という文字列が入るとおかしくなる)が、 ファイルアップロード時のコメント入力欄でも起きましたが、これは、strpslashes関数で問題解決したように見えます。 この「可能」という文字は、なんなんでしょうか?また、この問題解決の手段を教えていただきたいです。 #補足としまして、「可能」という文字列をEUC-JPにすると「イトヌス」となります。 #コメント欄で問題が出たときに「可能」という文字列を見ると「イトヌス\」となぜか、「\」が入っていました。 #それで、エスケープ文字を取り除く処理をすると、コメント欄ではうまく通りました。
654 :
653 :04/12/29 13:40:43 ID:61b8nv/Z
すみません。環境を書き忘れました。 環境は、WBEL3(RHEL3)のデフォルト状態です。 httpd-2.0.46-44.ent.WB1 php-4.3.2-19.ent 文字コード:EUC-JP phpinfo()による、mbstringの項目 Multibyte Support enabled Japanese support enabled Multibyte (japanese) regex support enabled mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1. Directive Local Value Maste Value mbstring.detect_order no value no value mbstring.encoding_translation Off Off mbstring.func_overload 0 0 mbstring.http_input pass pass mbstring.http_outputpass pass mbstring.internal_encoding none none mbstring.language Japanese Japanese mbstring.substitute_character no value no value
655 :
nobodyさん :04/12/29 15:43:08 ID:IA0GuuO9
phpinfo()のinclude_pathのところに〜/pear/がないとpearは使えませんか? 自分のプロバイダの鯖がpearが使えるかどうかわからないもので。
>>655 プロバイダに聞けば一発で分かるんだけどね。
もしインストールされて無くても、pearはPHPだけで作成されているので、
利用したいpearを適切に修正してアップロードすれば使える。
ヒアドキュメントの中で計算式って使えないでしょうか? 例えば、こんなイメージ $aaa = 100; $bbb = 200; print <<<_CALC_ 計算はこうやる。<br> {$aaa} + {$bbb} = {$aaa + $bbb} _CALC_; ちなみに、↑はエラーになりますた。
>>658 くはぁ〜バグだったんですね。
もうrpmには、見切りを付けてソースから導入し直します。
期間内と期間外で表示するものをかえるように」したいのですが、 function Timer(){ }でかこったら条件に関係なく期間外が表示されてしまします。 記述自体あまり自身が無いのでアドバイスとかもらえると嬉しいです $startdate = "2004-12-28"; //開始日付 $limit = "5"; //表示日数 $n = date("H:i:s"); $now = date("U"); $start = strtotime("$startdate $n"); $end = date($now+$limit*60*60*24); function Timer(){ if($start < $now && $end > $now){ echo "期間内"; }else{ echo "期間外"; } }
>>660 マニュアルの関数の部分ぐらい読みましょう
662 :
660 :04/12/29 21:11:23 ID:gc8v5X4n
>>662 17章全部な。
そのページだけじゃないぞ。
664 :
660 :04/12/29 21:25:22 ID:gc8v5X4n
はい、読みました。 もう1度読み返してみます
666 :
nobodyさん :04/12/29 23:31:23 ID:ZtiJWjsG
携帯のサイト制作依頼したらいくらくらいかかるの?
君の家の値段と瀬戸大橋の値段を一緒と思ってもらっては困る
>>666 それこそピンキリ。
4〜5万円から、4〜5千万円クラスまで。(もっと上だってある)
ま、でかいのはインフラから資材からひっくるめてだけど。
669 :
660 :04/12/29 23:40:11 ID:gc8v5X4n
>>661 さん、
>>663 さん、
>>665 さんありがとうございます
↓で動くようになったんですが、これであってますか?
演算とか条件の指定方法とかは問題ないでしょうか?
$startdate = "2004-12-28";
$limit = "5";
function Timer(){
global $startdate, $limit;
$n = date("H:i:s");
$now = date("U");
$start = strtotime("$startdate $n");
$end = date($now+$limit*60*60*24);
if($start < $now && $end > $now){
echo "期間内";
}else{
echo "期間外";
}
}
>>666 木造の家注文したら幾らかかるのぐらい、曖昧な注文内容だな。
予算から内容を詰めていくか、内容から値段を弾くか。
5万ぐらいから500万ぐらい(CE含めたりるすともっとする)とかね。
5万以下だとプロとしての仕事だと、手間隙考えると友人関係での
価格ぐらいのものです。
671 :
nobodyさん :04/12/29 23:40:23 ID:ZtiJWjsG
掲示板程度のものだと?
>>671 それでも木造「2階」建てでぐらいに、詳細になったぐらい。
携帯対応のフリーな掲示板スクリプトは何種か公開されてるので
インストールだけなら、本当に低予算から出来るけどね。
673 :
nobodyさん :04/12/29 23:49:46 ID:ZtiJWjsG
672 何でも制作できますか?依頼したいのですが・・・
>>673 ぐぐれば制作を請け負ってくれるサイトはいくらでもあるからそっちに頼め。
お前相手じゃ制作費の数倍の相談料をもらわにゃ合わん。
675 :
nobodyさん :04/12/29 23:54:29 ID:ZtiJWjsG
そんな冷たい事言わないでくれよ。 で、どこにあるの?請け負ってくれるサイトは?
ぐぐれ
678 :
660 :04/12/30 00:25:55 ID:7YpfOIeB
>>677 global入れたら動くようになったんですけど、違うんですか?
679 :
653 :04/12/30 00:54:01 ID:e1CYzGzW
>>658 今、apacheとphpをソースからのインストールに切り替え完了しました。
Apache:2.0.52
PHP : 4.3.10
しかし、
>>653-654 の問題は解決しませんでした。
もちろん、php.iniでのmagic_quotesも全てOffにしています。
なぜ「可能.txt」の名前 だ け が取得できないのでしょうか?
引き続き、皆様からの情報をお待ちしております。よろしくお願いします。
また、phpを使ったアップローダーを作成された方や使用されている方に、
「可能」という文字列を含んだファイルをアップロードした場合どうなるか教えて頂きたいのですが・・・
今のままだと、こちらのコーディングの問題かPHPの問題かが判別付きにくいです。
>>675 掲示板ぐらいだったら、作ってやるよ。
もちろん仕事として。
>>679 「能」の文字のせい。
つーか、他にもなる文字はいくつもある。
もしPHPがどうするんですか?
なんだこいつ?
684 :
nobodyさん :04/12/30 02:06:46 ID:sIR6aofH
質問です。 Winなんですがmailparseをpearでインストールするために pear install mailparse をしたら、 downloading mailparse-2.0b.tgz ... Starting to download mailparse-2.0b.tgz (33,547 bytes) .........done: 33,547 bytes 9 source files, building The DSP mailparse.dsp does not exist. となり、インストールできませんでした。 試しに別口で pear download mailparse で落としたmailparse-2.0b.tgzの中にはmailparse.dspなんて入ってませんでした。 環境はWinXP、PHP-5.0.2です。 原因とかわかる方いらっしゃいましたらご教授願います。
680 おいくらで?
>>685 とりあえず50万をベースに希望内容によって上乗せというところで。
688 :
nobodyさん :04/12/30 02:38:05 ID:KJfyIQuI
687 どちらからですか?近いなら直接希望など話たいのですが・・・
>>688 直接話をして会話になるレベルの相手かどうか、
まず仕様や希望を書いて。
690 :
nobodyさん :04/12/30 02:45:11 ID:KJfyIQuI
689 えっ!?仕事として請け負ってくれるんじゃないんですか?
だから仕事相手になるかどうか判断しようとしている。
692 :
nobodyさん :04/12/30 02:56:08 ID:KJfyIQuI
逢って話してからでも遅くはないと思いますが?
1行レスばかりで希望内容も満足に書けないような相手では 会って聞いたところで同じだろう。
仕事なのに相手に逢うのを恐れてるの?
幼稚園児からの頼みを仕事と受け取るバカが世の中のどこにいる? もう構うの飽きたから寝るわ。
まともに人と接して会話の出来ない人は可愛そうですね。 何かと言えば、幼稚園児だの小学生だの・・・ 社会を恐がる惨め大人よりはガキの方がマシか? 金ならあるから直接交渉しろ!の、どこが可笑しい? 一生、社会に脅えてれば?オタクくん!!
fooというメンバを持つオブジェクトを返す関数hoge()があったとして $var = hoge(); echo $var->foo; のようにしたいのですが、これを簡単にして echo hoge()->foo; のようにはできませんでした。 新たに$varのような変数を定義しなくてすむ方法はありませんか? 教えてください。
698 :
684 :04/12/30 04:22:18 ID:???
>>686 現時点でWinでは無理ですか・・・。
うーん、とりあえずソースはあるんだから、なんとかコンパイルとかして出来ないものでしょうか?
#includeのとこ探しまくってやるのは無謀ですか?w
mailparseはmbstringも使ってるみたいだし大変だな。
あ、でもライブラリとか何使うのかわからないですね。
っていうか誰かphp_mailparse.dllもってませんか?w
すいません、Winばっか使ってるとこんな風に考えちゃいます(^^;
メンバ変数にvarとつけるとクラス内でしか使えないと聞いたのですが $object->menbarなど何かの引数に使ったりすると問題なく使えます。 varにはどのような意味があるのでしょうか?
700 :
nobodyさん :04/12/30 06:35:25 ID:e9lTqvWv
$a['1'] = a; $a['2'] = b; $a['3'] = c; $b['1'] = d; $b['2'] = e; $b['3'] = f; でforeach($a as $element)とした場合に $aだけでなく、$bも同時にforeachさせたいのですが、 何か良い方法はないでしょうか? (例えば上の例なら $a['2']のときに、$b['2']を表記させたい。) 気持ち的には foreach($a as $element1 and $b as $element2) みたいなことをしたいのです。
>>700 array_merge($a, $b)でいけるよ。$element1と$element2にはわけれないけど。
foreach (array_merge($a, $b) as $element)で。
ただ文字列のキーが重複すると、上書きされるので注意。
$a['hoge'] = 'a'; $b['hoge'] = 'b'; の場合、array_merge($a, $b)後の['hoge']は'b'になる。
$a['1']の場合、$a[1]とみなされるのでセーフ。
参考までに
$a['1'] = 'a'; $a['2'] = 'b'; $a['3'] = 'c';
$b['1'] = 'd'; $b['2'] = 'e'; $b['3'] = 'f';
print_r(array_merge($a, $b));
結果
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => e
[5] => f
)
>>700 ,701
こういうことをやりたいのではないかと予想してみる。
$a['1'] = 'a'; $a['2'] = 'b'; $a['3'] = 'c';
$b['1'] = 'd'; $b['2'] = 'e'; $b['3'] = 'f';
foreach (array_map(null, $a, $b) as $elements) {
echo $elements[0] . ' ' . $elements[1] . "\n";
}
>金ならあるから直接交渉しろ! 激ワロタ…
704 :
nobodyさん :04/12/30 11:16:38 ID:m83gYHkE
Another HTML-lint gateway で文法チェックすると 「XML宣言は文書の先頭でなければなりません。」と怒られます。 echo '<?xml version="1.0" encoding="Shift_JIS"?>' . "\n"; と先頭に書いても、出力の1行目に空行が入ってしまう。 コレって回避策有りますか? 使っているサーバーが xrea.com だからかもしれないけど、 他に試せる環境が手元に無いもんで。
ftp_put() expects parameter 4 to be long php このエラーってどういう意味なのでしょうか? 具具っても英語ページしか見つからなくて。 ftp_putでファイルをアップロードしたいのですが、 このエラーが発生してうまくアップできません
707 :
706 :04/12/30 12:09:08 ID:???
今、Linux機から、ファイル名をEUC-JPとして保存して、それをアップロードしてみたところ、 当然ですが、「可能.txt」や「分析表.txt」のファイル名が取得できたので、php.iniの設定をもうちょっと調べてみます。
>707 基本的にファイル名に日本語とか記号文字とかを使うのはおすすめできないよ。 海外製のソフトウェアを使うときに問題が出ることもあるし、 OSの仕様とか文字コードの違いで問題が出ることもあるし。 今回のはPHPの不具合だけど。 どうしても日本語を使いたい理由があるわけ?
>>708 いや・・・あの・・・掲示板の一環のファイルアップロードサービスなんで・・・俺自身では、どうしようもない事なんです・・・
俺自身では、LinuxやらWindowsやら複数のOSを使っているので、日本語ファイル名とかは、言語道断なんですが・・・
アップロードしたファイル名をそのままユーザに返したいんで・・・
もちろん、実際にサーバに保存されるファイル名は、英数字の一意なファイル名で、アップロード自体にはなんの問題もありません。
712 :
nobodyさん :04/12/30 15:06:09 ID:jqnvfuCr
>>705 本家マニュアルのftp_putのuser noteに英語で解答らしきものがある。
>>712 英語じゃわかんねーって言ってるだろヴォケー
>709 ああやっぱりそんな感じですか。 ならhtmlのエンコードをeuc-jpにすれば大丈夫かと。 ただ、ダウンロードの時にも日本語ファイル名はブラウザによっては 問題があったような気もする。
>>696 50万+でオレが請け負ってやるよ。
連絡先のメールアドレスを晒してくれ。
そこまで言うお前さんを見てみたいんでな。
個人的には
>>695 と同意見ではあるんだが。
オレはSOHOでPHP+MySQL中心にWEBシステム作ってるモンだ。
一応、プロだから安心してくれ。
>>716 RFP皆無で「50万+」と言い切るあたり、どこぞのプロですか?
>>716 えらそうに言っておきながら予算は10万しかないんだってさw
721 :
nobodyさん :04/12/31 00:38:45 ID:B2MMrafy
すみません。質問です。
2ちゃんトップページをGETする関数ですが・・・
<?php
ob_start("callback");
include '
http://www.2ch.net/ ';
ob_end_flush();
?>
これを変数の中に格納したいのですが、
$nichan { ob_start("callback");
include '
http://www.2ch.net/ ';
ob_end_flush();};
うまくいきません。どうすればよいでしょうか?
こんな感じでやってみましたが・・・
お願い申す!
722 :
nobodyさん :04/12/31 00:41:00 ID:B2MMrafy
723 :
nobodyさん :04/12/31 02:05:30 ID:PHrVa8Mz
はじめまして。 PHP初心者です。 PHPにCSSはどうやって組み込めばいいのですか? 今DREAMWEAVERMX使っていますが、 簡単なPHPのプログラムを作れるのですが、それをどうやって好きなフォントや 形にするのかわかりません。 どうやるのでしょうか?
726 :
nobodyさん :04/12/31 02:11:23 ID:PHrVa8Mz
いじっていたらできるようになりました! やった
変数のサニタイズって htmlspecialchars しとけば良いってのは事実でしょうか? 某書籍に書いてあったのですが、イマイチ納得いきません。 stripslash とかが必要になる気がするのですが
729 :
nobodyさん :04/12/31 03:49:41 ID:O6a7LDD/
Q.クラスが理解できません
727と若干かぶるが 配列をhtmlspecialcharsdでサニタイズしたら、配列が空になっちった! なぜに!?
>>730 まさか htmlspecialchars($array) とかやってないよね?
ちゃんと array_map("htmlspecialchars", $array) にしてるよね?
732 :
730 :04/12/31 04:07:29 ID:???
>>731 サンクスです
サンクスです
サンクスです
サーバーをまたがったセッション保持ってデータベースを
使えばできると思うのですが、
$_SESSION['ID']を別サーバーで取得しようとしても
空っぽのものしか取得されません。
データベースには正しくセッションが保持されているようですし、
エラーも発生していないようなのですが・・・
http://www.stackasterisk.jp/tech/php/php03_06.jsp ちなみに上記の session_handler.phpをMySQL用に修正
して使用しています。
どなたかご教授お願いします。
734 :
nobodyさん :04/12/31 07:25:01 ID:DFaxN2oe
連続したオブジェクトのインスタンスってどうやってやるの? 例えwhileなどを使って obj1 obj2......obj100 までちょっとずつメンバ変数を変えてつくりたいの。
735 :
nobodyさん :04/12/31 07:26:15 ID:DFaxN2oe
もしかして配列使えばよいのかな? オブジェクトも配列に格納できるんだっけ?
736 :
733 :04/12/31 07:36:50 ID:???
どうやら $sid(セッションID)が別サーバーからsession_start()した場合に異なっている ようです。 解決方法はないでしょうか?
737 :
733 :04/12/31 08:17:37 ID:???
SIDをGETで持ち込む方法でいけましたが、 セキュリティ面でGETは利用したくないと思っています。 別の解決方法ありましたら教えてくださいませ
738 :
nobodyさん :04/12/31 09:45:11 ID:B2MMrafy
>>724 >>721-722 です。
マニュアルと入門本を見たが、 = や () くらいしか
格納できなく、あの構文じゃさすがに格納できないっす・・・;_;
740 :
nobodyさん :04/12/31 11:04:27 ID:odEUK91B
セッションを使っているページで以下のような警告文が出ます。 バージョンは4.3.2です。4.3.10にすると警告が消えたのですが、 4.3.2だと何故このような警告が出るのか後学の為に教えて頂けないでしょうか。 セッションは$_SESSION["hoge"]のように書いていて、4.1.x系のような書き方ではありません。 4.3.2、4.3.10ともregister_globalsはoffになっています。bug_compat_42、session.bug_compat_warnも 4.3.2、4.3.10ともに同じ設定です。session_start()の以前に$_SESSIONを使って操作はしていません。 Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session. bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
742 :
707 :04/12/31 12:14:03 ID:???
>>653-654 あたりで、日本語ファイル名を取得出来ないと騒いでた者です。
今、とんでもない事に気が付きました。
テスト用のブラウザにOperaを使ってたんですが・・・
IEとFireFoxで「可能」や「分析表」などの文字を含んだファイル名をアップロードすると普通に取得出来ました。
こんなに騒いだ後に、誠に申し訳ないですが、どうやらOperaの問題の様です・・・
#Operaは、HTMLなどのレンタリングが正確だって聞いたのに・・・こんな所で・・・orz
ちょっとOperaスレに行って聞いてきます。
>>741 すみません、言葉が足りませんでした。
警告の意味は理解しているのですが、同様の設定にも関わらず4.3.2だと警告が出て、
4.3.10だと警告が出ない理由が知りたかったのです。
英語じゃわかんねーっんだよヴォケー
日本語がないなら、せめてフランス語のページを紹介にしろってんだよ!バカヤロー
747 :
697 :04/12/31 14:05:45 ID:opqL9/cF
まじで誰か知りませんか? それとも毎回変数確保してるんですか? もう一度質問させてください fooというメンバを持つオブジェクトを返す関数hoge()があったとして $var = hoge(); echo $var->foo; のようにしたいのですが、これを簡単にして echo hoge()->foo; のようにはできませんでした。 新たに$varのような変数を定義しなくてすむ方法はありませんか? 教えてください。
>>747 無理、ていうかわざわざクラスにする必要ないんじゃないか?
>>747 よく見ると関数(function)とクラス(class)ごっちゃにしてそうだな。違いわかってる?
$varは変数じゃなくてオブジェクトなわけでどうやったって必須なんだが
>>747 PHP4 では不可能。
PHP5 では可能。
違いがわかってないのは749な気がする
753 :
nobodyさん :04/12/31 16:25:40 ID:hdw9djAl
PHPでかかれていて、データベース不要のeコマース構築システム(ショッピングカート)ってありますか? osCommerceが有名だそうですが、データベースが必要なので。 というかすれ違いですか?
時々思うんだけど、インスタンス使わないならクラスにする必要ないよね?
for(my $k=0; $k <= @KUSO; $k++){ print "$KUSO[$k]"; }
756 :
733 :04/12/31 18:20:17 ID:???
POSTだと一度inputボタンを押す必要が出ちゃいますんで、極力避けたいと思います。 実際問題、GETでSESSIONIDをやり取りするのって危険なんでしょうか? セッション保持期間を短くすれば問題ナッシングですかね
>>756 別にいいんじゃない?
ケータイ用ページなら結構普通に見かけるよ。
>>756 IPアドレスやcookieを併用するとかね
携帯だとどっちも難しいけど
携帯用だとURLで渡している例はよくあるね
760 :
nobodyさん :04/12/31 19:56:02 ID:LpZ5UrY2
PHPで掲示板を作っています。 PHPなので当然文字コードはEUCで ."<meta http-equiv=\"Content-Type\" content=\"text/html; charset=\"EUC-JP\">\n" な感じで書いてブラウザで開くと文字コードは自動的にEUCになります。 しかし何も表示されず、エンコードでShift-jisにすると表示されます(ただし一部文字化け) これはどのような原因が考えられるでしょうか?
761 :
760 :04/12/31 20:02:02 ID:???
補足です。 EUCで何も表示されない状態ですが ソースを見ると普通になっています。
>>760 ものすごくたくさんの要因が考えられます。
少し簡単に挙げると…
・Apacheの出力
・PHPの出力
・読み込み元の文字コード
全部チェックしてください。
上から可能性が高そうです。
763 :
nobodyさん :04/12/31 20:18:42 ID:iC9AXDhT
会員IDをハッシュで生成したいと思いますが、 重複しないユニークなハッシュの生成方法はあるのでしょうか?
>>763 マイクロ秒とIPアドレスくっつけてMD5・・・ってIDかよ!
普通は連番か、重複防止した任意ワード使うけどね
ハッシュじゃ覚えにくいし
>>764 に禿同
IDにハッシュなんて正気とは思えん。
766 :
760 :04/12/31 21:01:24 ID:???
>>762 原因はPHPファイルの文字コードでした。
DreamWeaverを使ってるのですが最初Shift-jisで作成してしまい、
気づいて直したのがサーバー側だったので
その後コーディングしていたファイルがShift-jisで上書きを…
今後はこんなマヌケなコトをしないように注意します。
ありがとうございました。
PEARについて質問なのですが マニュアルをみたところPHP4.3.0以上には標準で入っていて --without --pearと設定されてない限り使えるとかかれてました。 ですが自分のPC上では動くものの 上記の設定のされていないPHP4.3.2以上の2鯖で試しましたがうまくいきません。 原因はなにかわかる方はいますか? よろしくお願いします。
769 :
767 :04/12/31 23:39:28 ID:???
>>768 OSとインストール方法は何か関係があるのですか?
OSはXPでインストール方法はコマンドプロンプトからです。
また自分がやったことはいっさい書かずに聞くやつかよ・・・
「エスパーきぼんぬ」「氏ね」「(゚Д゚)ハァ?」等のレスを貰う八ヶ条。 1. ハードウェア、OSのバージョン等には一字一句触れない。 2. 大切な個人情報が漏れるとまずいので、己の行った操作、変更などは秘密。 3. エラーメッセージの類は決して書かない。「エラーが出るんです」で留める。 目の前で生じている現象をそのまま具体的に書くなどもっての外。 事実より俺様の脳内解釈を優先すべし。 4. 独り言文体で必勝。 「…なんだけど、どうすればいいのかなぁ」「何が悪いんだろう?」 5. 「急いでいます」「困っています」等、自分の都合を全面に押し出す。 6. もう試したことを得意げに指摘してくる奴には、厳しく対応。 「それが駄目だったから質問してるんです」「それはもう試してみて駄目でした」 "どう"だめだったのか、本当に実際それを行ったかどうかなんか問題じゃない。 7. ストレートに答えを書かないもったいぶったレスには、逆切れで対応。 「だからどうすればいいんですか?」「分からないなら引っ込んでろやゴルァ」 示されたURL等を参照するなんて態度は、回答者を甘やかすことに他ならないので 絶対に避ける。 8. 情報は小出しに。
773 :
767 :04/12/31 23:50:08 ID:???
>>770 すいません。
データベースへの接続の時点でエラーがでます。
PEARを使わずmysqlでやると繋がります。
774 :
767 :04/12/31 23:51:05 ID:???
エラーがでるっていうより繋がらないってことです。
775 :
768 :04/12/31 23:55:22 ID:???
>>769 例えばFreeBSDでportsを使う場合に関係あることもあるの。
で、あんさんの場合はWindowsだということだからphp.iniの設定が
ダメなだけ。マニュアル嫁。
777 :
767 :04/12/31 23:58:50 ID:???
>>775 レン鯖のphp.iniはいじれるのですか?
>>777 お前が使ってるどこぞの鯖のことを聞かれてわかるわけないだろう
もうカエレ
Windows XPのレンタルサーバ。 PHPはコマンドプロンプトから入れました。 釣り決定。氏ね。
781 :
768 :05/01/01 00:08:56 ID:???
>>777 俺に聞かずに鯖管に聞いてくれ。
ちうかPHPは自分で入れたんじゃなかったの?
もう放置しよう
お前ら・・・新年ですよ・・? もっとテンションあげていこうぜ
データベースの先頭データとは 一番新しいデータ(表で言うと一番下)のコトでしょうか? 掲示板を作成してるのですがサンプルには ソートする前にgetOne()を使っていて もし一番上が先頭データだとすると2番目のを取得しているはずだなと思い悩んでいます。
>>784 > データベースの先頭データとは
> 一番新しいデータ(表で言うと一番下)のコトでしょうか?
>
そうとはかぎりません。
PHPはsendmail使わずにメール送信できるってほんとなのか?
>>785 基本的には一番下であっているのでしょうか?
ソートの仕方がORDER BY 〜 DESCでされているので
もし一番下なら納得できるのですが…
>>787 ソートの前にgetOneっていうのが意味不明ですが。
>基本的には一番下であっているのでしょうか?
ですから、そうとは限らないです。
>>786 メールつーものはSMTPを喋れば送れる。
レン鯖の話なら鯖管に聞くのが常道。
>>787 たまたまそういう風に出力されただけ。
複数のレコードを表示する場合には、ソートの有無に関係無く(見た目の)順番が生じるのは当然。
DBの実装の仕方ならDBのソースを見るよろし。
790 :
nobodyさん :05/01/01 01:14:34 ID:hq2AS1pK
PHPの開発にWin板のvim使ってるのですが、『まるごとPHP!』を参考にしてphpdoc.vimを 使いたいのですが、なかなか動いてくれません。 やってみたことは"C:\vim\runtime\ftplugin\"にphpdoc.vimを入れて :runtime! ftplugin/phpdoc.vim を行いました。 この状態で class Hoge { と入力しても何も起きず、同様にfunction hoge() { としても何も起きません。 うまく動いている方、設定の仕方等間違いがありましたら教えてください。 #PHPなのかVimなのか悩んだのですが、Win板のVimスレはなかったのでこちらで質問させて頂きました。
791 :
786 :05/01/01 01:20:00 ID:???
>>788 getOneはDBのメソッドです。
そうとは限らないと言うことはソートしないと順不同に入っていくのですか?
今までinsertで入れていった感じそんな風なのは見当たらなかったですので
順番に入っていくことしか頭になかったです。
>>789 たまたま出力されたとはどういうことでしょうか?
>>784 でいったようにDBのソースを見て悩んでるのですが…
自分はmysqlで作ろうと思っていますけど、掲示板作成の流れを理解したいので。
>>792 インサートされる順番というより、出力される順番が規定されていない。
出力順を制御したいときは素直にorder byで。
ちなみに見ているDBのソースってなに?
多次元配列を作る際に $SerialNumber = date("YmdgisA"); $DATA[$SerialNumber][0] = array("name"=>htmlspecialchars($_POST["name"]) for ( $i=0; $i<sizeof($chk); $i++){ ,"m$chk[0]_1"=>$_POST["m$chk[0]_1"], } ); こんな感じで中にfor文を入れて、フォームで受け取った配列の値の数(チェックボックスで0〜8個分に変動します) だけ配列に加えたいのですが、エラーが起きて上手く行きません。 for文を外すとちゃんと動くんですが、途中でfor文を入れるのは不可能なんでしょうか? 要するにチェックした部分だけ多次元配列に格納し、データの書き込みを行いたいのですが 何かいい方法はありませんかね?
795 :
nobodyさん :05/01/01 11:37:07 ID:RJWWw1Kp
すみません、超ど素人なのですが、教えてほしのです。 フォームに入力されたデータを、PHPのファイルで表示したいのですがうまくいかないのです。 form1.htmlには <form method="post" action="form2.php"> 名前は?<input type="text" name="yourname" size="20"> <br><input type="submit" name="submited" value="送信"></form> と書き、form2.phpには <html><head><title>jikken</title></head><body> <?php print("ようこそ" . $yourname . "さん<br>"); ?></body></html> と書き、form1.htmlのフォーム欄に「yamada」と 書いて「送信ボタン」を押したのですが「ようこそさん」としか表示されないのです。「ようこそyamadaさん」と表示したいのですが、どうすれば良いのでしょうか。 本のサンプルファイルをそのまま使っても同じ現象が起きます。環境は、 PHP4.3.8+Apache1.3.31+WindowsXP です。どなたか教えて頂きたく存じます。宜しくお願いします。
>>795 <?php $yourname = $_POST['yourname']; ?>
を、PHPファイルの先頭にコピペしてみなさい。
>>795 <html><head><title>jikken</title></head><body>
<?php
print "ようこそ{$_REQUEST['yourname']}さん<br>";
?></body></html>
799 :
795 :05/01/01 13:49:21 ID:RJWWw1Kp
>796 >798 ありがとうございます!!出来ました!!心から、感謝します! 自分は超素人で、このようなことも知らなかったので、本当に 助かりました!! でも、本にはこのようなことは書いていなかったのですが、 PHPの設定によっては、本のように単に「$youname」と書けば 出来るものなのでしょうか? 急ぎではありませんので、お手隙の時に教えて頂けると嬉しい です。宜しくお願いいたします。
>>799 > PHPの設定によっては、本のように単に「$youname」と書けば
> 出来るものなのでしょうか?
yes
セキュリティのため不可にしてる場合が多い
ってか不可にするべし
>>799 そう。参考にした本が少し古かったのでしょう。
FAQの筆頭に上げられますので興味があれば”register_globals”で
ググッて見ましょう。
802 :
801 :05/01/01 14:22:41 ID:???
803 :
795 :05/01/01 15:39:25 ID:RJWWw1Kp
>800 >802 ありがとうございます。サイトを見ましたが、セキュリティのため 不可にするようになった訳ですね。 素人の自分にとって、貴重な勉強になりました!ありがとうござい ます!
ログファイルにデータが5行以上あったらそのファイルを空にするってのをやりたいんだが、どうやってやるんだ?
どこまで作ったのか書けよ 書いてないなら書き始めろ
806 :
nobodyさん :05/01/01 18:37:37 ID:0o7KJJjq
必ず重複しないハッシュを作るにはどうすればいいのでしょうか?
807 :
804 :05/01/01 18:40:37 ID:???
スマソ。 <html><head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>hogehoge</title> </head><body> <form action="<?=$PHP_SELF?>" method="post"> <input type="text" name="text"><br> <input type="submit" value="送信" name="write"> </form> <?php $lines = file('log.dat'); if($_POST['text']){ $text = $_POST['text']; array_unshift($lines, $text); $all = count($lines); if($all >= 5){ // 5行あればログファイルの内容を全削除、とやりたい。 echo "<p>(・∀・)ログサクージョ!</p>"; } else { echo "<p>(゜Д゜)まだ5行無いぞ!</p>"; } } ?> </body></html> こんな感じだろうか。もっと効率いいのがありそうだが。 で、削除の部分で良い方法が思いつかない。 ってかソース読みにくくてスマソ_| ̄|○
>>807 ログの行数はfile()で取得してcountすれば2行で済む。
809 :
nobodyさん :05/01/01 21:46:55 ID:Ctk5qZaz
PHPとMySQLを使って4択問題をだして答えてもらってサーバで自動採点するファイル(ようは4択のwebアンケートのようなもの、PC上での試験みたいな) を作りたいと思ってるのですが参考になるようなサイトやソースないでしょうか? 完全に個人での勉強目的で商用等に使ったりはしませんので教えていただけないでしょうか?
PHP4にC++のnamespaceみたいなのってありませんか? Googleやwww.php.netをいくら探してもないのでたぶんないと思うのですが もしかしてあったりしますか?
>>811 namespaceはPHP5からです。
ただしそれもネストできないちゃちなものですけどね。
$DATA =array("name1"=>test1, "name2"=>test2 ); $DATA=array("name3"=>test3); こうやって書くと最後の行だけが上書きされるようで、 $DATA[name1]と$DATA[name2]が消えてしまうんです。 なんとか$DATA[name1]と$DATA[name2]を残しながら 配列の情報を更新することはできませんかね?
>>813 何がしたいんだ???
要素追加するだけなら普通に $DATA['name3'] = 'test3' じゃあかんのか?
今まで苦労してセッションIDを使ってきたんだけど、 これってクッキーで完全に代替きかない? セッションIDを記憶するためには クッキーを使う場合がほとんどなわけで、 結果的にはセッションで記憶させなくても、 直接クッキーに記憶させりゃすべて万々歳なんじゃないのでしょうか? ふと疑問に思ったんだが、だれか返答ヨロシコ ちなみに会員制のサイト作るためにセッション使ってマスタ
816 :
nobodyさん :05/01/02 06:36:33 ID:eCK1jGxR
FORMからPHPにPOSTで変数を送ってるんだけど、 1回目は確実にPOSTしたはずの変数が代入されていない、 んでブラウザで戻るを押して、 再度同様にinput部分を入力してPOSTすると なぜか今度は代入される。 再度、送信ページを更新して、送信ボタンを押すとフリダシに戻り。 何十回も見直したが、htmlに問題はないし、 PHP側にも問題がないはずなんですが、 このような事例ってありますか? そもそもなぜ2回目は問題なく動作するのか? わけわからねーっすーーー
>816 ブラウザの設定
818 :
816 :05/01/02 07:48:26 ID:eCK1jGxR
>>817 ブラウザはIEのデフォルト状態です。
ブラウザの設定が原因として、このデフォルト状態でも
上記問題を発生させないにはどうすればいいのでしょうか?
if文の elseって絶対必要?
820 :
nobodyさん :05/01/02 09:30:46 ID:g7zmI0f+
無くてもいいよ。
>>815 セッションは、設定によっては、クッキーがオフになってる場合は、自動的にURLに組み込まれる。
しかし、クッキーを直接発行する場合は、クッキーがオフになってたら、そこで終了。
PHPからperのCGIファイルをincludeしても テキストファイルとしてでしかincludeされないのですが、 何か改善方法はないでしょうか?
phpに書き直せ
phpだと同サーバーの香具師からファイルが見られてしまう場合が あるってきいたけど、実際に見るのってどういった方法が 考えられる? 例えば、 CGIやPHPを他人が使用できないようにしても 見られる可能性はある?
>>824 PHPだろうとCGIだろうと関係無い。
FTPの設定の問題。
ユーザーディレクトリより上階層を閲覧出来るようにされてる鯖だと見れる。
ユーザーディレクトリなんかも切らずに、例えば、
/var/www/htdocs_hoge.com
/var/www/htdocs_hage.com
って置いてる場合は、バーチャルホストなんぞで、
切り分けされてないと見れてしまうとこもある。
要は、鯖管のスキル次第、みたいなとこはあるな。
環境構築の際にそうしか出来ないようになる場面もあるが。
>>815 cookieの中身はクライアント側で容易に読み書き可能。
あけましておめでとうございます。早速ですが質問です PHP質問スレとくだらねぇ質問スレのどちらで質問したらよいか、 その基準はどのへんですか。
>>812 namespaceはPHP5でもない。いったん提案されたが廃止された模様。
830 :
816 :05/01/02 17:03:08 ID:???
依然として改善できねーっす・・・
>>830 症状が再現する最低限のソースを晒してみれば?
掲示板で検索して条件に合ったものを10件ずつ表示するとき (1)ログをすべて走査して配列にいれて、その配列から10件ずつ表示 (2)ログの中で条件とマッチするたびに表示して10件になるまで繰り返す (1)と(2)ならどちらがサーバーに負担かけないでしょうか?
>>832 で、どれぐらいですか。何PHPぐらいですか。
なるほど、5PHP以上なら向こうのスレで質問していいわけですね?
よく見ろ、0.5だ
〜って出来ますか? 〜と言うように本に書いてあったんですが、うまく動きません。 〜したいのですが、〜としてもうまく動きません。 〜で言う○○と同じような動作をさせたいのですが・・・ 以上の様な、知ってる人から見ればバカみたいな質問はここ。 で、具体的なPHPのコードに対する動作不良、エラーが出てしまうなどは質問スレ
839 :
sage :05/01/03 19:01:04 ID:KSsMVUlG
下記のようなソースでUPされたファイルとデーターベースに格納されている 文字列で重複削除をかけるために$ngにmysqlの結果セットを格納していきたいのですが 今のfor文ですと時間がかかりすぎてしまってこまっております。 何か一発で添字配列$ngに格納する方法ありませんでしょうか? $rs="select id from ng"; $rt=mysql_num_rows($rs); for($i=0;$i<$rt;$i++){ $ng[$i]=mysql_result($rs,$i,'id'); } $ok=array_diff($up,$ng);
クラスを使ったプログラミングを勉強し始めました。 まだオブジェクト指向とは、それ以前にプログラムとは何たるか すらまともに理解していないので、これは変テコな質問かもしれ ないのですが、例えば、ファイル名/フォルダ名を取得してブラウザ に表示する場合、ファイル名などのサニタイズというのは、どうすれ ばよいのでしょうか。 1. サニタイズ用のクラスを作る 2. 同じクラス内で処理 3. それぐらいはメインの中で処理
>>841 サニタイズがわかってない悪寒。
サニタイズというのはユーザーからの入力をプログラムに渡しても
安全かどうかチェックしたり、安全なように変換したりすること。
サニタイズする処理が他の部分でも多いのなら1
その部分でしかサニタイズしないのなら、2か3かな?
843 :
841 :05/01/04 00:47:27 ID:???
>>842 さん
ご教示ありがとうございます。この場面ではサニタイズとは言わな
いのですね。勉強になります。
目標として、フォルダ毎に納められた圧縮ファイルの中身一覧の
表示と検索を、勉強がてら、データベースと連携してやりたいと
思っております。自分で&や;、その他ブラウザ表示には具合の
悪い文字をフォルダ名やファイル名を付ける事はないつもりでは
いるですが、もしもという事があるかもしれませんし、それに検索
フォームの作成も必要という事で、1で頑張ってみたいと思います。
ありがとうございました。
844 :
790 :05/01/04 02:09:08 ID:???
レスが無いのでUNIX板のVIMスレ行ってきます。 スレ汚しスマソ
以下のようなデーターをMYSQLから読み込みます。 $dim=array('001'=>'a','001-001'=>'a-1','001-001-001'=>'a-1-1', '001-001-001'=>'a-1-1-1','001-001-001-001'=>'a-1-1-1-1', '001-001-001-002'=>'a-1-1-1-2','001-001-002'=>'a-1-1-2', '001-001-002-001'=>'a-1-1-2-1','001-001-002-002'=>'a-1-1-2-2', '001-002'=>'a-2','001-002-001'=>'a-2-1','001-002-002'=>'a-2-2' , '002'=>'b' 続く...); これを htmlのul,liを使ったリスト表示したいと思っています。 <ul><li>a<ul><li>a-1<ul><li>a-1-1<ul><li>a-1-1-1<ul><li>a-1-1-1-1</li>(以下略) リストの入れ子の深さがデーターによって不規則なので、閉じタグが上手く 表示できなくて困っています。どうかよろしくお願いします。
>>845 なんつーか珍妙なテーブルだね
深さを示す変数を持っておいて、現時点より浅くなったら
その分閉じタグ入れればいーんじゃナイ?
ていうか勝手に「閉じタグを入れるアルゴリズム」のことを聞いてると
解釈したけど、
>>845 の質問文はあいまいだからそのあたりハッキリ
した方がいーんじゃナイ?
>>846 >>847 早速のレスありがとうございました。
すいません。質問があいまいでした。「閉じタグを入れるアルゴリズム」を
教えて下さい。手持ちの資料をDBで管理したく、資料の目次を一覧表示する
部分を作りたいと思っています。
a=資料名 a-1-1-1=資料 第1章1節1項
>>848 PHP以前にアルゴリズムの問題だろ。
ユーザ関数を使い、再起呼出しをかける事で、どんなに深くなっても対応出来る。
分木探索の応用だよ。
レス遅くなってすいません。 「phpのツリーのアルゴリズムがわかんねんんだよ!」という スレをgoogleで見つけて解決しました。 ありがとうございました。>皆様
みなさんは、PHPスクリプトを組む際にエディタは何を使っていますか?
>>851 DreamweaverMX2004
サイトの管理の機能が便利だから、いつの間にかコレに定着してた。
Linuxで作るときはEclipse
>851 xyzzy
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/htdocs/kanri/test/formtest2.php:1) in /var/www/htdocs/kanri/test/formtest2.php on line 5 Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/htdocs/kanri/test/formtest2.php:1) in /var/www/htdocs/kanri/test/formtest2.php on line 5 こんなん出たんですけど、直し方がわかりません。 ライン 5行目は session_start(); です。 だれか意味とか直し方とか教えてください。 お願いします。
>>855 セッション・クッキーを使う場合はヘッダより先にしてくれってこと。
ヘッダ情報を送信する前にスクリプト実行しとき。
857 :
855 :05/01/05 01:28:15 ID:???
>>856 即レスありがとうです。
ヘッダ情報を送信する前ってどういうことなんですか?
プログラムの始めのほうに書いてて、<?phpのすぐ後に書いてるんですけど、
位置を色々変えてみたほうがいいんですかね?
同じようなプログラム(html部分が違う)では全く問題なく動くんでけど…
元のプログラムをコピペしてhtmlの部分を少し改良した感じなんです。
858 :
855 :05/01/05 01:42:11 ID:???
あ、何故か出来ました! すいません、ほんとにくだらない質問で…
DB接続時にconnectするけど、接続後に明示的にcloseする場合と しない場合なにか違いはあるのでしょうか?
>>859 そんなに違いはない。
スクリプト終了前にcloseすれば、多少なりともリソースが解放されるってだけ。
結局は、スクリプト終了時に自動的にcloseされる。
(´-`).。oO(なんでマニュアル読まないのだろう・・・)
863 :
nobodyさん :05/01/05 09:30:58 ID:UxwkK65L
phpの記述の一部分をcgiスクリプトに書くには(入れ込める) どうすれば?
865 :
超ど素人 :05/01/05 12:59:33 ID:m5e5wCkg
すみません。以前$_POSTの使い方をここで教わった者です。配列化された 入力部品を操作する方法も教えて頂けますでしょうか。form.htmlファイル には <form method="POST" action="hairetu.php"> <table><tr><td>アドレス1</td> <td><input type="text" name="mailadrs[1]"></td></tr> <tr><td>アドレス2</td> <td><input type="text" name="mailadrs[2]"></td></tr> </table><input type="submit" name="submit" value="送信"></form> と書き、hairetu.phpファイルには、 <?php $mailadrs[1]=$_POST["mailadrs\[1\]"]; $mailadrs[2]=$_POST["mailadrs\[2\]"]; print("あなたのメールアドレスは"); print($mailadrs[1]); print($mailadrs[2]); print("ですね"); ?> と書いたのですが、「送信」ボタンを押しても「あなたのメールアドレス はですね」としか表示されず、入力したmailadrs[1],mailadrs[2]が表示 されません。mailadrs[1],mailadrs[2]も表示させるようにするにはどう すれば良いのでしょうか。環境は、PHP4.3.8+Apache1.3.31+WindowsXP です。 どなたか、教えて下さると非常に助かります。宜しくお願いいたします。
>>865 print_r($_POST); すると、
Array ( [mailadrs] => Array ( [1] => i [2] => l ) となる。
つまり、$_POST['mailadrs']['1']や $_POST['mailadrs']['2'] に保持されている。
これを再帰的な配列や多次元の配列という。(マニュアルの配列の項より引用)
フォームで使っている[ ]が、変数名の中の文字[ ]として扱われずに
配列になっていることに注意。
>>863 たとえばperlでかかれたスクリプトの中にPHPのスクリプトを記述するの?なぜそんなことを…
<img src="hogehoge.php?count=○○">とかsystem('php hogehoge.php ○○');とか?
ぶっちゃけ、意味ないじゃん。 と、思うのは俺だけでしょうか。
perlで書かれた掲示板にPHPで書かれたカウンターを付けるとかかねぇ。 やりたい事によってはサーバの設定(apacheのfilterとか)を 変えるような大掛かりなものになったりするし、 対象がはっきりくっきりもっきりしないと何とも言えないよね。
870 :
超ど素人 :05/01/05 15:21:00 ID:m5e5wCkg
>866 >つまり、$_POST['mailadrs']['1']や $_POST['mailadrs']['2'] に保持されている。 ありがとうございます!!出来ました!!それで、続きなのですが、これを PHPファイルに簡単に書く方法はないでしょうか。 $mailadrs1=$_POST['mailadrs']['1']; $mailadrs2=$_POST['mailadrs']['2']; print($mailadrs1); print($mailadrs2); を、もっと簡単に書きたいのです。イメージとしては、 for($i=1;$i<=count($_POST['mailadrs']);$i++) { $mailadrs . $i =$_POST['mailadrs'][" $i "]; print($mailadrs . $i); } なのですが、これでは動きません。このような「ループ」を使って 簡単に書く方法はないでしょうか。何度もお手数をおかけしますが、 何卒宜しくお願い致します。
こんな感じ? $mailadrs=$_POST['mailadrs'][$i]; print($mailadrs);
$mailadrs . $i =$_POST['mailadrs'][" $i "]; print($mailadrs . $i); じゃなくて print $_POST['mailadrs'][$i]; でいいんじゃない?
foreach($_POST['mailadrs'] as $key=>$value) { echo "アドレス".$key."=".$value."<br>\n"; }
874 :
nobodyさん :05/01/05 17:50:46 ID:m5e5wCkg
>871 >872 >873 皆様、ありがとうございます!!どの方法でも出来ました!! 本当に感謝しています!これで、次のステップに進めます。 本当にありがとうございました!!
875 :
nobodyさん :05/01/06 00:03:07 ID:+ptIYsD6
くだらない質問なんですがこれでエラーが出るのは何がいけないんでしょうか? <?php $a = "PHP+MYSQL<br>"; $b = "マスターしよう"; print "<br>" . $a . $b . "<br>"; $c = "<font color ='#003366">"; $c .= $a . $b; $c .="</font>"; print $c; ?> 宜しくお願いします。
>>875 $c = "<font color =\"#003366\">";
どんなエラーなのか秘密にしてるみたいだけど、parse errorが出てるんだよね。 エラーが表示された行でPHPの中の人が構文間違いに気づいたということなので、 それより上の行をじっくり見ていくとよい。 show_source('そのPHPファイル"); を使うとソースが色分けされて PHPの中の人がどういう風にソースファイルを見ているか分かるので parse errorなんかは比較的発見しやすい。
878 :
nobodyさん :05/01/06 01:34:26 ID:+wNs3Qbo
PHPでpingを送信する簡単なサンプルスクリプトってありませんか? 検索したんですが、Perlとかぐらいしかありません…。
880 :
nobodyさん :05/01/06 09:35:54 ID:fZiVCIKI
みなさん => ってどう読んでる?
やじるし というか、あまり呼ぶ機会がない。
いこーるしょうなり
任意の文字のASCIIコードを取得するにはどうすればいいですか? 逆にASCIIコードから文字を表示させるにはどうしたらいいですか?
広告メールくり〜
ord() chr()
おっと、思い出した。 たばこ買いにサアンクス行って来ようっと。
888 :
nobodyさん :05/01/06 17:25:22 ID:d7KRc6M6
Aの子クラスとしてclass Bを利用したいのですが、 class A extends Bとする方法以外で class A{ ???関数('B'); } などとして子クラスに追加する関数はあるのでしょうか?。 class B{ } class A extends B{ }
>>888 何言ってるのかわからんが、継承じゃなくて委譲をするって話じゃないか?
890 :
888 :05/01/06 17:55:18 ID:???
委譲(?_?と思って調べていたら、外部ファイルで定義されたクラスを敬称すると エラーになるという記事を見つけて(^^)!納得しました。 お騒がせしましたm(_)m。 ありがとう^^ > 889
Fatal error: Call to undefined function: mb_language() と表示されてしまうのですが、どうしてでしょう^^; 以下の設定だけでは動作しなくなりました? WIN2K+Apache2+PHP4.3.10 [php.ini] extension_dir = "C:/PHP/extensions" extension=php_mbstring.dll
893 :
初心者です。 :05/01/06 19:44:32 ID:+ptIYsD6
よくあるプロフィールみたいな感じでただ入力した情報を別に表示させたいだけなんですけど 入力フォームから入力 <form method="POST" action="b.php"> 名前<br> <input type="text" NAME="name"><br> <input type="submit" value="送信"></form> ↓ txtに保存して。(これがないと消えてしまうので) ↓ a.phpに表示 したいんですけどどのようにソースを書けばよいでしょうか? 暇な方で誰か書いていただけませんか? どうぞ宜しくお願いします。
[b.php] $fp = fopen('./name.dat','w'); fwrite($fp,$_POST['name']) fclose($fp); [a.php] $fp = fopen('./name.dat','r'); $name fread($fp,filesize('./name.dat')) fclose($fp);
送信されてしまった >_< エラー無視の適当書き [b.php] $fp = fopen('./name.dat','w'); fwrite($fp,$_POST['name']) fclose($fp); [a.php] $fp = fopen('./name.dat','r'); $name = fread($fp,filesize('./name.dat')) fclose($fp); echo $name;
896 :
初心者 :05/01/06 20:27:02 ID:+ptIYsD6
nobodyさんありがとうございます! しかし何故だかエラーになってしまいます。 Parse error: parse error, unexpected T_STRING in 何故なのでしょうか。 宜しくおねがいします。
fwrite($fp,$_POST['name']) ; ← $name = fread($fp,filesize('./name.dat')); ←
898 :
初心者 :05/01/06 20:39:41 ID:+ptIYsD6
出来ました!! すいません私がちゃんと見てなかったです。 nobodyさん本当にありがとうございます!
899 :
初心者 :05/01/06 20:55:33 ID:+ptIYsD6
度々すいません。 項目を増やしたいのですがどうすればよいでしょうか。 echo $name."<br>".$tosi;にすればよいのでしょうか。 宜しくお願いします。
こんな感じかな 食事作り&食べるのでしばらく不在になります [b.php] $dat = join("\t",array($_POST['name'],$_POST['name'])); $fp = fopen('./name.dat','w'); fwrite($fp,$dat); fclose($fp); [a.php] $fp = fopen('./name.dat','r'); $dat = fread($fp,filesize('./name.dat')); fclose($fp); list ($name,$toshi) = preg_split("\t",$dat); echo $name.'<br>'.$toshi;
$dat = join("\t",array($_POST['name'],$_POST['name'])); ↓ $dat = join("\t",array($_POST['name'],$_POST['toshi'])); でしたね^^;
902 :
初心者 :05/01/06 21:50:52 ID:+ptIYsD6
わざわざありがとうございました!
903 :
初心者 :05/01/06 21:58:42 ID:+ptIYsD6
最後の最後でエラーに‥ [a.php] $fp = fopen('./name.dat','r'); $dat = fread($fp,filesize('./name.dat')); fclose($fp); list ($name,$toshi) = preg_split("\t",$dat); echo $name.'<br>'.$toshi; どなたか見てもらえますか。 宜しくお願いします。
エラーメッセージくらい書けよ ってか、エラーメッセージ読めばどこがおかしいか見当つくだろが 甘えんのも大概にしやがれ
905 :
???S?O` :05/01/06 22:37:05 ID:+ptIYsD6
904さん すいません。そんな言い方しないでください。 相手は人間なので。 Warning: Empty regular expression in というエラーがどうしてもおきてしまいます。 宜しくお願いします。
>>905 キミは自分が人間のつもりなのか?
名前欄もロクに書けないくせにw
>>905 Warning: Empty regular expression in の後にもエラーメッセージは続いてるだろ?
そこには、line **と、エラーが発生した近辺の行番号が書かれているはず。
なぜ、そこを書かない?
我々はエスパーではない。
自分の状況を誰にでも正確に伝わるように心がけることから、
質疑応答は始まる。
「人間」ならばコミュニケーションの基本から勉強したほうが良い。
ってか、これは新手の釣りか?釣りなのか?釣られたのか?
釣りでなければうんこ
>>905 >907見てみろよ!
こいつは詳しく書きすぎなんじゃないの?
こんなの見たら超初心者でも簡単に理解できちゃうよ!!
こりゃ>905をやさしくしすぎなんじゃないのか?
…あっ!すまねぇ!人間じゃないんだったな。
人外の言葉は分からないから勘弁してくれ。
list ($name,$toshi) = preg_split("\t",$dat); ↓ list ($name,$toshi) = preg_split("/\t/",$dat); 寝るw
912 :
nobodyさん :05/01/07 00:40:46 ID:M7BJ/Yco
おまえらかんぐりすぎ
PHP歴半年のコワッパですが、失礼します。 最近MySQLとPHPの連携ばかりやっていたので ファイル操作のほうを結構忘れがちでした。 久しぶりにやってみようと思って DB使わずにアクセスログを作ろうとしていたのですが。 日毎に自動でファイルを作成しようと思いソースを書いてみたのですが <? #アクセス時間を取得 $time=time()-60*10; $now=date("Y/m/d H:i:s",$time); #ログ保存ファイル $today=ereg_replace("/","",$now); $today=substr($today,0,8); $filename="/log/".$today.".txt"; $file=fopen($filename,"a"); //28行目に当たる ?> Warning: fopen(/log/20050107.txt) [function.fopen]: failed to open stream: No such file or directory in /home/masami/www/htdocs/realtime/accget.php on line 28 と言うエラーが出てしまいます。 どなたか対処方がわかればご教授お願いします。
ファイルがないと言ってるだろ。 × $filename="/log/".$today.".txt"; ○ $filename="./log/".$today.".txt";
早速お返事ありがとうございます。 書き込みを読む前に $filename="../log/".$today.".txt"; 上記に変更してみたのですが、無理でした。 fopenのマニュアルを見る限り モードaは 書き出し用のみでオープンします。 ファイルポインタをファイルの 終端に置きます。 ファイルが存在しない場合には、作成を試みます。 上記のように書いてあります。 それなのにファイルが作成されなくて困っております。
申し訳ないです。 自己解決しました。 ファイル保存のパスが間違っていただけでした。
917 :
nobodyさん :05/01/07 04:31:05 ID:UoL6X1bK
ブラウザのsleipnir でセッション保持のテスト動作していたら、 繰り返すうちになぜかセッションIDが空のものしか登録されなくなります。 ここで新たにIEなんかを起動させて、同じ動作を行っても 正しくセッションIDが作成されます。 タブブラウザであることが関連あるのか思いますが、 解決方法はないか誰かご教授ください
なんでみんな正規表現が必要ないのに正規表現使ってるのかな
>>900 のpreg_splitはexplodeでいいし
>>913 のereg_replaceはstr_replaceでいい
サーバにもやさしいと思うけど
913 の場合は str_replace でもいいけど、 str_replace はバイナリフリーじゃないので 日本語の置換で化ける時があるから ereg_replace が安全
date("Ymd",time()); //ereg_replace("/","",$now); で良い様な
922 :
百済無 :05/01/07 12:01:52 ID:???
自分のPCでPHPを動かそうってことで、
APACHE+PHP>WinXPに入れたんだけど、
switch ($a) {
case 1:
case 2:
print "<P>case1</P>\n";
break;
case 3:
print "<P>case2</P>\n";
break;
default:
print "<P>case else</P>\n";
}
と記載して、test.phpとして
http://localhost/test.php?a=2 実行しても、『case else』が表示されてしまいます。
レンタルサーバーにアップして実行すると、
『case1』と表示されます。
どうすればうまく動作するのでしょうか?
過去ログ嫁 $_REQUEST['a'] もしくは $_GET['a']
>>922 $_GETを使う
php.iniの設定によるけど、922の自宅PCだと$aには自動で入らない設定なんだと思う
$_GET['a']をつかって書く事をお勧めします
ありがとうございマイケル
926 :
nobodyさん :05/01/07 14:00:18 ID:6POw/25B
あるエラーメッセージを表示する関数で文字化けしてしまいます。 他の部分で使った場合は文字化けしてないのですが if(mb_ereg("[^0-9A-Za-z]",$in_pass,$result)){ err_message("パスワードは半角英数字で"); } というところで 「は半角英数字で」 が文字化けします。 パスワードという文字は何故か文字化けせず、 開かれたページをメモ帳でソースを見ると普通EUCなので文字化けするはずが その部分だけしておりません。 どのような原因が考えられるでしょうか? よろしくお願いします。
>>926 ソースがSJISなんでしょ。
確かめれ
>>927 いえ、ソースはEUCです。
他のところで使っても文字化けしませんし。
929 :
nobodyさん :05/01/07 14:22:10 ID:7s26NJ24
PHP始めてみたんだけど、変数の宣言がいらないのが なんか気持ち悪いなぁ。書く時は楽だろうけど後々困りそう。 PHPってこれから覚える価値あるの?
>>926 <?
echo ("パスワードは半角英数字で\n");
?>
>>928 じゃあ、ブラウザが勘違いしてSJISで読んでるんじゃね?
EUCで再読込してみたら?
で、逝けたらheaderで文字コード投げてやれば桶なはず
>>929 変数の宣言はしたければしてもいいよ、と。
>>930 表示はできましたが他のエラーが山ほどでてしまいました。
>>931 ブラウザはEUCで読んでいます
Shift-jisにするとソコの部分だけちゃんと表示されます。
headerで文字コードは投げてあります。
>>932 どうやら、漏れではお手上げのようだ。
まあ、ないとは思うけど以下の点も確認するといいかも
-「パスワードは半角英数字で」の部分だけ何故かSJISになっている
-headerで投げる文字コードの記述が間違っている
>>932 err_messageってのが何やる関数なのか知らないけど、
関係しているスクリプト(テンプレート使ってるならそのファイルも)の
文字コードを全部チェックしてみた?
>-「パスワードは半角英数字で」の部分だけ何故かSJISになっている こういうコトってあるんですか? エディタで名前をつけて保存でEUCで上書きしてみたのですが直りません。 他の部分では問題ないのでheaderの記述やphpファイルの文字コードエラーではないと思います。
DreamWeaverって文字コードのバグあります? なんかしょっちゅう文字化けが…( ´Д`)=3
釣りはスルーで
>>936 DWは文字コードSJIS以外の編集はオススメ出来ない。
判定機能が弱いらしい。2バイト文字をいっぱい入れればEUCでもちゃんと表示してくれるけど。
もしかしたら「美乳」とか入れると文字化けしないかもかもかも。
EUC使うPHPには向いてないってことですね。 この奇妙な文字化けがなければ結構好きなソフトなのになぁ…
940 :
938 :05/01/07 15:28:45 ID:???
>>939 次回VerUPに期待しましょう。
俺はHTML+PHPの同時作業が多いからDWで快適に作業できたら嬉すぃ。
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆ ★ ★ ☆ 質問者が返信する際は、名前欄に「最初に質問したレス番号」を入れろ ☆ ★ ★ ☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
とあるプログラムで Warning: Division by zero in C:\Apache2\htdocs以下プログラムのアドレス on line 94 ってエラーが出るんですけど Warning: Division by zero のエラーとは、どういう意味なのでしょうか?
0で割っちゃだめだよ(ハアト
1÷0=0ではない
本スレにて > <img src="status.php"> で画像ファイルを呼び出せると言われたのですが imgタグの中に直接phpファイルを記述して画像を呼び出すことは できるのでしょうか? "status.php"の中身はどう記述すれば <img src="status.php"> で画像ファイルが呼び出されるのでしょうか?
947 :
nobodyさん :05/01/08 00:18:33 ID:pNFfcF90
親クラスのコンストラクタで初期値を入れてるんですが、 これを継承した子クラスでコンストラクタを作ると親クラスのコンストラクタで入れてる初期値が入らなくなってしまう。 PHP/4.3.2だからフィールドに初期値は入れられません。 そうなると継承した各子クラスで同じ初期値を入れる処理を書かなくてはいけません。 こういう時ってどうしたらいいんですか? グローバル変数を使えばいいんでしょうか? どなたか良い方法お願いします。 class oya{ var $a; function oya(){ $this->a = "hage"; } function message(){ print "message is " . $this->a; } } class ko extends oya{ function ko(){ $this->a = "hage"; } function message(){ print "msg is " . $this->a; } }
>>946 $img="画像のバイナリコード";
$ext="gif";
header("Content-Type: image/$ext");
echo base64_decode($img);
exit;
949 :
946 :05/01/08 00:31:48 ID:???
>>948 あ、バイナリを直接記述するのですか・・・
りょ、了解です(´Д`lli)ゞ
>>949 ごめん間違った。
$imgにはバイナリ直接じゃなくってbase64でエンコードされた文字列でした。
外部からファイルオープンでもいいよ。
951 :
946 :05/01/08 00:46:02 ID:???
>>950 $img = "picture.png";
$ext = "png";
header("Content-Type: image/$ext");
echo base64_decode($img);
exit;
ですね( ´∀`)?
もうコレで最後にするよ… $imgname="picture.png"; $fh=fopen($imgname,"rb"); $img=fread($fh,filesize($imgname)); fclose($fh); $ext="png"; header("Content-Type: image/$ext"); echo $img; exit;
953 :
946 :05/01/08 01:17:14 ID:???
かたじけないです(;´Д`)・・・
mb_convert_encoding(): Unable to detect character encoding というエラーが出たのですが、どうすればいいのですか? ググってもよくわからなくて。。
>>947 継承先のクラスで継承元のコンストラクタを
呼ぶしかないんじゃないかなぁ。
class ko extends oya{
function ko(){
parent::oya();
}
}
みたいに。
そのmb_convert_encoding()関数を使っている部分のソースを晒してください
957 :
947 :05/01/08 02:26:55 ID:???
>>955 やっぱり各子クラス内でどうにかしないといけないですよね。
しょうがないのでそうするようにします。
どうもありがとうございます。
958 :
954 :05/01/08 03:25:23 ID:???
>>956 ググったら解決しました。。
あるメールフォームなので晒すことは出来ませんです。。
しかし、配信されてくるメールが文字化けする・・・OTL
ソースを晒すことが出来ないようなヤツはここにくる必要はないんじゃなかろうか。
index.html <form action="./form.php" method="post"> <input type="text" name="test" size="30"> <input type="submit" value="send"> </form> form.php <?php echo $test; ?> という二つのファイルを用意してフォームからデータを送っても何も表示されません。 empty($test)で確認したところ1が返ってきます。 インストールしたばかりのredhat7.3+apache1.3.22+php-4.1.2で行ってます 初歩的な質問ですが、自分では解決方法が得られなかった為よろしくおねがいします。
>>960 register_globalsだろ
過去ログ嫁
echo $_POST['test'];
962 :
960 :05/01/08 13:07:24 ID:???
なんか最近
>>960 の様なあほな質問が連発してるな・・・
どっかの厨雑誌がPHP特集でも載せたのか?
本スレでは聞けないアホでくだらない質問をするためにこのスレがあるんじゃなかったっけ?
ここにもいい加減、ちゃんとしたテンプレつくれや。 俺はヤダ。
register_globalsだけでもテンプレ入れようぜ
あと誘導先もテンプレ
>>964 全く同じ内容をログも読まずに質問するのは、このスレでも範疇を超えています。
基地外盲目質問スレでも作れ!
テンプレ 〜って出来ますか? 〜と言うように本に書いてあったんですが、うまく動きません。 〜したいのですが、〜としてもうまく動きません。 〜で言う○○と同じような動作をさせたいのですが・・・ 以上の様な、知ってる人から見ればバカみたいな質問はここ。 で、具体的なPHPのコードに対する動作不良、エラーが出てしまうなどは質問スレ
Web上でPHP使っていて、フォームから入力した情報が変数に受け取れない php.iniのregister_globalsをONに汁 ただしセキュリティ上お勧めしない $_REQUESTを使うべし
PHPに関するくだらない質問用すれです。
〜って出来ますか?
〜と言うように本に書いてあったんですが、うまく動きません。
〜したいのですが、〜としてもうまく動きません。
〜で言う○○と同じような動作をさせたいのですが・・・
以上の様な、知ってる人から見ればバカみたいな質問はここ。
で、具体的なPHPのコードに対する動作不良、エラーが出てしまうなどは質問スレ
http://pc5.2ch.net/test/read.cgi/php/1103636095/ ★★SUPER FAQ★★
[1]Web上でPHP使っていて、フォームから入力した情報が変数に受け取れない
├ php.iniのregister_globalsをONに汁
├ ただしセキュリティ上お勧めしない
└ $_REQUESTを使うべし
[2]
後よろしく。
PHPに関するくだらない質問用すれです。
〜って出来ますか?
〜と言うように本に書いてあったんですが、うまく動きません。
〜したいのですが、〜としてもうまく動きません。
〜で言う○○と同じような動作をさせたいのですが・・・
以上の様な、知ってる人から見ればバカみたいな質問はここ。
で、具体的なPHPのコードに対する動作不良、エラーが出てしまうなどは質問スレ
http://pc5.2ch.net/test/read.cgi/php/1103636095/ ★★SUPER FAQ★★
[1]Web上でPHP使っていて、フォームから入力した情報が変数に受け取れない
├ php.iniのregister_globalsをONに汁
├ ただしセキュリティ上お勧めしない
└ $_REQUESTを使うべし
[2]質問スレと、くだ質スレ、どちらに質問するか、基準は何ですか?
├
>>1 嫁
└ そういう質問はどっちも不許可。カエレ!
後ヨロ
<SELECT name="icon"> <OPTION value="cat.gif">猫</OPTION> <OPTION value="dog.gif">犬</OPTION> </SELECT> の時、選んだものをクッキー保存するうまいヤリ方はありますか?
>>973 うまいやり方も何も、ファイル名でクッキー保存する以外にあるわけないだろ
犬も猫もクッキーが好きだからね。
面倒だがJavaScriptを使う手もあるね
977 :
nobodyさん :05/01/09 01:43:56 ID:QFmRB+Xy
下記のようなソースでinnsert文は通るのにselect文が通用しません mysql_num_rowsでパラメーターが間違っているとエラーをはきます。 どなたか判る方ご教授ください。 $sql="create table ".$passwd." (num INT UNSIGNED auto_increment not null,address varchar(100) not nukk,primary key(num))auto_increment=1"; mysql_db_query("max",$sql); for($i=0;$i<$num;$i++) { $array_file[$i]=strtolower($array_file[$i]); $array_file[$i]=mb_convert_encoding($array_file[$i],"Shift_JIS","EUC"); $array_file[$i]=mb_convert_kana($array_file[$i],"rnaskh"); $sql="insert into ".$passwd." (address) values('".$array_file[$i]."')"; このクエリは通る mysql_db_query("max",$sql); } //$sql0="select address from ".$passwd." where not exists(select address from ngaddress where ngaddress.address=".$passwd.".address)"; //$sql0="select address from ngaddress"; $sql0="select address from ".$passwd." order by address"; $rs0=mysql_db_query("max","select address from ".$passwd); このクエリが通らない while($ok=mysql_fetch_array($rs0)){print($ok."<br>");} $sql3="drop table ".$passwd; mysql_db_query("max",$sql3);
>>10 イスラエルの会社ならもっとアメリカの大手IT系企業から支援を受けててもいいのにな。
. /ヘミミミ/ ``'ー-.、,ヽ丶)ヽ、
、. レ"ヾヘミミ/ ヽソノ;、ヾi
_ヽlヾミミミン -zュ、、 ´ ';ソ:|
i A;ヽミミゾ ,__,.、,、,..,、、.,、,、、..,_ /i
| | iミミソ ヽ;'`;、、:、. .:、:, :,.: ::`゙:.:゙:`''':,'.´ -‐i
| ヽiミソ ''、;: ...: ,:. :.、.:',.: .:: _;.;;..; :..‐'゙  ̄  ̄ /i
゙iー:ソ ,、-' |ヽ,;'`;、、:、. .:、:, :,.: ::`゙:.:゙:`''':,'.´ -‐i
ノソ ` = _, | '、;: ...: ,:. :.、.:',.: .:: _;.;;..; :..‐'゙  ̄  ̄
. "! ,.r===;-、, ` '′ ,'
ハ. / ヽ、 ヽ,) ノ
,r'イ ', l!、 ゙i ./ ,.'
. i | ', iゝヽ..ノ,イ /
. !│ ヽ ゝ.二 '´ /.│
. ! | ヽ / !、 それが、VIPクォリティ
. | | >‐‐ァ" | \
http://ex7.2ch.net/news4vip/
Vipperウザ
朝
せーん せーん せーん
985 :
nobodyさん :05/01/09 08:13:19 ID:vqaQWTLW
PHPとは何ですか?
986 :
nobodyさん :05/01/09 08:14:01 ID:vqaQWTLW
何なんですか?僕をからかってるんですか?
987 :
nobodyさん :05/01/09 08:14:26 ID:vqaQWTLW
もういいです。
988 :
nobodyさん :05/01/09 08:15:20 ID:vqaQWTLW
間違えました。レスミスです。 スレ汚しすいませんでした。
( ゚Д゚)・・・
ゆうていみやおうきむこうほりいゆうじとりやまあきら ,,―‐. r-、 _,--,、 ,―-、 .| ./''i、│ r-,,,,,,,,,,,,,,,,,,,,,,,,―ー. ゙l, `"゙゙゙゙゙ ̄^ \ / \ ヽ,゙'゙_,/ .゙l、 `i、 \ _,,―ー'''/ .,r'" .,,,、.,,i´ .,/^'i、 `'i、`` `--‐'''''''''''''''"'''''''''''゙ `゛ .丿 .,/ { "" ,/` ヽ、 `'i、 丿 .,/` .ヽ、 丿 \ .\ ,/′ 、ヽ,,、 ゙'ー'" ゙'i、 ‘i、.r-、 __,,,,,,,,--、 / .,/\ `'-,、 ヽ .]゙l `゙゙゙゙"゙゙゙゙ ̄ ̄ `'i、 ,/ .,,/ .ヽ \ ゙ヽ_/ .ヽ_.,,,,--―――――ー-ノ_,/゙,,/′ ゙l ," ` ゙‐''"` ゙'ー'
F5は去ったようだな
992 :
nobodyさん :
05/01/10 14:57:18 ID:a5JFGGyn PEARのgetOne相当の関数ってありますか?