【PHP】下らねぇ質問はここに書き込みやがれ 57
1 :
nobodyさん :
2007/10/22(月) 23:10:36 ID:mIlonsko まず読め→【PHP マニュアル】
http://www.php.net/manual/ja/ PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは
>>2-10 辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 56
http://pc11.2ch.net/test/read.cgi/php/1192092941/ ◆質問する時の注意
・ sage進行(メール欄にsageと記入すること)「sage進行」とはスレを目立つ上部に上げないことによって、荒らしが発見できないようにすることです
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・ 書き込むときには、「公式マニュアル、リファレンス本は読みました」と明記すること
(でないと、公式マニュアル読めと煽られます)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
・質問者が「公式マニュアル読んだ」と書いていないからといって、
公式マニュアルに書いてもいないのに、公式マニュアルよめと適当なことを言わないこと。
質問者は公式マニュアルを読んでいるかもしれない。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
2 :
nobodyさん :2007/10/22(月) 23:11:55 ID:mIlonsko
3 :
nobodyさん :2007/10/22(月) 23:13:14 ID:mIlonsko
もう57か。お前らほんとがんばった
5 :
nobodyさん :2007/10/22(月) 23:14:16 ID:mIlonsko
【簡易FAQ】
1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→
http://example.com/が例文などのために予約されている 。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
6 :
nobodyさん :2007/10/22(月) 23:15:05 ID:mIlonsko
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40 15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(
http:// 〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
23. もっと楽に開発したい。
→ フレームワークを使ってください
24. PHP用のフレームワークって何があるの?
→ 公式ならZend Framework、PHP4にも対応させるのならCakePHPかCode Igniter
スレ立て遅いよ。何やってんの!
9 :
nobodyさん :2007/10/22(月) 23:56:16 ID:R2eOhRPO
>>1 乙
待ちわびたぜ!(スレ立て規制されてたみたいね。)
という訳でアゲておきまする
11 :
nobodyさん :2007/10/23(火) 00:07:21 ID:ZhIjhS7R
>>1 乙
さっそく質問なんですけど、
<form method="post" action="">
<input type="text" name="name[]" /><input type="text" name="name[]" />....
</form>
の送信先として以下を設定してるんですが、テーブルにデータ登録されてません。
どこに問題があるんでしょう?
<?php
extract($_POST);
$db=mysql_connect('localhost','root','*****');
mysql_select_db('testTable');
mysql_query("SET NAMES utf8");
$dNum = count($_POST['name']) - 1;
if($test != ""){
for($i=0;$i<=$dNum;$i++){
$sql = "insert into musicGenre values(0,'$name[$i]')";
mysql_query($sql);
}
}
?>
winXP apache2 php5 mysql5です
>>11 <form method="post" action="">のaction=""に書いてないってオチじゃないよね?
13 :
nobodyさん :2007/10/23(火) 00:16:54 ID:owrplvTV
extract();は使ったことないからよくわからんが意味ないような?
14 :
nobodyさん :2007/10/23(火) 00:18:02 ID:ZhIjhS7R
>>12 ありがとうございます。
いや、それは書いてるんです。
***[]の形式を使った不特定数のデータの送信は初めてなんですが、
間違ってるんでしょうか?
>>11 > extract($_POST);
ここでvar_dump()
> $db=mysql_connect('localhost','root','*****');
ここでエラーチェック
> mysql_select_db('testTable');
ここでエラーチェック
> mysql_query("SET NAMES utf8");
ここでエラーチェック
> mysql_query($sql);
ここでエラーチェック
少なくともそれだけやってから質問しましょう。
>>11 > $sql = "insert into musicGenre values(0,'$name[$i]')";
ここで$name[$i]に意図したデータがセットされてるのは
確認済みなのか?
>>11 >>if($test != ""){
$testに何か代入済み?
18 :
nobodyさん :2007/10/23(火) 00:27:53 ID:Qf6Mf1rN
60秒-1秒の計算をしたいと思ってます。 例えば、30秒なら30-1=29で、単純なのですが、 00秒の場合、59にする必要があります。 03秒の場合、03-1=2…では駄目なので、 2に「0」を付けて、02とする必要があります。 if文で60通り書く・・・という糞ロジックしか浮かばないのですが、 スマートな書き方をご教授頂けませんでしょうか。 よろしくお願いします。
>>18 $sec = $in - 1;
if($sec < 0) $sec = $sec + 60;
$sec = sprintf("%02d", $sec);
>>18 // $sec=0〜60
sprintf("%02d",($sec -1) % 60)
$sec の validation やってから $sec = sprintf("%02d", ($sec - 1) % 60)); >21 0 入れたら -1 になるっぽいが
うわ >21 検証してて同じこと書いた orz $sec -1 → $sec + 59
24 :
nobodyさん :2007/10/23(火) 00:49:12 ID:owrplvTV
秒数だけでいいの?
25 :
21 :2007/10/23(火) 00:51:30 ID:???
>>22 えっ、そうなの。
PHP手元にないので別言語で試しただけだったのでスマン
26 :
11 :2007/10/23(火) 00:56:40 ID:ZhIjhS7R
皆さんありがとうございます。
色々試してみたらうまくいきました。
送りてのphpと受け手のphpが修正するたびに変なタイミングでキャッシュされて
実行できてなかったみたいです。
>>17 >>>if($test != ""){
そこも問題でした。
どうもありがとうございました
>>11 extractはソース追っかけにくくなるから辞めた方がいいよ
arsort関数で、一番目の要素を除いて、逆順に並び替えたいのですが、 どのようにすればよいでしょうか?
>>28 uasort
もしくは一番目を抜いてarsortして入れる
30 :
>>28 :2007/10/23(火) 01:50:08 ID:???
32 :
nobodyさん :2007/10/23(火) 03:03:01 ID:vdGuypQI
$dirurl[0] = '../index/1/'; $dirurl[1] = '../index/2/'; foreach($dirurl as $key =>$value){ $dirurl = $value; $dir = @opendir($dirurl); while($file = readdir($dir)) { if (!is_dir($file)){ @include_once($dirurl.$file); $fullurl = $dirurl.$file; $data = explode("." , $dirurl.$file); echo $data; echo $include_data; } } closedir($dir); } としてファイル名を取得してるのですが、ファイル名はabc.phpの時と123.phpの時があります。 ファイル名が数字だけの時に取得するファイル一覧を数字の大きな順に取得したいのと。 include先の変数$include_dataの数値の数字の大きな順に並べるって言うのは どうすればいいのでしょう。
おじゃまします。 ・最近チェックした商品を、ページに表示する ・画像やページを遷都する際に、背景をグレーアウトしてNow Loading...等を出す ということをやりたいんですが、 Cookieや、Javascriptを使うのは理解できるんですが、なかなかサンプルも見つからず、 どこか分かりやすく解説しているサイトか書物ってないでしょうか? もしくは、何を勉強すればいいのかヒントください。
>>34 >Cookieや、Javascriptを使うのは理解できるんですが、なかなかサンプルも見つからず、
ここPHPのスレなんですけど><;
flush()あたりを使えばいいかもしれない
と答えて言うのもなんだが
>>1
まずはマルチしないことから
クラス継承したあと 親クラスで定義されているメソッドを定義すると 上書きされますよね。 あれを上書きではなく、追加、みたいな感じにすることって不可能でしょうか? たとえば、 親クラスで test() { echo "hoge"; } があった場合、 子クラスで test() { echo "fuga"; } とすると、 子クラスの test()使った場合、 echo "fuga"; が実行されますが、 これを echo "hoge"; echo "fuga"; が実行されるようにしたいのです。
超初心者で申し訳ないのですが、 インストール、設定で色々調べていくつかのサイトは見つたのですが、それらを参考にして設定していたのですがなかなか上手くいきません そこでphpのインストールやら設定で分かり易く解説しているオススメのサイトをご存知ではありませんか? できればお願いします
>>39 XAMPP入れれば1発
次からはID出してね
深夜なのになぜか皆起きてるwww
43 :
nobodyさん :2007/10/23(火) 04:48:02 ID:vdGuypQI
>>33 早速レスをいただいててありがとうございます。
あまり寝ていなかったので寝てました・・・
is_numeric と sort をどう組み込めばいいのか分からないので
少し調べてみます。
>>42 PHPの開発には企業・個人問わずXAMPPが主流だと思うのだが。
鯖を運営するわけでもないしセキュリティーホールが見つかったととしても、
すぐにアップデートする必要もない。
>インターネットでオールインワンのインストーラがいくつか見かけられます。
> しかし、いずれも PHP.net により公認されたものではありません。
>システムを最適化し、また、安全を保つためには〜
この文言は最新版でないPHPをつかってる可能性があるから入れてるわけで、
そんなのXAMPPつかってないユーザにも当てはまるし、
そもそもオールインワンといってもファイルの中身は同じなわけで(多少設定はいじってるが)
ローカルに確認環境を用意するだけなら手軽で時間が掛からないパッケージで十分。
> PHPの開発には企業・個人問わずXAMPPが主流だと思うのだが。 何息を吐くように嘘付いてるんだ。根拠を示してみろ。
>>46 会社で実際に使ってるし俺個人も使ってるぜ
パッケージという単語自体に嫌悪感を感じる
もう年だなw
Java使いなんだろパッケージサイコー
>>48 それのどこに「PHPの開発は企業・個人問わずXAMPPが主流」って書いてあるの?
最近気付いたのですが、mysqlやmypostgresqlを商用ベースで使うと 莫大なライセンス料が発生すると聞いたのですが、phpはそんなの関係ねーーーーーでFAですか?
自社サービス以外で使う事あるのか? システム売りも買う側は払う必要がないし、作っている側が上乗せすればいいだけの話だろ そもそも派遣システムがあるので、顧客先に派遣されて社内開発すれば問題ないよw
パッケージって傀儡を大量生産するには好都合なんだよね ブラックボックス化することにより環境構築をサービスと して成立させることも可能
>>53 PHPは利用目的により異なるライセンス体系を適用なんて野暮なことはしないから無問題
MySQLはGPLと商用ライセンスの二本立てってのが煩わしいかな
っつうか、どんだけの人間がライセンスを理解し、かつポリシーに従っているかは興味ある
phpさえ出来れば、女が勝手についてくると思い込んで数年。 もはや、女どころか男友達もいなくなりました。
59 :
nobodyさん :2007/10/23(火) 08:23:07 ID:ZhIjhS7R
質問させてください。 1)a.phpでフォームAに入力して「送信」(action="b.php") 2)b.phpでAの内容をSQL処理。追加情報フォームBを表示 という処理をしたいとき、フォームBのページ(b.php)をリロードしたら フォームAの内容を再度SQL処理してしまうのではと不安です。 回避する方法はないでしょうか? 考えた方法としては、A-Bの間に一枚処理用のページをはさませて、 そこで実行後Bにリダイレクトかと思いましたが、そういうことをしてるページは 少ないようです。(アマゾンの注文フォームなんかは違ったような…) ご意見お願いします。 あまり関係ないかもしれないですが、仕様としては、Bのフォーム表示の際に、 AのSQL処理で生成されるインクリメント値を利用したいと思っています。 (BのSQL処理の際に、それを主キーとしたいので…) 環境はwinXP,apache2,php5,mysql5です
php勉強して派遣のpgでもやろうとしたんだけど、 php技術者って時給安すぎだよ。javaやoracleの方が相当高い。 phpに罪はないだろうけど、仕事としてはやっていけないね、この言語。
62 :
軟式PHP :2007/10/23(火) 10:10:18 ID:???
>>60 そりゃそうだw 大規模なサイトやシステムを構築するのにPHPではとても使えない。
必然的に小規模のサイトに用途が限られるわけで、予算のしょぼい。よって技術者に支払える給料もちょびっとww
学生バイトでやるならいいけど、仕事(自社のHPの管理を除く)としてPHPはきつい。家庭がない独身なら生活はなんとかできると思うけどね。
64 :
nobodyさん :2007/10/23(火) 10:18:44 ID:02rIs4mu
timeとかの時刻ってどっから取得しているんですか? システムクロック?NTPサーバ?
>>63 Webアプリなんて、ほとんどDBからデータを引っ張ってきて
ちょっと加工して表示して、追加・更新・削除するだけだろ?
Javaでしかできないことがあったら知りたい
66 :
軟式PHP :2007/10/23(火) 10:21:53 ID:???
>>64 スタンドアロンでも動くのだから分かるべ。
マニュアルにも
・PHPスクリプトを実行するサーバから日付と時間を取得することが可能となります。
と買いとる。
>>65 素人乙。大規模開発では、信頼性、拡張性が重要なんだよ。
phpのクラス仕様じゃ、とても対応できないだろ。
68 :
nobodyさん :2007/10/23(火) 10:26:02 ID:02rIs4mu
>>66 どうもです。取得しているところを使い分けられるのかな〜って思ったんですが。
ネットにつながっていれば、NTPからなのかな?、とか。
69 :
軟式PHP :2007/10/23(火) 10:29:04 ID:???
>>67 でもまぁ、大規模なmixi・モバオク・モバゲーもperlで作ってるし作り手次第でしょ。
どんな言語でもプログラマがダメだったらダメなんですよ。
信頼性・拡張性もどちらかと言えばプログラマの知識・経験から作り出されるようなもんだし。
大規模開発だと見栄や金取る理由が必要なんでしょ クライアント側も無駄に見栄を張りたがるからPHP,PerlよりJava、 SIも金取れるからJavaで提案、みたいな
>>67 おまえのレスのほうがよっぽど素人
実務すらしたことないだろ
>>63 >大規模なサイトやシステムを構築するのにPHPではとても使えない。
(*^-^)
アホばっか。
>>73 しょうがねえよ。この業界、一般人の目を通したらアホにしか映らない人間ばかりだから。
>>60 単金が安いのは需要と供給が崩れたからだろうね
昔の"VBできますよ似非技術者"が溢れかえった時みたいに
あと受け入れ側の心情として、どこの馬の骨か素性のわからん奴に
高額の報酬用意してお待ちしておりますなんてありえない
76 :
nobodyさん :2007/10/23(火) 12:03:24 ID:UFlDplZu
>>67 それ言う人多いけど、具体的にどの仕様のことさして言ってるですか?
package?
enum?
ネストしたクラス?
クラス変数の初期化の柔軟性?
JAVAの厳密型付けは、俺も好きだけど
PHPにも大雑把なタイプヒンティングあるし、設計しだいでは、十分に
「再利用可能な」オブジェクト指向設計を出来ると思うけど。
packageは便利だね。部品化しやすいし。
確かに、PHPにもネームスペースはほしい。
煽りとかじゃなくて、最近JAVAにはまっていろいろ勉強してるし、
そう言う人が多いので、本当にどこがそうなのか教えてほしいと思う。
>>76 大規模になれば、それだけ開発する人間も大人数(将来的な変更も考えれば更に大人数)になる。
人が多ければ、中には質の悪い技術者もいるし、仕様勘違いする奴も出てくる。
phpの場合、型は甘いし、privateメソッドも平気で呼び出せる。
結局VBの偽クラスと一緒で、オブジェクト指向が予定しているクラス仕様とは似て非なるもの。
動けば良いじゃんって思っている学生には関係ない話だが。
秋山乙!
>>77 >人が多ければ、中には質の悪い技術者もいるし、仕様勘違いする奴も出てくる。
こんなの言語とぜんぜん関係ない
Javaだったら、お前のような質の悪い技術者でもまともな製造ができるとでも言うのか?w
ただphpの悪い部分をあげつらいたいだけって感じだな
Javaはキッチリ仕様がわかっていないと使えない PHPは仕様が曖昧でも使える こういうこと?
DB mySQLだけど、どこかおもっきり素人でも分かりやすく解説してるサイトないかな? まぁ。PHPも見習い程度なんだけど。
よそでやってくれ
流行を追うものは流行の僅かなおこぼれを得るだけ
>>84 この手の人間が一番最悪。
自分は世の中で完全無欠な人間だと思い込んでいる。
人が何か異論を唱えれば、逆賊と喧伝し激高する。
いわば犯罪予備軍と言うべきで、しかるべき機関に逮捕してもらいたい。
>>81 googleでヒットするサイトのリファレンスとかじゃ駄目なのかい?
これ以上やさしくとか言われるとお手上げ
>>85 流行に囚われすぎるなと発言しただけでそこまで言わなくても
88 :
nobodyさん :2007/10/23(火) 14:33:33 ID:UFlDplZu
>>77 レスサンクス
スレ趣旨とずれてるのに今気づいたので、コメントは控えとく…
ところで質問があったの忘れてた。
PHPでstaticなfunctionから実際に呼び出されたクラス名を取得する方法ってあります?
例えば親クラスに
class Parent{
public static function getInstance(){
}
}
class Child extends Parent{
}
Child::getInstance();
としたときにgetInstanceの中でChildを取得することって出来ますでしょうか?
get_classも__CLASS__も親クラスの名前が来ちゃいました。
子クラスにクラス名を返すstaticメソッドをいちいち作ればいけるけど、それもなんだし・・・
なんかいい方法あったらお願いします。
89 :
88 :2007/10/23(火) 14:51:14 ID:???
マニュアルにdebug_backtrace();を使った方法が投稿されてましたね。 すんません。 そこのコメントにもあるけど、重そうだし、別の方法にします。 お騒がせしました。
90 :
nobodyさん :2007/10/23(火) 15:30:26 ID:yqsanTFX
phpはインストールしないと使えないのですか?
phpが使える無料レンタル鯖かりればインストールしなくてもいい
>>40 >>42 即レスして頂いていたのですね!
早速調べてみたらいいサイト+見事にphpやらApacheやらエディッタやら様々なものを導入する事ができました!
インストールと設定でかなりの時間を費やしていたのに、これを入れたらすんなり行けたので驚きと感動を感じれました
これからやっとphpの勉強が開始できそうです
本当に有難うございました!
>>90 自分のPCで開発するなら当然なくてはだめ。
ついでに言えばPHPだけだと簡単なデバッグぐらいにしか使えないので、
Apache(httpd)やMySQL(dbms)等のWebアプリを動作させるサーバ系ソフトが一式あったほうがいい。
レン鯖使っての開発はわざわざ修正するたびにスクリプトをアップロードしないといけないし、
なんかのバグでレン鯖に支障をきたしたら怒られるので基本的にやっちゃだめ。
つまり上のほうで出てるけどXAMPP入れればOK
94 :
nobodyさん :2007/10/23(火) 16:18:45 ID:2nhYvC/g
classの中で定数を使いたいのですがどのように定義すればいいのでしょう? class Hoge { static final $hoge = 1; define("HOGE", "aaaa"); } いずれもだめでした。
95 :
nobodyさん :2007/10/23(火) 16:24:56 ID:5s2xr4I1
179行まで走査処理をする際 $topwrite の項目の先頭に179番までの番号を 付加していきたいのですが array_unshift の使用では無理なのでしょうか? マニュアル読んで試行しながらの製作なので稚拙な質問で申し訳ないです。 $topwrite = "$name\t$comment\t$time\t$delkey\n"; //新しく追加するデータを TAB で区切って整形 $write = fopen("./card-walin.cgi","w"); //書き込み用モードでデータを開く(データは空になる) flock($write, LOCK_EX); //ファイルロック開始 fputs($write, $topwrite); //先頭に1行書き込む for($i = 0; $i < 179; $i++){ //179行まで走査処理をする $ppp = $log[$i]; $ooo = array_unshift($ppp, '[$i]'); fputs($write, $ooo); //今までの分を書き込む } flock ($write, LOCK_UN); //ファイルロック解除 fclose ($write); //ファイルを閉じる
96 :
nobodyさん :2007/10/23(火) 16:37:34 ID:4NCgDg1P
レンタルサーバーでphpを動かす場合は、phpのバージョンはあまり関係ないでしょうか?
>>94 php5ならconst使う
4ならあきらめる
98 :
94 :2007/10/23(火) 16:43:31 ID:2nhYvC/g
>>97 どうもありがとうございます。
こんなのがあったとは知りませんでした。
php5なのでこれを使いたいと思います。
>>95 やりたい事がいまいちわかんない&情報が少ない
ファイルに書き込む内容の先頭に番号つけたいって事?
>>95 よーしエスパーしちゃうぞー
$topwrite = "0\t$name\t$comment\t$time\t$delkey\n"; //新しく追加するデータを TAB で区切って整形
$write = fopen("./card-walin.cgi","w"); //書き込み用モードでデータを開く(データは空になる)
flock($write, LOCK_EX); //ファイルロック開始
$ppp = $topwrite;
for($i=0,$n=1;$i<179;$i++,$n++){
$ppp .= $n."\t".$log[$i]."\n";
}
fputs($write, $ppp); //今までの分を書き込む
flock ($write, LOCK_UN); //ファイルロック解除
fclose ($write); //ファイルを閉じる
>>96 メジャーバージョン 4と5 では言語仕様で異なる部分が大きいので意識しなきゃ駄目
マイナーバージョンでも差異が生じる箇所が出てくるのでやはり意識しなきゃ駄目
俺様は Windows環境で入門するならば IIS + PHP + SQLite のセットをお勧めする SQLite が嫌なら最近 MS謹製PHP Driverが出た SQLServer2005Express + SSMSE で、IDEはEclipse + PHP plugin
103 :
95 :2007/10/23(火) 17:50:42 ID:???
>>99 わかりにくくて申し訳ありません、
>>95 のデータの上に実はログを$writeとして一度全取得する行がありまして
fputs($write, $topwrite); で新しい書き込みをそのログに付け足してるわけなんです。
そして179行まで走査処理をする (179行以前のログを消去する)際に
1行づつにナンバーを振りなおしたいと思っております。
-----------------------------------
$name\t$comment\t$time\t$delkey\n //一行のデータ内容
↓
$no\t$name\t$comment\t$time\t$delkey\n //先頭にナンバーの項目を割り振っていきたい
-----------------------------------
これで何したいかと言うと削除ナンバーとして使いたいんですが
なんか凄いややこしいですね。
普通にログのナンバーに+1していく方が楽なのはわかるのですが
それだと永遠に番号増えていくのが嫌なのです。
何か他にいい方法ありませんかね。
>>100 あ、すいません今から晩飯作るので
その後その方法でためさせてもらいますね。
ありがとうございます。
>>102 IISってProfessionalしか使えないの知ってるか?
ASPやるわけじゃないのに、そんな特殊な環境すすめるなよ。
$iの初期値を1にして、それをくっつければいいじゃん
Home Edition 使っているような軟派野郎はいらない
CGI版ならIISでもいけるんだっけ とくに薦める理由もなさそうだな
サーバ側をやるのにWindowsな人がいるのか・・・
Windows縛りで学習するのはブルジョアってことで宗教的に結論出てる。
近い将来で仕事で使うために勉強するなら、 Linux + Apache + PHP + Oracle(XE) この組み合わせがいいと思うが 全部無料だし
>>95 そもそもいきなり出てくる
$logさんは何者なんだ
ログ内容という事しかわかんない・・・
113 :
90 :2007/10/23(火) 19:06:13 ID:yqsanTFX
Linux、PHP-4.0.6、phplot-5.0rc2を使用してグラフ作成の勉強をしております。 普通にグラフを作成する事は出来るようになったのですが、一つだけどうしても 分からないので、もし分かる方がいらっしゃったら教えて頂けないでしょうか。 やりたい事→Y軸の数字を下から上に向かって小さくしたい X軸と交わるところを200として、上に行くにつれて1になっていくように番号を 振りたいと考えております。 よろしくお願いします
それ何のグラフだよ
ソースいじればどうとでもなりそうだが 俺も何のグラフか気になる。普通グラフってデカルト平面上にプロットされるもんじゃないの
正直、個人の楽しみでPG触ってる俺にとって現場とか想像がつかん 自分の周りにPGいないから2chぐらいしか話せる人がいないのが現状w 現場のソースとかクラス設計がどうなってるのか気になる。
現場によってピンからキリまで
>>118 恵まれた環境の現場で無い限り、参考になるソースなんてほとんどないよ。
オープンソースのフレームワークや、プロダクトのコードを見る方がよっぽど参考になる。
優れた実装という意味ではね(現場の実情という意味ならまた別w)
WordPressのコード読もうと思ってるのだが 読んでる人います? どうなのかなぁ
何が?
perlだとwantarrayなんて関数があるのね。面白いね。
WordPress見たけど途中で読む気なくなった。
125 :
nobodyさん :2007/10/23(火) 22:29:09 ID:1COZJ3HS
申し訳ないのですが、PHPとかあんまりわからないので お分かりになる方、教えてください PHPとHTMLで作られたページに 画像をアップしたときのことです ソフトハウスの方から、 縦、横の画像ファイルのサイズ指定 をうけ縦がそのファイルサイズ に満たないと 画像がたてのみが勝手に伸びたり 横がそのファイル指定サイズに満たないと 横のみが勝手に延びたりします これを回避する方法はないでしょうか ソフトハウスからいわれたのは アップする画像を、 指定したサイズぴったりにして アップしてほしいとの事です。 そうではなくて、どんな大きさの 画像をアップしても 勝手に縦に伸びたりせず 綺麗に収まるような設定はないでしょうかね? これはHTMLのほうの問題なんでしょうか? 長くなりましたがよろしくお願いします
>>125 imgタグのwidth属性とheight属性を指定しない
ジェニファー「あれは、PHPとHTMLで作られたページに画像をアップしたときのことだったわ」
つーか125さんは開発じゃなくて納品してもらったユーザさんじゃないのか?
>>125 ソフ屋に画像のサイズの比率計算して
width属性の値とheight属性の値を
自動で設定するように変えてもらうといい
131 :
nobodyさん :2007/10/23(火) 23:38:00 ID:1COZJ3HS
129さんそうです。納品してもらったユーザーさんです 130さんの意味がわからない・・。 レベルは初心者に近いです。 すこしはHTMLのことはわかります 127さんの 縦か横のサイズを指定するだけなら比率はそのまま縮小拡大表示するでしょ。 縦横両方指定するからそんな状態になる。 表示させたい画像のサイズを調べて縦か横、どちらか絞りたい方のサイズを HTML上で指定するようにすればいいよ。 はわかります。
132 :
nobodyさん :2007/10/23(火) 23:56:36 ID:1COZJ3HS
なんどもすいません きっとですね、ソフトハウスの指定した サイズはデザイン上 そのサイズにしないといけないのと思います。
このスレって初心者以前の人が1日に1回は来ているような気がするんだが・・・ テスターも使ったことがない人が「テレビが故障したけどどこを直したらいいでしょうか」なんて 質問は多分しないのに、なんでこういうソフトになると「よく知らないんだけど・・・」って当然のように 前置きしてきいてくるんだろうな?
>>132 さっきから皆が言ってくれているように、画像のサイズを計算した上でHTMLを
出力するようにスクリプトのソースを書き換えれば、「そのサイズにしないといけない」
という状態から解放されます。
135 :
95 :2007/10/24(水) 00:13:28 ID:???
>>95 ,
>>103 の内容で質問させていただいたものなのですが
>>100 さんの内容で試させて頂いた結果こちらの記述ミスあった可能性大なのですが
ちょっと無限ループっぽい挙動になってしまいました・・・・・・・・・
1から勉強しなおそうと思うのですが
180行まで保存するログに投稿があっても
毎回180までの番号を振りたい場合
どういうロジックのプログラムを書けばいいのでしょうか?
そのプログラムに主要な構文だけ軽く説明を交えて
教えて頂けないでしょうか?
書き込みの際に番号を振ることと
コメント投稿の際に全ての番号を一旦消去する挙動が特に困難です。
下記は今書いてて失敗したコメントをログに書き込む部分の
プログラムになります。
お手間取らせて本当にすいません。
http://www.pachiweb.com/updir/html/ppp.html
>>133 テレビは半田ゴテ使ったりしないといけないけど
ソフトはワープロ使えたら教えてもらったのをコピペすれば済む、と考えてるんじゃないかな?
125氏の場合はHTMLを少し改造するだけで済むなら自分でも出来ると考えてるのでは。
>>125 画像は縦か横か一方への固定?
開発側がデザイン的にそのサイズにさせたいなら画像のマージンで開発側が意図するサイズ
を空白として確保するって手はあると思う。
というかソフトハウスのデザインオナニーに付き合う必要ないでしょ。
客が使えないシステムを強要するな、と言って叩き返しましょう。
自由に画像アップできて且つデザイン的にも上等なものを作ってこい、と。
>>135 ソースは画像じゃなくて分割でもいいから文字としてここに貼った方がいい。
さもなければうpローダにテキストとしてUP。
検証するのに手打ちするのはバカらしいよ。
138 :
135 :2007/10/24(水) 00:46:09 ID:???
>>135 一つ疑問。
これ、番号はユーザの書き込みごとにずれていくって事だよね。
Aが書き込むとAが1になるが、次にBが書き込むとBが1になり、さっきのAの投稿は2にズレる。
ここでAが投稿後画面更新せずに投稿を削除しようとしたらどうなる?
Aは表示したままだから自分の番号1とDelKeyで削除しようとするけど、すでに番号1はBの投稿になってるから削除できなくないか?
しかも偶然AとBのDelKeyが一緒だったら削除される可能性もある。
通し番号の方がよくない?
140 :
139 :2007/10/24(水) 01:41:55 ID:???
通し番号が嫌ならユーザには見せないようにして記事の頭にそれぞれチェックボックスを置き、 チェックしたのを削除しようとすると通し番号がPHP側に送られて削除するとか。 今の方法だと一旦全ログを変数に移し、番号++しながら書き込み、にしないと処理が複雑になると思う。 全ログ取得はメモリ容量とも関わってくるし。
>>133 > このスレって初心者以前の人が1日に1回は来ているような気がするんだが・・・
> テスターも使ったことがない人が「テレビが故障したけどどこを直したらいいでしょうか」なんて
意味不明。テスターとテレビとどう関係あるんだよ。
> テスターとテレビとどう関係あるんだよ ポカーン
>>139 ログが180満杯の場合はそういう挙動になります。
ぬぬぬ、やはり通し番号じゃないと問題でますか・・・・・・・・・・・・・・・・・・
言われてみるとほんと指摘どおりの問題発生しますよね・・・・・・・・・・・・
おとなしく改造前どおり通し番号制に戻したいと思います、
アドバイスありがとうございました、
アドバイスのおかげですっきりしました。
144 :
127 :2007/10/24(水) 02:16:13 ID:???
>>131 ああ、そういう話なのか…
であれば結論は
「それはそのプログラムの仕様です。ソフトハウスの言うように、定められたサイズの
画像をあらかじめ用意してそれをアップロードするようにしてください」
としか。
設定というかプログラム上で回避する方法はいくらでもあるけど、
そういった融通に対応しないヘボソフトハウスに発注したあなたの会社が悪いです。
もしくは別料金払って機能改修の依頼をするとか。
そのプログラムを使ってる限りはユーザ側では対処のしようがないんじゃないかな?
>>143 ついでに
>>138 のソース、処理が複雑すぎ。
ファイル書き込みにhtmlspecialcharsは不要。むしろタブ文字を削除しないと書式が狂う。
(仮に削除を考えずに)番号を1〜180にするにしてももっとシンプルに書けるはず。
(通し番号にすればさらにシンプルになる)
複雑なソースはバグの原因になりますよ。
ヘボ会社が作った糞スパゲティソースを作り直す案件って多いよw
php5でアップキャストってできる?
148 :
135 :2007/10/24(水) 02:51:19 ID:???
>>145 なるほど
$comment = str_replace("\t", "", $comment);
を入れると書式おかしくなるので
タブ自体無効にした方がよいのですね。
解説サイトの丸写しの部分が多く
私自身まだまだ意味を理解してないままの
行程が多いのでアドバイスほんとにありがたいです。
150 :
147 :2007/10/24(水) 04:05:31 ID:???
親クラスのメソッドを子クラスで上書きしたとします。 子オブジェクトを親クラスにアップキャストすることで、 親のメソッドを明示的に呼びたい。 $obj = (親クラス名)子オブジェクト名; とか $obj = 子オブジェクト名 as 親クラス名; のようなことができれば、実現できると思うんだけど。
構文はないけどget_parent_classでごにょごにょとやれば可能かと
>>120 最近のプログラム書いてる人はコードなんてほとんど読まないですよ
とくにPHPやパールなんてとにかく動けばいいという発想が強いですね
昔は1万行ぐらい何ヶ月もかけて読みましたよ
やはり根気が大切ですね
敷居が下がって馬鹿(俺みたいな)の絶対数が増えたんだとオモ。
>>153 括弧の部分は知らんけど、それ以外は激しく同意
>>148 ユーザが入力したタブはスペース二つくらいと置換すればいいでしょう。
もしくはユーザが絶対推測不可能な文字列と置換してhtml出力時に再度タブに変換する、とか
$TAB = "##%$FDEbsgWRn%vfG%bfa%##";
$comment = str_replace("\t", $TAB, $_POST['comment']); // 入力時
$html = htmlspecialchars(str_replace($TAB, "\t", $comment)); // HTML出力時
方針にもよるでしょうが、ユーザにタブ「入力不可」と規制するよりこちらで上手く処理した方がユーザフレンドリだと思います。
(htmlタグ禁止などは別にして)
157 :
nobodyさん :2007/10/24(水) 09:41:54 ID:T7DDINjY
サンプルで外部有名検索エンジンに自分のサイトから利用できる。 と言うのを見つけて、ダウンロードして使って見たら、ちゃんと文字化けもせず検索できたのに、 それを自分のファイルにコピーして使うと、検索文字が文字化けを起こしてしまいます。 どういったミスが考えられますか? 説明下手ですいません
それならいっそ、セパレータとして使う文字列をタブ以外に変えたほうが良いかもね。 <>とかが定石じゃない?
>>157 サンプルスクリプトと自分のスクリプトのエンコードが違うんじゃね。
160 :
156 :2007/10/24(水) 09:56:48 ID:???
>>158 なるほど。<>なら入力時にhtmlspecialchars使えば重なりませんね。
タブの空白2つへ置換はずっと前にPerlの入門書で見たのでそれがていせき(←何故か変換できない)と思ってました。
質問うp主じゃないですが勉強になりました
161 :
157 :2007/10/24(水) 09:56:50 ID:T7DDINjY
>>159 はい、そうかもしれないのですが、サンプルの方はヘッダ情報にはタイトルしかなくて
文字コードがわからないのです。
自分のはSJISだと思います。。
mb_convert_encoding($hoge, "UTF-8", "SJIS");もわからないながら試してダメでした。
>>161 サンプルをコピペじゃなくファイルとして落としたなら文字コードのわかるエディタで開けばどう?
ブラウザで見てもいけると思うが。
もしくはサンプルを
mb_convert_encoding($sample,"SJIS-win","auto");
質問するなら自分とこの環境書けよ それと話進めるにはそのサンプルとやらを晒したほうが早くないか?
164 :
157 :2007/10/24(水) 10:50:37 ID:T7DDINjY
>>162 アドバイスどうりやってみましたが、ダメでした。私の書き方がまずいんだと思います
>>163 すいません。xrea使ってます。サンプルは丸写しですがこれです
<html>
<head>
<title>検索エンジンの活用</title>
</head>
<body>
<h1>検索エンジン選択</h1>
<form method="POST" action="rdir.php">
<table border="0">
<tr>
<th>検索キーワード:</th>
<td><input type="text" name="keywd" size="20" /></td>
</tr><tr>
<th>使用エンジン:</th>
<td>
<select name="eng">
<option value="yahoo">Yahoo!</option>
<option value="google">Google</option>
<option value="infoseek">Infoseek</option>
<option value="goo">goo</option>
</select>
</td>
</tr><tr>
<td colspan="2"><input type="submit" value="検索" /></td>
</tr>
</table>
</form>
</body>
</html>
165 :
157 :2007/10/24(水) 10:51:32 ID:T7DDINjY
PHPで掲示板を作ってみたいと思っているのですがまず何から勉強をしたらいいのでしょうか?
PHPプロ(笑)
ここさ、人に対して誹謗中傷するのを多いけど、 それによってそうとうストレス感じるよ。 人の死期を早める行為が殺人だとすれば、 ここのレスによって精神的苦痛を受けて寿命を縮めるわけだから、殺人と一緒だよ。
誹謗中傷でストレス感じちゃうような人は、2ちゃんねるじゃなくて 別のコミュニティを利用したほうがいいんじゃない? たぶん向いてないよ。
>>171 教えてもらうって人の態度じゃねーぞw
という奴が叩かれてるだけじゃね?
ここさ、赤の他人に対して質問する人を多いけど、
それによってそうとうボランティアの強制だと感じるよ。
他人が答えてくれる行為を感謝していれば、
ここのレスによって馬鹿にされる事はないわけだから、質問の仕方が悪いと言われてるのと一緒だよ。
>>169 ありがとうございます
あとPHPはなんて読むんでしょうか?
普通にピーエイチピーでいいんですかね?
176 :
nobodyさん :2007/10/24(水) 14:00:27 ID:VOPF7shq
PHPの暗号化⇔複合化の関数などありませんか? cryptという関数を見つけたのですが、単方向アルゴリズムなので複合化ができません。
通は独逸語読みペーハーペーからペハペと読む
180 :
nobodyさん :2007/10/24(水) 15:52:32 ID:u6eI2uUX
PHP Acceleratorをいれようとphp.iniの設定を変えたのですが反映されません。 apacheの再起動もしています。 ご教示お願いします。 以下のようにPHPをコンパイルしました。 ./configure \ --with-apxs2=/usr/local/apache2/bin/apx \ --enable-mbstring \ --with-gd \ --with-zlib \ --with-mysql=/usr/local/mysql cp php.ini-dist /usr/local/lib/php.ini phpinfoでのLoaded Configuration Fileの場所/usr/local/lib/php.ini php -vの結果 Failed loading /usr/local/lib/php_accelerator_1.3.3r1.so: ld.so.1: php: fatal: /usr/local/lib/php_accelerator_1.3.3r1.so: wrong ELF class: ELFCLASS32 PHP 5.2.4 (cli) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies ◆予想 php.iniはCLIではよみこまれているものの、apacheには読み込まれていない? PHP Acceleratorの設定は間違っている? ◆環境 OS:solaris PHP5.2.4 PHP Accelerator 1.3.3r1
PPPHは?
182 :
179 :2007/10/24(水) 16:39:53 ID:u6eI2uUX
PHPAはPHP5には対応してないんですね… こちらは解決です。 ただphp.iniの内容が反映されないのは無関係だと思うので引き続きお願い致します
殺伐とはしてるけど誹謗中傷とはちょっと違うよね 説明不十分な質問に対し回答する必要なしってスタンスなんだと思う UNIX系コミュニティによく見られるふいんき(←なぜか変換出来ない)だね
Zendのおっさんはピーチピィと発音してたな
ピチピチ
ピーチパイ
ピーチ姫って普通に抜けるよね
キモイにょ!
/'´\
/´ ̄``>-ァ' /:::::: ヽ
l / / /::::::::::: ヽ _
_| / i 〈::/ ̄``ヾ<``
/ l. ' / ヽ.\ +
l、 ヽ レ, ヾ、 !|ヽ|
lヽ | \ |l ,イリ ′
\_,ゝ.___.. -`ァ‐i)"ヽ ==- _ ,. '⌒⌒ヽ
. _レvv ,、,、_,-一Z'L. イ  ̄ ==- ___∧∩'⌒ヽ
┌-く >' 」ニ┐ ,、_〉、〉「 ,.-、′ `Д´)/
>>187 | , 、ヽ_/ | 〈. 〉ヽ ( ( ⌒ / ) ヽ
i⌒i. / Y_jニ、 ヽ.レ┘_f_.ノ ゝ_ ゝ ' ' _ ノ
| l. く , イ ヽヽ_ヽ、Lニ-'<._  ̄"""""゙ ̄
ヽ `ー√ / | 、 下丁`ヽ. \ノ、_
`ーtヘヘ._」_,.-セ_ノ | ! ,.ゝ/ソ
`tゝニヽ、_,、_,.-‐、_'ニ-1ァ′
フヾエァ‐i-t‐'T_Zニ-l‐^「
/`ー/ ` ̄  ̄´ !一'^!-、_
/⌒ l、 / 〉 ´ )
. / ヽ〈 {.__, -‐'
{.___ ノ 三三三
三三三 三三三三三
三三三三三三三三三
三三三三三三三
三三三三三
三三三
189 :
nobodyさん :2007/10/24(水) 18:34:15 ID:VOPF7shq
>>wwwww
2年前の記事じゃん
HTTPメソッド(GETかPOSTか)を調べるのって、PHPではどうするんでしたっけ?
思い出した。$_SERVER['REQUEST_METHOD']だった。
話題を呼ぶ為にやってるんだと思っておこう。 真性だったら・・なんて、まさかね。(笑)
>>196 FireFTP紹介文に対してのいちゃもん?
よくそんなくだらないの見つけてくるな
>>196
200 :
nobodyさん :2007/10/25(木) 13:08:07 ID:MQ6GtYsP
今まで気づかなかったんですけど PHPってクラス名と関数名は大文字小文字の区別がないんですね・・・ これって気持ち悪くないですか? 区別するように設定できないもんですかね?
202 :
180 :2007/10/25(木) 13:39:04 ID:???
ここはレベルが低すぎて分からないようなので他所で聞きます。 どうもです
ここの方なら知っておられそうなので くだすれPHP(超初心者用)2 が完走したままですが…新スレ立ててもいいですか って言ってる俺は、くだすれレベル
205 :
nobodyさん :2007/10/25(木) 15:31:59 ID:q/x5LG70
http://www.dokidokidonki.com/category01/watch.php?s=2 ↑のページで使われているようなphp(商品検索、ランキング、カテゴリー別に商品を分ける)
を自分で作ろうと思うんですが、HPは作ったことはありますが、PHPはまったくの無知で、
プログラミングについて学ぼうと思っています。今は学生で、webデザイナー目指してます。
経済系の4年生大学に通ってますが、卒業後2年制の専門学校に行こうと思っています。
専門学校の費用稼ぎ+webプログラミングの勉強(ショッピングカートシステムの完全理解)
のために、
↑のサイトのプログラムを完全理解して、+αのものを作りたいと思っています。
このような簡易商品リンク(?)システムを作るには、どうすればいいんでしょうか??
ローカル鯖で実験するために、XAMPP入れました。
わかっていること、
ユーザー側、
カテゴリー別、メーカー別で商品を見つけることができる。
→商品登録時に商品データにカテゴリー名、メーカー名をデータ内に保持させる。
ランキング
→商品購入情報はアフェリエイトサイドから伝わるはずなので、
ランキングデータは、後からアップロードしている。
管理面
CSVデータを読み込んで、自動的にページを作る。
ディレクトリー型のサーチエンジン型リンク集をいじって↑
のような機能を付けることで、てっとり早く作れるかな・・・と思っているんですが、
普段phpを仕事でプログラミングされている方の考察、お願いします。
>>205 基礎からしろとしか言わざるを得ない・・・。
とりあえず構成考えてみろ
>>204 苦しゅうない
立てろ
>>205 一夜漬けじゃ無理
ましてや学費を稼ごうなんて、どんだけチャレンジャーなんだよw
配布されてるカートプログラムやCMSを理解できるようになってから、
パクれ、いや、参考にしろw
208 :
nobodyさん :2007/10/25(木) 15:59:44 ID:BRjCuUNY
DBの構造から勉強してこい
209 :
204 :2007/10/25(木) 16:06:35 ID:???
>>207 ありです。たててきますた。逝って来ます
経済学部生でwebデザイナーって・・・
色んな意味でもったいない。
就活失敗しんだろうが自暴自棄にならないで今からでもガンガレ。
webデザイナーなんて美大の落ちこぼれがほとんど。
それでもなりたいっていうなら止めないが。
業務では、デザイン、HTMLコーダー、プログラマーと分かれるので、
デザイナーにショッピングカートシステムの完全理解なんて必要ない。
会社によってはデザイナーがある程度やる場合もあるけど、
それでもHTMLが必要なぐらいで、PHPまで及ばないと思う。
デザイナーのステップアップにPHPとよく聞くが、
実際PHPをデザイナーが使ったとしても、フレームワークのview部分ぐらいしかいじらないので、
勉強するならフレームワークの使いかたでも勉強したほうがいいと思う。
あと
>>205 のようなことを全く触ったことがない人が独学でやると、
なんだかんだで1年とかかかるんじゃないかね。
(´・ω・`) ←この顔文字やめろ
(´・ω・`)ごめんね
>>202 PHPAのマニュアルにすら目を通さないの?
>>205 特に難しい仕様もなく、基本的な機能ばかりだから頑張れば出来る
つーか、それぐらい作れないと趣味も仕事も無理w
webデザイナー目指しているなら、Smartyの勉強はしっかりするといい
PHPの基礎知識を持っているwebデザイナーは重宝がられるぜ
てst
216 :
nobodyさん :2007/10/25(木) 17:04:16 ID:fQCfo6kn
pregの検索オプションかなんかだと思うのですが、 preg_match("/hoge/sm", $match); このデリミタ(この場合はスラッシュ)の後につくsmという文字(他にもi等色々あるようですが) この意味を知りたいのですがマニュアルのどの項目を見ればよいかわかりません。 どなたかマニュアルのどの部分に書いてあるかわかる方教えていただけませんか?
特定の文字列から数字だけ取り出す方法を教えて下さい。 $x = "a1b2c3d4e5f6"; (何らかの処理) print "$x"; [123456] といった感じでお願いします。
>>218 文字を1文字ずつループさせて数値なら取り出せばいいと思う
220 :
216 :2007/10/25(木) 17:21:15 ID:fQCfo6kn
>>217 例にiの意味は書いてあったのですが、(大小文字区別しない)
その他のものに関しては言及してないように見えます。
221 :
nobodyさん :2007/10/25(木) 17:21:16 ID:1HmW1RjG
すみません。他スレで聞いたんですが、答えがないので、よろしくお願いします。 PHP5の本の付属CDでSmartyをインストールしました。PHP4の本に載ってる Smartyはやはり動きませんか?
先頭から読んでって数字だけ詰めれば良いんじゃないのん
224 :
221 :2007/10/25(木) 17:28:33 ID:1HmW1RjG
>>223 どうもありがとうございます。PHP4の本にのってるアプリケーションが
作ってみたいなあとおもっているんですが、最新バージョンのSmartyなら動きますかね?
とりあえず、動かないようならPHP4の本をみて再度Smartyを入れなおそうとおもってるんですが。
>>218 $x = "a1b2c3d4e5f6";
print getSuujiOnly($x);
これでいいんじゃね?
Smarty使うと言ってもどうせassignとテンプレートとforeachくらいしか使わないんだろ? PHPもSmartyも最新バージョン入れて本とSmartyのドキュメントを参考にしながら作れって
227 :
221 :2007/10/25(木) 17:35:05 ID:1HmW1RjG
>>226 すみません。Smarty自体もぜんぜん触った事がなくて
Smartyの章だけはPHP4の方がおもしろそうなアプリケーションが
載ってるんでそっちを作ってみたかったんです。
ドキュメントとかよくわかりませんが、みながらやってみます。ありがとうございました。
>>216 そんまんまパターン就職誌って項目があるじゃん
230 :
216 :2007/10/25(木) 18:10:10 ID:fQCfo6kn
>>229 関数だけ見てました。項目見たら見つけることができました。
助かりました。どうもありがとうございました。
自分はHTML⇒スタイルシート⇒FLASH⇒PHPの順番で勉強して1年ぐらいです。 間にGIMPをちょくちょくいじくってました。 ちなみに使った参考書は ・HTML&スタイルシート レイアウトブック ・基礎PHP ・PHP5であなたにもWebアプリが作れる! ・CSSプロフェッショナル・スタイル 勉強していて思ったのはさすがにPHPは小遣い稼ぎにはならないということ 例えばブログ作るにしても自分のコードは1500行ぐらいで WordPressとは比べ物になりません。 専門学校の費用稼ぎのためにショッピングカート作るなら 例えばWordPressをいじくってホームページ用にしたり、デザイン考えたり して小遣い稼ぎしたほうが効率いいですよ。 大学卒業してWebデザインの専門学校に通うなんて お金もったいないと思うのですが ちなみに僕は高校生です
さすが高校生。世間知らずだなあ。
ああ、ちなみにWeb専門学校行くのが勿体無いというのは激しく同意。
ああ、ちなみに僕は中学生です。
大学いきながら専門学校にいってるのもいるわいな
プログラムを組んでない人に具体的な数字を示してあげたほうがわかりやすいかと 皆さん無職の人ですか? 6時に2chへばりついてw あなた達の書き込み内容と私の書き込み内容 世間の人が見たらどう評価されるでしょうね? 私が留学して帰ってくる頃までには職探し済ませてください こき使ってあげますよw
仕事中に質問する俺は異端
だが、ちょっとまってほしい。 この釣りセンスは素晴らしいのではないか。
>>219 >>225 ありがとうございます。
一文字ずつループさせるというのは、どうやれば良いのでしょうか?
配列、変数、for なにごともやってみろ
>>232 いやあ
>>231 はすごいぞ。
>>231 >>自分はHTML⇒スタイルシート⇒FLASH⇒PHPの順番で勉強して1年ぐらいです。
>>間にGIMPをちょくちょくいじくってました。
GIMPいじくってたっていうくらいだからOSSバリバリ開発してんじゃねーの?
たしかC言語だっけ?(違った?)
スクリプト言語使ってるウチラとはレベルが違うみたいよw
>>240 とりあえず下のパーツ使って自分で組み立ててみろ
for
substr
strlen
is_numeric
>>242 俺はcから入ったせいかphpとかわけわかめだわorz
出力用テンプレート作ってるんだが <?php print $xxx; ?> をもう少しシンプルに書く記法無かったっけ? マニュアル探しても見つからない orz
>>231 に尊敬
俺なんて高校時代部活で22時帰宅だったのに。
土日も基本部活だがオフの日は遊びほうけてたな。
ずいぶんと勤勉で関心ですよ。
でもね、高校時代はもう少し息抜きしてもいいとおもうんだ。
247 :
205 :2007/10/25(木) 19:15:59 ID:q/x5LG70
いろんなアドバイス、ありがとうございます。 個々に対するコメはできませんが、参考になるご意見ばかりでありがたいです。 経済学部ってかきましたが、実際勉強してることは経営学ばっかりです。 中堅国公立大の2年生です。 好きなことを仕事にできるって、とても楽しいじゃないですか。 俺はホームページを作っている間は、時間が経つのを忘れるくらい それに没頭してしまう。中学の時に、ウェブ作るの好きで、 遊びでやってたんだけど、ふとしたことがきっかけで、またウェブ作り出して、 これを職業にしたいな。って思った。 大学で学んだ経営学を活かして、地方とかの中小企業が、より効率的に セールスプロモーションできるようにウェブを活かしたいと思ってる。 WEBデザイナーっていう枠に捉われないWEBデザイナーになりたい。 お金貯めるの、本当はバイトでもすればいいんだろうけど、 慢性疲労症候群っていう病気になっちゃって、体力的にまだバイトできる状態じゃない。 パソコンで作業するのはそんなに体に負荷かからないから、 チャレンジャーだけど、やってみようと思って。 WordPressっていうのがあるんだ??全然知らんかった。 ありがとう。ちょっとやってみるよ。
さっきから
>>242 の自演が酷いなwwwwwwwwwwwwwwwwww
>>205 は大学のうちに脈作ってベンチャーでも仲間と立ち上げてみるといいかもよ。
4年制大学かw今4年生なのかと思ったわ。
デザイナーならPHPなんかより、htmlでデザインテンプレート量産したり、 JavaScriptやFlashをやったほうがより良い。
>>247 デザイナーやプログラマーは自分でやるものではなく、こき使うもの(こき使われるもの)だ
本当に好きでやっているなら、楽しい事や趣味を仕事にしない方がいい方が多々ある
あとwebデザイナーもwebプログラマーも給料は安く拘束時間が長いので、
webコンサル目指した方が経営学も活かせてよりよい仕事が出来るぞ
専門家は捨てるほどいるんだ、この世界は広く浅くで勝負しろ
>>231 が外部ライブラリ(PEAR)とか複数処理を1行に書かずに
1500行でWordPressと同等の物が作れてるなら凄いと思うけどな
>>240 文字列は文字の配列として扱えます
$a = "hoge";
print $a[0]; // hを表示
>>251 サンクスコ
どうも short_open_tag = off にしてたらダメっぽい
冗長な方で頑張るぽ・・・
>>247 自分は親が税理士しているので
そのつながりでホームページ作るようになりました。
別にプログラムばっかり書いてるわけではなくバンド組んだり
年間100本ぐらいは映画見るようにしています。
youtubeでBlogTVがあるので見てみては?
伊藤穰一さんが出演されているのですが、彼のインタビューやブログ、書籍は
ためになりますのでお勧めです。
クリエイティブコモンズやオープンソースなどで
将来的には貢献したいと思ってます
高校時代に尊敬できる人ができて、自分は運が良かったと思います。
もう231は良いよ。こういう馬鹿相手にするからスレがますます荒れるwww
セキュリティ的に考えてshort_open_tag は off だろ常考
そんなことはりません
XML混在どうしてるんだ? ショートタグ使ってると外部からデータ取り込む処理がある場合は注意が必要だ ある方法でPHPコマンドを実行したり、故意にエラー吐かせてシステム止める事が出来るぞ
PHPレベルのエラーな
ゲームの裏技について語る中学生みたいな口調だな。
中学生でもセキュリティ意識高いのにお前等はどんだけww
中学生違うわw PHP6ではショートタグ廃止だから今のうちから直して慣れておけよ
汚染変数の扱いはイロハで、セキュリティはその部分が全て。XML混在は関係なし ショートオープンタグには一言ある人が多いようだが、まあ今更言うことでもあるまい
すげーな ショートタグ使ってのXML混在も自前の処理でこなしてるのか そこまでやってるならセキュリティ云々は釈迦に説法だなw
<? ?>を語る奴は話が長い
要約: 自分以外のPIを解釈するパーサが糞
>>256 能力ありそうなのにそんな分野に行くのはもったいない。
Webデザイナーとかプログラマーってのは基本的に専門卒の低学歴がやる仕事だよ。
給料も少ない。出世もない。だって誰でもできる仕事だものね。
4大出てるなら資格とってせめてSE目指すか、修士か博士取って研究開発に進んだほうがいいと思う。
もう自演は良いよww
>>269 何も知らない中学生が妄想で語らないで下さい。
デザイナーは学歴云々でなく、センスの問題。
プログラマーとSEが別物だと思ってるならおめでたい。
研究職なんてそんな募集してません。
>>231 は心の病気みたいだから放っといてあげたほうが
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 55 bytes) in /***/***/***/***/on line 146 インストールしようとしたら↑のエラーがでたんですが、 ググってみたらphp.iniのmemory_limitを32Mまで上げろって事までは分かりました。 ただ、どこでどうやって上げるのか調べても分からなかったので、 分かる方、御教授いただけないでしょうか?
php.iniを直接書き換えるもよし、スクリプト中でini_setを呼ぶもよし、Apacheなら.htaccessで上書くもよし、みたいな?
>>275 ありがとうござます!
ただ、初心者すぎて全く理解出来ません・・・
参考になるサイト探してるのですが、見つからない次第でして・・・
>>241 がんばります、ありがとうございます
>>243 ありがとうございます。
なるほど、ヒントで助かりました。何とかできそうです。
>>254 ありがとうございます、知りませんでした。
勉強になりました。
>278 $x = "a1b2c3d4e5f6"; print preg_replace("/[^0-9]/", "", $x);
trよりpcreのほうが早そうだな
282 :
nobodyさん :2007/10/26(金) 00:49:19 ID:FT3ITxDD
ここのスレの回答者は、マスコミと一緒だな。 無能な人間 ↓ マスコミがカリスマという虚像を作り上げ、一躍有名人 ↓ 無能な人間が勘違いしだして、高ビーに変貌 ↓ マスコミが高ビーになった無能人間の本性を暴く ↓ 無能人間が廃人に変化
284 :
nobodyさん :2007/10/26(金) 01:53:49 ID:YbGgdl0/
Mediawikiの最新版を自サーバー(有料レンタル)にインストールしました。
要求される、php5、Apache、MySQLの条件も満たされており、無事にサーバー上で起動することができました。
そこでURLの短縮
http://www.mediawiki.org/wiki/Manual:Short_URL/ja に取り掛かったのですが、
どうにもうまくゆきません。この作業は具体的には、 /index.php?title=記事名 となっているものを、
/記事名 というようにするものです。
自分の場合は、解凍したファイルを
http://サブドメイン.ドメイン.net/直下に置いています 。
つまり、そのトップページのURLは、
http://サブドメイン.ドメイン.net/index.php となります。
このURL短縮に必要な作業は見たところでは .htaccess と LocalSettings.php におけるものだけのようなので、
上記の解説にあるほとんどの方法を試してみたのですが、Internal Server Errorになったり、
例えば『記事URLでサブディレクトリ無しのサブドメイン』を試してみたら、一応のところ起動可能となるのですが、
リンクを辿るたびに白背景に ・ソ というような画面が現れて数秒してやっとリダイレクトするという状況でした。
同じMediawikiを使っているWikipediaではこのようなことは起こらず即座にリダイレクトすることを考えてみても、
これが成功であるとはどうしても思えません。なにが問題なのかご助言をください。
・ソはBOMです。InternalServerErrorもそのせい
.htaccessやPHPソースにはBOMつけたらいかんぞ BOMなしで保存できるエディタを使わないと
爆弾として機能したのか
【くさい】風呂入るのマンドクセ〜【かゆい】 [40代] ↑ 高校生に文句付けてるのこいつかw きめぇぇっwwwwwwwwwwww
そんな煽りぐらいでぐだぐだ騒ぐなデブ
マジキモ
03:49に書き込みしてるのは無職のオヤジさんですか? 風呂はいれよw くせーからwwwwwwwwwwwwww お前いい年して初心者捕まえて偉そうにしてるがむなしくないのか?
<`ヽ <ヽ<ヽ >` 、 ヽ`ー-、 ,、___/ レ'`, `" ` _ / /_ 、"、 ,.‐`-‐'´ ヽ- ,┌‐'ニ-‐'_"`, ヽ_ニ=, ,‐、 ヽ 丶`、 } } / / "~'_,"´~ / / } } _.,」 .}. ノ { -='"ニ、ヽ . / / ,"、 / /_ / / ` `ー' {、_‐'´ ) .) / / '.、`ー─'` {´ ノ `、`' /、 _ノ ノ `´  ̄ ̄"´ ~ `~ -='-‐'´ _ `,`ヽ _ _-'"´~`゙-、 ,、_ -' '‐'ヽ`ニ .ヽ、 ゝ`, ,、 _____ .,、 / ,'"´~`ヽ ヽ `ーフ /'"~´ 「',- 、_' / / `ー, , -‐'" '−' _ノ .ノ / / .i i { { , " .'´.-'" . / / _ =-' L_ i レ'/ ,、 i.,...i `´ { (ニ; ,へ`ゝ i / ',`、_____. ,、 . ,-‐、 `ー‐'" `´ ヽ_', `ー---‐" . `ー"
なんだとー!
俺が禿げるぞってレスしたスレじゃねぇか
寝ろよ…
どうでもいいレスしてあらすんじゃねえよ・・
とりあえず
>>288 は責任とって首吊って来い
$sql ="SELECT count(*) FROM tabledb"; $result = pg_query($database,$sql); としてテーブルtabledbのデータ件数だけを取得したいのですが この処理からどう出力させれば目的のデータ件数を得られますか? PHP postgresqlです。
ありがとうございます。 $rows = pg_num_rows($result); として取得できました。 SELECT *FROM ではなく レコード数だけ取得したかったので SELECT count(*) FROM と処理してみました。 レコード数だけ取得したい場合、このように処理することは 余計なリソースの節約につながるのでしょうか?
>>302 ポスグレ使ったことないからあれだけど
$query = "select count(*) as hoge from tabledb";
とかしといて
結果からhogeにアクセスしたりしてとれないかな
mysqlとかはこんな感じでできるけど・・・
ありがとうございます。 $sql ="SELECT count(*) as row FROM tabledb"; $result = pg_query($database,$sql); $rows = pg_num_rows($result); print $rows["row"]; と処理しても取得することができました。 $rows = pg_num_rows($result); 無しには取得できないようだったので、ほぼ同じことに。
305 :
302 :2007/10/26(金) 06:07:35 ID:???
すいません
>>304 は嘘ですw
取得できてませんでした。。やり方がまずいのかな・・
pg_num_rows()は結果の行数を取得するもの count(*) の結果は常に一行でしょ pg_fetch_*()じゃないt
307 :
302 :2007/10/26(金) 07:58:49 ID:???
あぁなるほど・・・ $sql ="SELECT count(*) FROM tabledb"; $result = pg_query($database,$sql); $row = pg_fetch_result($result,0,0); print $row; にて処理させることにしました、どうもありがとうございました。
PHPで parse_ini_file() という便利な関数があるんですが、値に「"」を含める方法が分かりません。 key1 = "abc¥"def" とすると array('key1' => 'abc¥¥def') となります。 だれか助けて。
>>308 試してないけど
key1 = 'abc"def'
じゃ駄目なのかな
310 :
309 :2007/10/26(金) 12:31:02 ID:???
>>310 で動かないなら
最終コールバックでおき返したらいいんじゃね?
試してないから責任は持てんが…
エラーを吐き出さないようにするにはiniファイルでいけるのかな? configureし直さないといけないのかな?
313 :
nobodyさん :2007/10/26(金) 20:15:34 ID:473J8VsZ
error_reporting php_ini_all でぐぐれ
ビるッたdd
はじめてPHPやることになって、ApacheとPHPをインストールしました。 WEBの情報を頼りにphp.ini とhttpd.iniを編集してphpを ブラウザで表示させました。 でも、何も表示されません。 その状態で、ブラウザのソースの表示をしたら、phpのソースは見れました。 よくある設定ミスだと思いますが、どういうミスが考えられますか?
317 :
nobodyさん :2007/10/26(金) 23:58:01 ID:4lZO192k
PHPがきちんと動作してないってことです。
>>316 きちんと設定できているなら、再起動してないとかが原因だと思われる。
最初は難しいが一年くらい根気よく勉強すれば大概の人は出来るようになるから
あきらめずがんがれ
>>316 拡張子の設定を忘れているか、根本的にインストールできてないか。
httpd.iniってapache3?
>>316 あなたみたいな人のためにオールインワンのXAMPPが提供されてるのでそれを使用しましょう。
まずインストール済みのApacheとPHPをアンインストール後入れるといいでしょう。
configファイルはとくにいじらず、すぐに使える環境が構築されます。
ところでhttpd.iniじゃなくてconfが正しい拡張子です。
いやiniとconfの設定の仕方を学べばいいだろ。 なんだその超後ろ向き思考は。
別に拡張子はなんでもよい。 拡張子で何か変わると思ってる奴は勉強しる
4文字以上の拡張子は気持ち悪い
そんなことじゃIT業界では生きていけないじょ
.phtml
.torrent
テキストファイルに見せかけて拡張子を.txtにしてるけど ちゃっかりPHPで仕込んでダウンロードカウント数は図ってる俺が着ましたよ
ヘッダーのX-POWERED-BYで糸冬
>>324 なんでもよくねーよ
デフォルトファイルがhttpd.conf-distで
confにリネームするように推奨してるのに
わざわざ他の拡張子つけるようなひねくれものイクネイ
ほんと馬鹿ばっかだよなこのスレ。 まあ俺が一番馬鹿なんだけどね。
くだらねえ質問のスレだってのに、調べるのめんどくせえ質問する馬鹿もいるしなw
つか調べて分かるようなことを質問するなよって感じだが
今日、PHPの本買いに行くんだが中級から上級者向けの本で オススメの本ある?
>>339 オライリーの”PHP HACKS”とか
>>340 ありがとう、検索したら洋書だが中身見れるね(ΤдΤ)
取り合えず図書券1万円分もらったから買ってみるよ
>>341 日本語訳あるよ。
アマゾンで「PHP Hacks―プロが教えるWebプログラミングテクニック」で検索
>>342 お前レス遅いよ。
まぁ、参考になったよ。サンクス、ソックス、セックス!!
なんだコイツ(# ´∀`)σ)Д`)
>>330 http1.1に準拠したキャッシュコントロールやバリデーションしてこないのは大概スクリプト
>>346 っていうか、その本俺も持っているけど、
別に大した内容じゃないよ。phpで1年位仕事していたら、誰でも知っているような内容。
それより、SE社が出している赤い分厚い翻訳本の方が専門的で役に立った。
349 :
nobodyさん :2007/10/27(土) 15:37:44 ID:kzNSIsdT
質問です。 php5徹底攻略という本に書いてあったのですが、 if(!file_exists(DB)) die(DB. " が見つかりません¥n"); $db = sqlite_open(DB) or die(DB. "がオープンできません¥n"); のorって何なのでしょうか?
A or B
orz
>>350 AでtrueになったらBを評価しない性質を利用しているのか
ちょっと感心した
353 :
349 :2007/10/27(土) 15:46:35 ID:kzNSIsdT
>>352 ああ、成る程。
これはいい勉強になったっす。
こんなorの使い方初めて見た!
赤マンモス?
くだ質的には条件文の()内以外で or 使えるって知られて無いんじゃね。 俺が知らなかっただけですか、そうですか
そう
くだ質のプロなら||だとうまくいきませんだなw
360 :
nobodyさん :2007/10/27(土) 18:48:22 ID:DF6PJ+rw
ニコニコ動画の検索結果のURL表示方法(?s=xxxx の表示がない)ってどうやってるんでしょうか /search/%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3 /search.php/%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3 でも正常に表示される 検索押すと上のように表示されるURLを /search/?s=%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3 に書き換えてアクセスすると上記のURLに変換されます。 mod_rewrite + ?s=ぽいものがURLに含まれる場合は一旦弾いて加工後のURLに飛ばして帰ってこさせてる? この対策って一般的どういった点で効果があるんでしょうか。 見た目の問題だけ?
mod_rewrite PATH_INFO SEO キャッシュとか
Perlの定型文って感じだが それ以外では珍しい使い方じゃない?
PHPの初心者向けは種類抱負だよね 自分としてはセキュリティに配慮したサイト構築の本がほしいな まあセキュリティやサイト構築関係は大体アマゾンで叩かれてるよなw
364 :
360 :2007/10/27(土) 19:14:29 ID:???
ああ、キャッシュかぁ・・・ mod_rewrite = SEOはわかるんだけど、わざわざ /search/?s=%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3 を一旦弾いて飛ばしたりするところ、なんか意味あるのかなー?と思ったので ありがとうございました!
別に弾いとらんだろ
>>356 たまたま知ってただけで一般常識とはまた偉そうだなw
いや、一般じゃないにしろ常識だから。
ふ〜ん、ごりっぱですね
常識、というのは偉くもないし立派でもない >俺が知らなかっただけですか この人もそうだが、それ以前に一般常識というレスがあるわけだろう? 聞き返すまでもなく「俺が知らなかった」だけに決まってる どうも話が通じないというか、要領を得ないというか 言いたいことがあるなら、素直に言えばいいのではないか?
>>369 俺は本人じゃないけど言わせてもらう。
>この人もそうだが、それ以前に一般常識というレスがあるわけだろう?
>聞き返すまでもなく「俺が知らなかった」だけに決まってる
一般常識と思ってないから言ってるんだろwww
>>369 はイタすぎる
「〜のレスがあるから、〜に決まってる」ってw
一般常識とレスしたら、それが一般常識と確定してしまう訳ですか。 "常識"なんて言葉を持ち出す奴は頭が堅くて意固地というのが定石だが こいつは正に典型的なタイプだな。
>>370-372 なんでこんな常識的な話で反応できるかさっぱり分からん
別に悔しくもないんだろう?
こんなネタで盛り上がるのは非常識だろ
自分はif派
>>366 を見て下らないレスしかできない低脳だと見抜けなかった俺が阿呆だったようだな
知らなければ演算子の優先順位はマスターしておけよ
これを知らずにプログラミングというのはありえない話だ
>>376 簡易スクリプトでなけりゃそれが常識だな
演算子の優先順位をマニュアルを見ないで全部知っている人いるー? 俺は知らない、ていうか優先順位があやふやになりそうだったらカッコをつける
>>379 あやふやになるって具体的にどういう奴?
>>376 サンプルではよく見かけるんだけど、
die()とか使わないから、ああいうorの使いかたをしたことがない
エラーが起きたとき、ログを取ってエラーページに回すから俺もifだな
馬鹿はやっぱ馬鹿ってことがよく分かった
確かにサンプルじゃ単純化してdieだけど実際にはエラー処理してくださいよって意図だよな 意味的にもあそこでorが出るのは変だから
>>383 君にはなぜ
>>349 が「or」では上手くいくのに「||」では上手くいかないのか説明してもらおうか
386 :
nobodyさん :2007/10/27(土) 21:00:02 ID:euGofwdi
エラーとか処理の流れの都合上変だって以前に 演算子の優先順位を利用したプログラミングがどうかと思うよ 使うのはごく少数のイディオムだけじゃないの
>>379 つかまともにPHPを3ヶ月もやってれば
必ずお目にかかる表現だろ。人のスクリプトなりコード解説サイトなり公式マニュアルなりで。
俺は原則としてZendのコーディング規約に則ってるから使わんが。
PHPマニュアルで die() を調べると exit() と同等としか説明がなく 例文すら記載されていないが、eixt() を見ると or を使った例文が 記載されている。 まぁ、PHPでのプログラミングにおいては一般常識の範疇なのだろうけど 他言語においてはこの様な凡例は見かけないからピンとこねえや
>>377 は釣り
演算子の順番なんていちいち覚えてられるかー
>>349 のようなのは、たしかにたまに見ることある
まぁ、なんとなくやってることはわかる。
なぜ or でそうなるのかは、
>>352 の説明見て始めてわかったよ>if派な俺
実例はあんま見ないと思うけどなあ 初心者向きの手引きには必ずあるからみんな知ってる 知ってるのに誰もつかなわない不思議なor
perl臭いからだろw
こんなorの使い方知っていたところで百害あって一利なし 結論としてPHPオンリーなプログラマはPHPの世界から出てくんなってことだ
また馬鹿っぽい事言ってるな〜
常識か常識でないかと、使うべきか使わないべきかがごっちゃになってると思うが。わざとかw
引数でも単体でもどっちでも使えるようにじゃね?
つけてもつけなくても同じ つーか分かってるかも知れんが、$page = $_GET["page"]; inculde("$page"); なんて すげーセキュリティホールだから止めてね
>>390 覚えなくてもたいがい期待したとおりの優先順位だよ
グループごとで把握しとけばいい
and or xor と || && が両方ある意味はいまさら言うまでもないだろうけど
>>388 始めて1ヶ月もしないうちにサンプルプログラムで何度も見たが気にしなかった
実際にはサンプル以外では使えないから
>>350 を見て気がついたので
>>352 を書いた
>>389 関数ではなく構造だとはっきり書かれてるよ
orはPHPでは稀だが、CやPerlでは良く使われる
C使いは手動で最適化するの大好きだからな ||の左右ごときに死ぬほど拘るw
>>402 Perlが知らんが、Cに「or」なんて演算子はなかったと思うが
>>403 いや右辺がスキップされる特性は普通に拘るべきポイントだろ
>>398 phpでURLをどう解釈して処理しているのかよく分からないのです。
?から&までを$_GETで取得できるってことですよね?
$page = "
http://example/test.php? ";
になると?が余分についててtest.phpが読み込めないかなぁと思って理解できません。
これは普通にやるよね if(($a=foo())==false) {
>>408 俺じゃねーし
お前だけ蚊帳の外だよなw
>>411 はいはい、よかったねw
もう出てくるなよ
>>398 それ、なんでセキュリティホールになるのか教えてくれ
>>410 セオリーでは代入は外に出すけど、まあそういうののほうが見やすいこともアルカポネ
>>413 煽られるだけ煽られてPHPの話題についていけなくてワロタw
>>410 if内で代入は無いわ
ただ ! より == false 使いたくなることはある
rubyのunlessも嫌い
>>417 自白乙
どう見てもついていけてないのはお前ですw
>>421 サンクス
まだ公開してないけど,使ってるわw
こりゃ勉強しないといけないな
Pythonはifの()で代入できないようになっとるね。 比較と代入が紛らわしかったり、==とまちがえて=としちゃうバグを防ぐためだとか。
424 :
409 :2007/10/27(土) 22:04:44 ID:???
私の質問も答えてください
変数 = 式 論理演算子 式; やっぱ代入文の右辺が評価式になってるっつうのは気持ち悪いというか肌に合わない 他にこういう構文で組める言語ってある?
428 :
nobodyさん :2007/10/27(土) 23:20:58 ID:DskU7Uv6
済みません。 教えてください。 PHP4で携帯サイト造ってるんですが <?php if($_POST["send"]){ header('Location: b.php',true,307); } ?> <html> <head> <body> <form name="form1" method="POST" action="a.php"> <input type="text"> <input type="submit" name="send"> </form> </body> </html> って感じでa.phpからb.phpにリダイレクトしたいんですが DOCOMOだと「指定されたURLは無効です」って言う エラーが出てしまいます。 (AUだと問題なくリダイレクトできました) 何が悪くて如何解決すれば良いのか教えて頂けないでしょうか?
429 :
sage :2007/10/27(土) 23:21:55 ID:DskU7Uv6
済みません・・・ 下げ忘れました・・・ よろしくお願いします。
済みません・・・ 下げ間違えました・・・
431 :
nobodyさん :2007/10/28(日) 00:20:23 ID:J8S2LPG/
質問します。 アンケートフォームのような「記入」→「確認」→「送信」という 一般的な登録システムで、確認画面から記入ページに戻った時に さっき入力していた文言がそのまま残ってるようにしたいんですが、 これは <input name="namae" value="<?php echo $_SESSION['namae']; ?>" type="text"> て風にするんでしょうか? というか、普通にブラウザのバックボタンやキーボードのbackspaceでもどっても 記入されてる場合が最近は多い気がしますが、念のため上のような処理にしたほうが いいのか、それとも気にしなくてもいいのか… その辺も含めて、 あれはどうやって実現してるのか教えてください。 環境はwinXP apache2 php5です
>>428 Locationが相対URLだからじゃないの?RFC的には絶対URLで指定するべきだし
あとPOSTのレスポンスで30xが来ても自動的にリダイレクト先をGETしないのが
正しいクライアントの動作だった気がする
個別の端末の動作は知らんので携帯スレでw
トリック・オア・トリート(Trick or treat. お菓子をくれなきゃ、いたずらするぞ) のオア
携帯スレはずいぶん前に腐海にのまれたよ
>>431 typeを後ろに書くあたりソースの書き方が気に入らない
ステレオtypeですか
>>432 有難う御座います。
絶対パスで書いたら上手く行きました。
スレ汚し失礼しました。
どういたまして。
クラスのメソッド内の処理って メソッドを実行したときに初めて読み込まれるのでしょうか? それともオブジェクト生成した時点で読み込まれるのでしょうか?
この一年流れについていけなかった。で、俺の給料はどうなるのよ 06年 5月 05年度決算の赤字転落を公表 07年 2月 特定商取引法違反の疑いで経産省と東京都が立ち入り検査 4月 最高裁、解約精算方法に違法判断 6月 経産省が一部業務停止命令 10月 会社更生法の適用を申請
素朴な疑問なんだが、 コンストラクタ内で return $var したらどうなるの?
試してみればいいじゃん
>>440 オブジェクトを生成した時点でメモリ上に組み込まれる。
読み込み自体はもっと早く、ソース上で定義した時点で行われてるが
多分、そういう意味ではないんだよな?
はい?コンストラクタから値を返すには必要だろ
>>446 コンストラクタの本質的な意味を理解していない低脳を発見。
じゃ何なんだよ
これは罠よ! コンストラクタで別に初期値設定しなくてもいいのに値を代入して、 おざなりのゲッタだのセッタだのして、 大げさにメゾlるどから値返すような人生に疑問を感じたんでしょ?w
コンストラクタが何をする場所か考えれば returnなんてしようと普通思わないと思うんだけど
いや、 コンストラクタのロードタイミングも考慮せずに、 返り値の議論をしているから、それが片手落ちの低脳と申し上げたまで。
>>446 値を返すコンストラクタってどんなやつ?
>>451 まさかコンストラクタをメソッドとしてヨブ記じゃあるまいな
PHPでジョージのことなんて考える必要ないし
もしかして451は440と442を混同している困ったちゃんじゃ?
451はプログラムのことは何もわかっていない、 たぶん昨日から居座っている奴だから 相手にしないこと
459 :
nobodyさん :2007/10/28(日) 09:27:37 ID:1rvp1hq4
>>435 ありがとうございます。普通でいいとはどういうことですか?
valueにセッションの値を代入みたいな処理は不要と考えて良いんでしょうか?
つまらない質問かもしれないですが、回答お願いします
460 :
nobodyさん :2007/10/28(日) 09:46:50 ID:MkUMoDKr
PHPからXML-RPCでブログにFC2と、忍者ブログに投稿しようとしているのですが、
ttp://atamanote.blog48.fc2.com/blog-entry-47.html ここで書かれているコードを、
$blogs = array_map( 'array_convEnc', XML_RPC_decode( $result->value() ) );
となっているところを、
foreach( XML_RPC_decode( $result->value() ) as $a ){
mb_convert_encoding(
$a, mb_internal_encoding(),
$GLOBALS['XML_RPC_defencoding'] );
}
こう変えて、エラーをなくしたのですが、FC2は、タイトルがArrayになって、本文が無い状態になり、下書き状態で投稿され、
忍者ブログでは、投稿すらされません。
他にどこをいじれば、また、代替案などはあるのでしょうか?
忍者ブログは、BlogPet用のXML-RPCエンドポイントを使用しています。
ttp://www.ninja.co.jp/faq/a/169/
エラー無くすだけじゃなくてちゃんと意味も考えようよ
xajaxというものを見つけたのですが、あまり使われていなのでしょうか?
463 :
460 :2007/10/28(日) 10:43:06 ID:MkUMoDKr
>>461 エラー見る限り、クラス内でコールバック関数は動かないのかと思って、
配列でちゃんと動くよう改良したのですが・・・
間違えたけどfroeachでも飛んでくれるんだなw
466 :
460 :2007/10/28(日) 11:43:40 ID:MkUMoDKr
>>464 どうしても、
The first argument, 'array_convEnc', should be either NULL or a valid callback
つまり、第一引数でarray_convEncが有効じゃないって、意味だと思うのですが、どういうことだかさっぱりです。
XML_RPC_decode( $result->value() )
で返される値は配列じゃないので、array_mapはなんかおかしい気がするのですが・・・
>>466 第一引数の問題だったらarray_convEnc()側の定義ミスかなんかだろ。
第二引数が配列かどうか以前。
つか、XML_RPC_decode()が配列を返さないんなら
foreach( XML_RPC_decode( $result->value() ) as $a ){
mb_convert_encoding(
$a, mb_internal_encoding(),
$GLOBALS['XML_RPC_defencoding'] );
}
こっちだって正常に動かないじゃん。
言ってることとやってることがかみ合ってないぞ。
468 :
nobodyさん :2007/10/28(日) 12:21:23 ID:MkUMoDKr
>>467 >>466 にはさっき気づいたんです。ちゃんと確かめてなかった。
一応、array_convEnc晒しておきます。
function array_convEnc($a){
if( is_array($a) ){ return array_map( 'array_convEnc', $a ); }
return mb_convert_encoding(
$a, mb_internal_encoding(),
$GLOBALS['XML_RPC_defencoding'] );
}
一応、クラス内の関数でコールバックしてるので、どうなのかなと。
クラス外に関数化すると、
Argument #2 should be an array
第二引数が配列ではない、ってことなので、
call_user_func('array_convEnc', XML_RPC_decode( $result->value() ));
にしてみたところ、エラーは出なくなりました。
ただ、
>FC2は、タイトルがArrayになって、本文が無い状態になり、下書き状態で投稿され、
問題が解決してない・・・
>>468 いやあのさ、
The first argument, 'array_convEnc', should be either NULL or a valid callback
このエラーはarray_convEnc()なんて関数はどこにもねーよ!ってエラーであって
関数の中身なんて関係ないのよ。
お前のソースの書き方そのものがどっか間違ってる可能性が高いってこと。
>>468 > 第二引数が配列ではない、ってことなので、
> call_user_func('array_convEnc', XML_RPC_decode( $result->value() ));
> にしてみたところ、エラーは出なくなりました。
なんだそれ?
何でそんな修正をしようと思ったのか根拠を述べてみてくれよ。
エラーを出したくないだけで意味のないソースを書くなら、
1行も書かないのが1番早いんだぞ。
ようするにXML_RPC_decode()は入力も出力も配列じゃなくて、
$result->value()の結果は配列なんだろ。
だったら
$blogs = array_map( 'array_convEnc', $result->value() );
function array_convEnc($a){
if( is_array($a) ){ return array_map( 'array_convEnc', $a ); }
return XML_RPC_decode( mb_convert_encoding(
$a, mb_internal_encoding(),
$GLOBALS['XML_RPC_defencoding'] ) );
}
とするべきだろう。
つか、元々のコード自体がバグってるだけなんだから
blogの主にゴラァしろよ。
でなきゃ人のコードぱくらず自分で全部作れ。
471 :
470 :2007/10/28(日) 13:18:51 ID:???
おっと、処理の順番間違った。 function array_convEnc($a){ if( is_array($a) ){ return array_map( 'array_convEnc', $a ); } return mb_convert_encoding( XML_RPC_decode($a), mb_internal_encoding(), $GLOBALS['XML_RPC_defencoding'] ); } こうだな。
472 :
460 :2007/10/28(日) 13:27:00 ID:MkUMoDKr
では、質問変えますが、クラス内にある関数をクラス内でコールバックするにはどうすればいいのでしょうか?
>>470 >何でそんな修正をしようと思ったのか根拠を述べてみてくれよ。
クラス内での関数が有効化されてないと思って、クラス外に置いただけです。
>でなきゃ人のコードぱくらず自分で全部作れ。
これに関してはまったく反論の余地がありません。
もう少し自分で練ってみます。
理解度が低いとマニュアルを読んでも当該箇所を見つけられないから 嘘は言ってない
つーか、作者本人に言えばいいのに… なんで他人の他人なんて縁遠いやつのコードをデバッグしてやらにゃならんのだ。
476 :
nobodyさん :2007/10/28(日) 14:06:38 ID:ih5Shsjs
質問させて下さい php5.2.3です。 文字数制限で文字数を超えたら書き込みできないように設定したいのですが if(ereg("[A-Za-z0-9\+\/]{10,50}", $abc)) 10〜50文字で書き込まないと書き込めないようにしてるのですが機能しません;; よろしければどのように書いてやればいいのか教えて下さい。
その正規表現の意味を考えれば当然だろ・・・ mb_strlenでも使っとけ
>>476 if(ereg("[A-Za-z0-9\+\/]{10,50}", $abc))
↓
if(ereg("[(.*)]{10,50}", $abc))
もっとよさげなのがある気がする
それでも50超えたら50までがマッチしてパスするんじゃないの
あとNULL挟んでもっと長い文字送りつけられる可能性があるからpregのほうが安全だと思う
481 :
nobodyさん :2007/10/28(日) 14:21:36 ID:g2sP/S0K
mb系とiconv系って どうやって使い分けたらいいですか? どっちを使えばいいのか分かりません
482 :
nobodyさん :2007/10/28(日) 14:24:06 ID:ih5Shsjs
>>477-480 さんレス有難うございます
if(ereg("[(.*)]{10,50}", $abc)) こちらで確認できました。有難うございます!
preg_matchの方でやってみたいと思います。
本当に助かりましたm(_ _"m)ペコリ
親切にありがとうございます!(感謝しています)
>>482 いやそれ…ホントに機能してる?
確認方法間違ってね?
if(ereg("^.{10,50}$", $abc))
じゃなきゃダメだろ?
484 :
nobodyさん :2007/10/28(日) 15:55:57 ID:ih5Shsjs
>>483 確認しましたら50文字以上も記述されるようになってました。
>>483 こちらで教えてもらった方法でしたら
あいうえおなど半角記号英数字以外でも記述されるようになってしまっています・・・。
勉強してきます(汗
485 :
nobodyさん :2007/10/28(日) 15:59:56 ID:ih5Shsjs
ごめんなさいできました!
>>483 愛してます!
きんもーっ☆
結局480が言うようなNULL挟んだ文字列でアボーソ
>>490 同じIDで同じようなこと言ってないか?ってこと
まあ、クラスのハンドルできない俺は答えられないけど
fopen()を使ってXMLファイルを出力していたのですが サーバのPHPがSafeModeで動作しておりfopen()が使えません。 CGI版で動かす方法も試そうと思ったのですが、サーバが モジュール版で動作しているためそれもできませんでした。 良い代替方法はありますか?
494 :
nobodyさん :2007/10/28(日) 21:54:36 ID:B6O0ATcQ
PHPでWindows向けアプリを作りたいのですが、 WinBinder+Bamcompilerがついてる開発向けソフトなどまだないのでしょうか?
>>496 新しい関数があったんですね。助かりました、ありがとうございます。
>>494 おとなしくCやJavaで作ったほうがいいよ。
yesかnoでお答えください
じゃあyesで 何が?
499 :
nobodyさん :2007/10/29(月) 02:16:49 ID:/JLEVJSc
1行掲示板みたいなのを初めて作っています。 教えて下さい。 やりたいことは最後に書き込みをした人の時間を取得して表示させたいんです。 $now = gmdate("Y/m/d H:i", time()+9*60*60); が時間を取得しています。 下記のように実行させて表示させたいのですが、どこか参考になるサイトなどないでしょうか? <?php $lastmod = date ("Y/m/d H:i:s", getlastmod()); echo "最終更新日: " . date ($lastmod); ?>
>>499 方法を教えてほしいのか
サイトを教えてほしいのか
どっちかにしろ
echo "最終更新日: " . $lastmod;
502 :
499 :2007/10/29(月) 02:29:35 ID:???
>>500 方法でしたm(_ _"m)ペコリ
>>501 有難うございます!!
大変助かりました。
503 :
nobodyさん :2007/10/29(月) 03:31:02 ID:LZFfsiWa
ローカルにa.phpがありまして、
リモート上にb.php(
http://www.example.com/b.php )があります。
ローカルのa.phpからrequire_onceを使ってb.phpを実行するまでは出来たのですが、
b.phpでセットした値をa.phpで使用する方法が分からず悩んでいます。
呼び先のphpから呼び元のphpへデータを返す方法を教えていただけませんでしょうか。
宜しくお願いします。
>>503 それあんたの言う「リモート」って関係あるか?
require_onceでファイルだけ読込んであんたの言う「ローカル」で実行してるんだろ?
>>503 あんたのいう「データ」が何なのかわからんけど
普通にGETで渡すとかSESSIONとか使えばいいんじゃね
つーか外部スクリプトの変数やら定数やらを取得できたら大変なことに。
HACK天国
>>503 まず具体的に何をしたいのか、どんなプログラムを作りたいのか言ったほうが早いよ
ある所から値を取り出したいなら、XMLなりシリアライズなりCSVなりファイルをphpで生成したほうがいいんじゃない?
>>506 が指摘してる通りセキュリティ的にそんなことできない。
たとえば配布されているスクリプトを考えて欲しい。
掲示板にせよアップローダにせよ、管理者のパスワードを設定する項目があるだろう。
パスワードが格納される変数は通常変更しないし、ファイル名もそのまま使うだろう。
(もし変更した場合、関連箇所を全て修正しないといけない)
となると、配布されているスクリプトの場合、
パスワードが格納されている変数と、パスワードが記述されているファイル名は、
第三者でも容易にわかってしまうわけだ。
たとえば
http://example.com/conf.phpがパスワードが記述されているファイル名として 、
$passwordにパスワードが格納されているとすると、
ローカルから
require_once("
http://example.com/conf.php ");
echo $password;
なんてできたら大変なことになるだろう?ちょっと考えればわかるはずだ。
510 :
nobodyさん :2007/10/29(月) 04:09:41 ID:LZFfsiWa
>>504-509 深夜に色々とアドバイス頂きましてどうもありがとうございました。
私のやりたい事は、
>>509 さんのご指摘の通り、
で、b.php側で
function foo() {
$data = "";
return $data;
}
とやって、ローカル側のa.phpで$dataが取得できたら、と思っていました。
でも、確かに、よく考えればセキュリティー上許されないですね。すみません。
>>508 のアドバイス通り、一回ファイルをサーバー側で生成して
それを見に行く方法しかないみたいです。
# 初めファイル経由でデータをサーバーから受け取ろうとしたのですが、
# 一つの変数を受け取るのに一時ファイルを作るに抵抗を感じいました。
# ソケット経由でデータを受け取る方法も考えたですが、それも大げさかなぁ、と思って安易に考えていました。
どうも、ありがとうございました。
511 :
508 :2007/10/29(月) 04:17:56 ID:???
ありがとう、508。
短時間で煽られすぎワロタ
>>508 の方法が一般的かもしれないが、
>>505 さんの方法をぜひ教えていただきたいですわ
乗り遅れたぜ
>>516 俺505さんだが、すまん質問内容を間違えてたよ
これからは質問内容しっかりと理解して、最低2日間は考えてからレスするようにするよ
んじゃ、逝ってくるorz
518 :
nobodyさん :2007/10/29(月) 05:15:25 ID:pKcinqWT
pearのauthクラスは商用サイトで十分使えますか?
つかえまsn
520 :
nobodyさん :2007/10/29(月) 05:22:06 ID:pKcinqWT
大手は独自の認証コードを書いてるんですかね? 商用でも十分耐えうる認証ライブラリありませんか?
認証の仕組みなんて結構ワンパターンな気がするが 広く利用されることでより洗練され堅牢になる品
static変数について質問です。 インスタンスメソッドではなくクラスメソッドからstatic変数を参照するときに、各クラスごとに別の値を参照させることはできますか。 やりたいことは次のようなことです。 class ModelObject { static $table = NULL; function select() { $t = self::$table; var_export("select * from $t"); } } class Model1 extends ModelObject { static $table = 'table1'; } Model1::select(); exit(0); //=> 'select * from ' と表示されるが、'select * from table1' と出てほしい これができないと、すべてのクラスメソッドをそれぞれのクラスで再定義しなければならず、あまりにもめんどくさいです。
ありがとうございました
524 :
nobodyさん :2007/10/29(月) 08:53:29 ID:pKcinqWT
↑ミス ありがとうございました
>>522 class ModelObject {
static $table = NULL;
function select($class) {
$vars = get_class_vars($class);
var_export("select * from ".$vars['table']);
}
}
class Model1 extends ModelObject {
static $table = 'table1';
}
Model1::select('Model1');
モデルは唯一だから、staticでやりたいんだろうけど、 インスタンス化しちゃえばいけるかも newじゃなくって、singletonにすればなおいいかも
しょうもないことですが、教えてください。
今までPHPでプログラム作ってて、PHPの構文を入れる際には
<?php
〜〜
?>
で囲っていました。
今回フレームワークというのが面白そうだと思って勉強してみようと思い
Zend Framework入門っていう本を買いました。
ttp://www.zend.co.jp/products/book/book_zf.php プログラムのサンプルを見て気が付いたのですが、どれもこれも
<?php
〜〜
で終わっており、「?>」で閉じてないんですよ。
実際にZend Frameworkをインストールしたディレクトリにあるphpファイルを
参照してみましたが、これらも同様に「?>」で閉じられていませんでした。
これってどういうことなんでしょうか?
「?>」を省くことができるってことなんでしょうか?
>>527 それって人に聞かなきゃ分からない話か?
それとも何でも人に聞かなきゃ物事を進めれない人?
「一年間トイレに行ってないのですがやはりトイレは行ったほうがいいでしょうか?」
こんなこととか聞く人かな?
>>529 宣伝じゃないよ!
>>528 どうして「?>」で閉じてないけど、どうしてこれでいいのか分からなかったんです。
私が知っているPHPは「?>」で閉じるものだ、って理解していましたが
こういう本を読んでみたら?>で閉じてないからどうしてかなと思ってですね。
トイレでもなんでも聞きますんで、教えてください。
>>530 省けるか省けないか
<? phpinfo();
としてみれば分かるだろう。
それともここの人にそれをやって俺様に報告しろってことか?
たまに著者もここみて宣伝にくるから気をつけろよ初心者ども 売れない本=わかりずらい本
わかりずらい(←何故か変換できない)
>>531 そうでしたね。
すいませんです。
ありがとうございました。
>>532 まじで宣伝じゃないって!
でも?>を省くなんて、入門本としてはイクナイと思う。
普通は<?php 〜 ?>って書くもんね。
googleで PHP 閉じない で検索するだけで、大量の情報を得られるだろ んなことを、しれっと質問するから宣伝乙 っていわれるんだバカやロー
なんか盛り上がってる奴がいるなあ
>>530 PHPってのはもともとHTMLがあって
その一部にPHPコードを埋め込むというもの。
つまり、
<html>
<?php 〜〜〜 ?>
</html>
とあったとき<?php 〜〜〜 ?>の外側の<html>、</html>が”出力”される。
もし<?php 〜〜〜 ?>の外側にスペース・改行があったとしたら・・・。
<?php の前にスペース・改行があったらすぐに気づくが、
?>の後にスペース・改行があっても気づかないもの。
その場合に余計な空白が出力されてしまうことになる。
これが問題ない場合もあるが、出力された文字をデータとして扱う場合に
問題が出ることもある。そのため?>を省いており、
また、省くことができる仕様になっている。
>>535 いや、その検索ワードはちょっと思いつかないよ。
タネを知ってたら思いつくだろうけど。
あと、スレタイが「くだらない質問〜」って書いてあるからいいかなと思ったんだけど。
それにしても?>を意図的に書かないって言うテクがあったんですね。
知らなかったヨ。
ってことは、あの本は良い本ってことで。
(宣伝じゃないよ)
PI閉じタグ直後の改行は削除される仕様です
>>537 詳細サンクスです。
今回の件はとても勉強になりました。
スレ汚しすいませんでした。
すまん。俺も悪かった。
542 :
nobodyさん :2007/10/29(月) 14:44:37 ID:z+kol6j9
call_user_func_array()とcall_user_func()の違いがわかりません。 マニュアル見ても同じような気がするんですが、違うものなんでしょうか?
>>542 引数の数が不明だった場合に_arrayを使う
544 :
nobodyさん :2007/10/29(月) 14:58:17 ID:/8Ez3TkO
PEARって自動的にエスケープしてくれるもんだと思ってたorz autoExecuteのみ必要に応じてエスケープしてくれるのか・・・ 普通にSELECTするときは自分でエスケープしないといけないんですね
データベース使うなら、PEARなんか使わずに 素直にフレームワーク使ったほうが良い
>>540 zendのコーディング規約に書いてあるよ
547 :
nobodyさん :2007/10/29(月) 16:43:06 ID:ugb+n0gS
内部エンコードはinternal_encodingですが 表示用エンコードは何ですか? 変数名で迷ってます
not_internal_encoding
特定ディレクトリの中のファイル全てを削除する方法を教えて下さい。
550 :
316 :2007/10/29(月) 17:19:32 ID:???
>>549 ここはプログラムを組む人用のスレなので、丸投げなら他へどうぞ
552 :
628 :2007/10/29(月) 17:42:19 ID:???
php からMYSQLを操作しますが updateクエリーを実行結果を取得するのって mysql_fetch_arrayとかmysql_data_seekとかで取得できないんですけど 取得できる関数ってありますか? updateしてからselectクエリーを実行して結果を取得しないといけないんですか? 教えてください偉い人
553 :
552 :2007/10/29(月) 17:44:42 ID:???
補足 updateしたレコードを取得したいんです
>>552 >SELECT, SHOW, DESCRIBE や EXPLAIN 文、その他結果セットを返す文では、 mysql_query() は成功した場合に resource を返します。
>>553 mysql上で送るクエリーが分かってれば、それを送るだけだよ。
>>316 そ、それは、ショートタグ可否のデフォルト設定の違い
なだけでは?
557 :
552 :2007/10/29(月) 17:50:49 ID:???
>>555 レコードをupdateでクエリーを送ってから、selectでクエリーを送って結果を取得するので?
あたま悪くてスマソ
558 :
nobodyさん :2007/10/29(月) 17:56:01 ID:0Yij708s
559 :
552 :2007/10/29(月) 17:56:47 ID:???
なるへそ 面倒だな ありがとうございます
>>559 面倒だと思ったところは関数作って使いまわしできるようにするといいよ
updateで返ってくる値なんて行数だけだろ。何言ってんだか。
sqlite3で作ったデータベースなんですが、 <?php $db = sqlite_open('zip.db'); ?> を実行すると sqlite_open(): file is encrypted or is not a database と出て実行できません。 どうすれば回避できるでしょうか?
書かれている通りです
精子表現について質問させてください。 精子を精製してチンコに返してやりたいのですが、 たまに不純物が混じるので精子のチェックをしたいです。 どのように書いたらいいでしょうか?
使ったこと無いけど$99の割にはしょぼい気が・・・Cakeでよくね?
オープンソースのFW使えって話だな
568 :
522 :2007/10/29(月) 22:32:40 ID:???
>>525 ありがとうございます。
> Model1::select('Model1');
これがちょっといけてないので、Model1::select(); と書ける魔法なんかないでしょうか。
FWは自分で書くものだよ。ウシシ
570 :
nobodyさん :2007/10/29(月) 22:58:17 ID:htv8blfh
>>563 >書かれている通りです
書かれている通りとは?
>>568 よく出る話題だがbacktrace()からコールしたクラス名得て
>>525 的にやるくらいしかない
サブクラスでselect()を再定義して、テーブル名を指定してparent::select("table name") のように
すれば表記上は Model1::select() と出来るけど、、、
やはりテーブル名をクラスメンバとして ModelObject に結び付けてるのがおかしいのでは、、、
サブクラスで再定義したいのに、親クラス固有のメンバを参照するような設計になってて矛盾がある
その辺PHPは練りこまれてないからな。 へたにstaticとか使うとOOとしてはアレ?ということになりがち。
573 :
nobodyさん :2007/10/30(火) 00:18:14 ID:+WynKem6
500KB〜1MBぐらいのテキストファイルを100KBぐらいに分割して 表示したいんですが、どうすればよいでしょうか?
fseek()
だからオブジェクトにしてsingletonにしてだな
じーさんそれはさっきも聞いたよ
夕飯はまだかのー
おじいちゃん、それはマウスでしょ!
579 :
522 :2007/10/30(火) 01:40:24 ID:???
>>571 >やはりテーブル名をクラスメンバとして ModelObject に結び付けてるのがおかしいのでは、、、
>サブクラスで再定義したいのに、親クラス固有のメンバを参照するような設計になってて矛盾がある
そうなんですかね。RubyやPythonではこれがふつうの設計方法なんですよ。
Model1::select()を呼び出したときに、ModelObject::select()が実行されるのはPHPでも一緒なんですけど
PythonやRubyではちゃんとModel1のクラス変数(またはクラスインスタンス変数)が参照できるんですよ。
おんなじようにPHPでもできるだろうと思ってたんですが、スマートにはいかなそうなので、なんか違う方法考えます。
>>579 取得する部分をメンバじゃなくメソッドにしちゃえば?
と適当に言ってみる
>>579 それは知ってるが、普通の実装じゃないよ
クラスメンバの原義を考えれば当然
手段と目的がひっくり返りつつあるなw
そろそろstaticの動作に対する誤解もFAQしていいんじゃないか。staticはあくまでstaticでしかないのだと。
Modelを自前で書いてるのがイミフだが、RubyやPythonでやれよ PHPなんか使えなくても不自由ない
Unicode対応って何がうれしいんですか?
>>585 むしろしばらくは混乱するんじゃないかなあ
>>580 PHPのクラスメソッドから他のクラスメソッドを呼び出すには、クラス名を指定する必要があるから、うまく行きません。
>>581 普通の実装じゃないといいきる理由は?
>クラスメンバの原義を考えれば当然
これってJavaでのクラス変数のことをいってるのかもしれないけど、PythonでもRubyでもクラスインスタンス変数というのがあって、これを使うと「クラス変数なんだけどクラスごとに別の値を取れる変数」が使える。
これが使えるなら使った方が自然な設計ができますよ。
Model1::select() はインスタンスメソッドではなくクラスメソッドにすべきだから(だってインスタンスを取ってくるメソッドだからね)、select()が使う変数はクラスに対して設定する必要がある。
だからテーブル名はクラス変数(またはクラスインスタンス変数)で設定したい。
それ以外にいい方法があるなら教えてください。
>>584 他の言語でできてPHPでできないことがあったからって、なんでこんなこというかな。
ここってPHPの質問するところでしょ?PHPでできますかと聞いて、できないと答えた、ただそれだけでいいのになんでこんなひがみが出てくるの?
だれもPHPを非難してないでしょ?質問の意図を説明するために他の言語を例として出したまでなのに、すぐ被害妄想になるやつ大杉。できないならできないって答えて、そうですかで終わりじゃん。
>>587 いや、自分でstaticって指定してるやん・・・どうしたの自分
だいたいPHPどうのっていう問題じゃないでしょ コードが異常 もっと”まとも”なコード書いてください
>>586 日本語はmbstringが統合されるだけでしょ?
既存スクリプトのリテラルの変更とか必要になるのカナ
>質問の意図を説明するために他の言語を例として出したまでなのに これが蛇足ってやつだね >できないならできないって答えて、そうですかで終わりじゃん。 で、しっかり自己矛盾してるし。当の本人が終わらせる気まるで無し
>>562 SQLite関数は2までしかサポートしていません。
SQLite3を利用したい場合はPDOクラスを使用してください。
593 :
nobodyさん :2007/10/30(火) 03:23:42 ID:vbqY4O/s
スレッド式掲示板を作ってます。 ログの分け方なんですが、1ファイル1スレッドでわけるか、 1ファイル複数スレッドにいれるか悩んでます。 アクセスは1day/1〜1000程度に耐えられればいいと思ってます。 レンサバなどで、1スレッドごとにファイルを読み込むのは処理が重くなりますかね?
管理上分けたほうがいいと思う 読み出しの負荷が気になるなら2chみたく書き込み時に静的ファイルを生成するのがええじゃろ
最適化なんざ、やむにやまれなくなってからやるもんだ お前は朝起きたたびごとに鯖が落ちていたことあるんかいと それも俺は寝てるのに、ロリ野郎が朝までお祭り投稿やってたような状況にな 最初は理想でいいんだよ 最適化なんて考えるな 重いもヘチマもアクセスだないと成立しないんだよ
まあ10や20ファイル開いても以外に早いもんだよな それより初心者だと fopen('log1.dat', 'w'); flock(... とかやってファイル壊したりとか XSS脆弱性のこしてたりしないように気を使ったほうがいいかも
597 :
nobodyさん :2007/10/30(火) 04:06:30 ID:vbqY4O/s
ありがとうございます。セキュリティなどに気をつけて自分の作りやすい方法をとってみます。 あと、大抵のレンサバはセーフモードで動いてますよね。 あれおをローカルでも実現したいのですが、safe_mode = onとするだけでいいのでしょうか?
>>597 何事も実験orドキュメント読む
それぐらい直ぐ解る事だろ
レンサバと設定あわせたいなら
レンサバでphpinfo実行してそれと同じ内容になるようにする
configreオプション出てると思うので同じ内容でインストールする
あとはてきとーに設定をあわせる
スクリプト言語でファイル操作すると、ファイルが壊れることがあるけど、 データベースでデータ操作しても、ファイルが壊れることはないよな。 それは、どうしてなのかと考えてみたが、 データーベースの場合は、OSの何か特殊なファイル(絶対に壊れないファイル)を 使っているから壊れないのでは、と思う。 しかし、スクリプト言語の場合はOSレベルまでの操作ができないから、 その絶対に壊れないファイルを操作することができず、 結果、スクリプト言語はファイルが壊れるんだろうな。 スクリプト言語ではなく、C言語やアセンブラ言語であれば、 このような操作が出来るはずだが、そうなると、もはやスクリプト言語の 存在意義は、開発の効率性の一点だけに求められるような気がする。 つまるところ、効率性が求められる現代において、スクリプト言語が重用される 理由がここにあることになる。
>>587 クラスメソッドはメモリの節約になるかもしれないが
実行速度は遅いのでインスタンスメソッドの方が
使用頻度によっては良いよ
つーかDBからテーブル情報とかを取ってくる所のクラスなら
別にインスタンスにしてもシングルトンにしときゃーメモリ節約できるんだし
態々ややこい事しなくてもと思ってしまう
>>599 DBはある程度メモリにプールしてたまに書き込みだから
スクリプトとかでがつがつ書き換えるよりかは
書き換え頻度が低いってのもあるんじゃないかな
ここら辺の構造はうろ覚えなので間違ってたらスマン
ファイルベースでファイルが壊れるなんて、 アクセスカウンタぐらになもんだろw
お前らあんま恥ずかしい話するなよ
すいません、マニュアルみてセーフモードの設定をしたのですが、 >セーフモードはオープンしようとするファイルの UIDの比較チェックを行います。 ↑これはfopenで新規作成ができないってことですか?
>>603 ファイルがユーザのものかチェックするって事です。
セーフモードでもfopenで新規作成できますよ。
605 :
nobodyさん :2007/10/30(火) 06:59:46 ID:vbqY4O/s
ありがとうございます。ためしてみましたらfopenはできました。 readfileができなくなるのですね。ありがとうございました。
モジュールとライブラリの意味教えてくれよ
608 :
nobodyさん :2007/10/30(火) 08:28:54 ID:vbqY4O/s
すいません、ログファイルを一箇所のディレクトリにためる場合、 サーバに負担がかかりますか? ひとつのディレクトリに300〜2000ファイルとか作成しても耐えられますかね? あと、レンサバはふつうファイル数の制限ってしてますか?
>>608 最大で2000ファイルくらいなら全然平気。
平均が2000で最大は万を超えるとか言ったら「分けれ」って言いたくなるけど。
>>608 余程アホなスクリプト書かん限り2000程度のファイルで負荷なんてかからん。
ファイル数の制限についてはレン鯖によって違うからなんとも言えん。
そろそろPHPの質問も↓
>>606 PEARがライブラリでPeclがモジュール(うそ)
613 :
nobodyさん :2007/10/30(火) 10:57:31 ID:vbqY4O/s
ありがとうございました。気にしないでディレクトリにファイルを作成することにしました。
クラスやパターン設計に覚えた頃にはまる罠 これらはあれば便利で使うものなのに、さもその通りに行かないといけないと気がすまなくなってくる それが実行速度的に悪影響を及ぼし、余計な回り道となっていることに気が付かずにw そして原点回帰で動けばいいことに気が付いた時、今までの経験を元に綺麗なコードが書ける プログラムなんてそんなもの rubyの深さを知って生産性は飾りだと気づいたw
FW使えっていうやつは何使ってるの?
Rubyが良いのは認めるけど何も別言語のスレにまで出張して布教活動しないで欲しいww
FireWall?
>>616 >Rubyが良いのは認めるけど
布教活動しているのは、お前だ!!市ね
>>617 マジレスすると
ふれーむわーく。DWがでてくるからFWといったらアレかと思ってた
621 :
nobodyさん :2007/10/30(火) 15:01:59 ID:vbqY4O/s
$_SERVER['PATH_INFO']が使えないサーバがあることをはじめて知りました。 そこで代替策として、$_SERVER['REQUEST_URI']でバラして使おうかと思っているのですが、 $_SERVER['REQUEST_URI']も使えないことってありますか?
ストリームをdup()したい!
623 :
619 :2007/10/30(火) 15:31:01 ID:???
619は無かった事に(´・ω・`)
>>621 大半のサーバーで返してくれるけど絶対ではない。
626 :
nobodyさん :2007/10/30(火) 16:04:26 ID:vbqY4O/s
ありがとうございます。いろんなサーバで動くようにしたいのでもう少し代替策を練ってみます。
627 :
nobodyさん :2007/10/30(火) 16:16:46 ID:Rzoy8xmc
php6でnamespaceが実装されるみたいだけど、 これをうまく使って、$this->barの$this->を書かなくするようにできそうだな。 メンバ変数を動的にnamespace内のグローバル変数にしてゴニョゴニョーって。できないかな。
それは無理かと思うが、確かに$thisは何とかしてほしいよな。
$thisの強制は間違いがなくていいと思っているが
明示的な型宣言がないと間違いが起こりやすいだのあると面倒だのって話みたいだ
PHPしすぎたせいでC#やろうと思ってもサッパリわかんねwww PHPがいかに簡単すぎるかがわかったよ
>>627 $thisが面倒って話は分かるが、グローバルに扱えるようにするってのは
global宣言と同じ程度にバグの元になるような気がするよ。
あんまり好ましい方策ではないんじゃなかろうか。いくらPHPでもさ。
RailsのDHHがPHPからRubyに変更した理由が、$thisがめんどかったってどっかで読んだな。
2ちゃんの掲示板スクリプトを11時間かけて似せて作ったんだけど効率わるい? 500行ぐらい。
635 :
nobodyさん :2007/10/30(火) 17:42:54 ID:UpkPLboM
リクエストの文字コード→内部コードの変換ってどうやってますか? 設定による自動変換は推奨されていないし、 決めうちも必ずしも正確とはいえない。 スクリプト内の判定も、文字数や文字列によって誤判定がありそう。 正確にやろうと思ったら「毎回文字コード判定用のダミーパラメータを付加」 くらいしかないような気がしますが、 そんなことをしているという話も寡聞にして知りません いったいどうするのがベストなんでしょう??
ベストは知らないけどmb_convert_encoding使ってて困ったことはないかな
コンバートはmb_convert_encodingでFAだと思います(それ以外知らないし) エンコード判定→変換の流れが、どうするのがいいのか分からないんですよねー 試しに文章を一文字区切りにして、一文字ずつ判定ルーチンにかけてみましたが やはり誤判定する文字がありますね
mb_detect_encoding?
>>620 DWはWebオーサリングツールであってフレームワークじゃない。
フレームワークっていうのは簡単にいうと、
MVCモデルを実現するための仕組みのようなもの。
必要なデータベースを作り、簡素なModel View Controllerを記述することにより、
あとはフレームワークが複雑な処理をやってくれる。
たとえばCakePHPのチュートリアルにあるとおり、
数行のコードでBlogが作れるようになっているわけだ。
当然FWで作ったアプリケーションはFW上でしか動作しないので、
サーバにインストールする必要があるが、
実体はPHPなので、PHPが使えるサーバならPHPのFWは使えるということになる。
641 :
nobodyさん :2007/10/30(火) 21:01:57 ID:7j0uTXdo
変数名を付けたいのですが専門用語がわかりません。 $ipaddr = '192.168.0.1'; $subnet = '24'; $??? = '192.168.0.1/24'; $???は何にしたらいいでしょうか? 別になんでもいいのですが他人が見るのでちゃんとした名前にしたいです。
>>642 IPアドレスサイダーって聞いたことないけど、正式な名称ってなんだろ?
その記法のことをCIDRって言うんだよ
>639 >620 が言ってるのは FireWorks だと思うんだが… (もっとも >620 の言う「DW が でてくるから」というのは どこだかわからんが)
フレームワーク=MVCだと思ってるやつは勉強不足
cidr表記のipアドレスなんだから ipaddr_cidrでいいだろ 何が不満なんだ
$aipi-adoresu
ipaddrつけなくてcidrで良いんじゃ
だからcidrは表記法だって。
結局何に使ってるかよるわけじゃん
ホストアドレスを問題にしてるなら
>>648 も捨てたもんじゃない
どーせローカル変数だろうから$wkでいいんじゃね?
正確にはlocal_networkだがnetworkで問題ない だってネットワークだシナ
(´・ω・`)
>>645 なるほどFireWorksか。気づかなかった。
>>649 開発性・生産性・拡張性に優れているものを作ろうとすると自然とMVCになるわけで、
=ではないが実際FWのほとんどがそういったものであるのは事実。
よく説明にある、フレームワーク=土台といっても、全く知らない人間には意味不明だから、
わかりやすく説明するために簡素化しすぎたのは悪かったけどな。
192.168.0.1 -> internet address or inet 24 -> netmask (0xffff00 のことでしょ) 192.168.0.1/24 -> network address or cidr address
663 :
641 :2007/10/30(火) 22:44:56 ID:???
192.168.0.1 -> IPA 24 -> SNM 192.168.0.1/24 -> NWA ども!これに決めました。 文句があると思うけどSKN!!
192.168.0.1/24 こんなの存在しないだろ 192.168.0.0/24ならわかるが
>>664 それは、いわゆるブロードキャストアドレスってやつで、
そのアドレスに向けて打つと、そのネットワークに繋がっている
全てのルーターに到達する。スレチだから、詳しくはネットワーク関係の板でも聞け。
0はブロードキャストアドレスとは少し違うよ
少し?全然別物だろ
お前らも実習でつながらないLanケーブル作ったよな
>>670 なんかリンクアップしないと思ったらお前のせいか。
ブロードキャストアドレス、ぐぐったら全然違うしw ウソつきばっかだな
>>670 あるあるw
しらんぷりで放置されたのが溜まってる
お前らなんの話してるの? 難しくてわからない
>>675 ブロードウェイに出ているキャストのアドレスはどこかを熱く語っているんだよ。
さすがに192.168.0.1/24のbroadcastと言ったら192.168.0.255なんでネタですよね。 そもそも192.168.0.1/24はCIDRアドレスの簡易表記法=アドレス/プレフィックス長なわけで。 (プレフィックス長=ネットワーク部のビット数) プレフィックス長を省略して192.168.0.1と表記した場合はホストアドレスとしての解釈。
どうこう言うより自分とこのルーティングテーブル見るのが手っ取り早い
会員システムを作っているのですが、 ログイン済みかどうかの判断は 1. ID/PASSWORDをセッションで持ち歩いて移動毎にチェック 2. 一度認証クリアしたらIDのみセッションに入れて、移動毎にIDセッション持ってるか確認 どっちが良いでしょうか? 1の方が安全な気がうっすらとはしますが。
パスワードをセッション変数に入れる必要がどこにあるのか、逆に聞いてみたい。
682 :
nobodyさん :2007/10/31(水) 06:47:01 ID:jWccZHnt
配布スクリプトにコードに「echo "はじめまして";」というのを書いてます。 これはユーザーが書き換えることを想定して、htmlspecialcharsをかませるべきでしょうか?
書き換えなくても通せ
>>635 俺は決めうち
表示エンコードで返ってくるものとしてそもそも変換していない
ダミーパラメーターは聞いたことはあるからそんなに珍しくはないだろう
687 :
nobodyさん :2007/10/31(水) 10:10:47 ID:F/XuAcDL
//すでに格納済みのほかのファイル更新日 $xxx_date $page[] = '../aaa/'; $page[] = '../bbb/'; それぞれのディレクトリーにはページファイルが入ってます。それを foreach($page as $key =>$value){ $pdata = explode("." , $value); $lastupdate = @date("Y-m-d\TH:i:s\+09:00", @filemtime("..".$pdata[2].".php")); echo $lastupdate; } としてファイルの更新時間などを取得してるのですが、$lastupdateで取得したそれぞれの更新日と $xxx_dateを比較して最新のものを返すにはこの後どうすればいいんでしょうか。
688 :
nobodyさん :2007/10/31(水) 10:21:50 ID:F/XuAcDL
>>687 なにか違うものを貼り付けてました
foreach($dirurl as $key =>$value){
$dirurl = $value;
$dir = @opendir($dirurl);
while($file = readdir($dir)) {
if (!is_dir($file)){
$pdata = explode("." , $dirurl.$file);
$lastupdate = @date("Y-m-d\TH:i:s\+09:00",@filemtime("../".$pdata[2].".php"));
echo $lastupdate;
}
}
closedir($dir);
}
です(;´д⊂)
689 :
nobodyさん :2007/10/31(水) 12:26:20 ID:wHbETa3h
非常にくだらいないミスだと思うんだけど $Nextmonth = date("Y年m月",mktime(0, 0, 0, date("m")+1, date("d"), date("Y"))); echo $Nextmonth; これで何故か2007/12になる…。 期待した表示は11月なんですが、おかしい所指摘してくださいまし。 もっと簡易な書き方があったらそれも欲しいです (´・ω・`)
>>689 考えずにレスすると、+1しないでEchoするとどうなる?
>>689 今日が10月31日で、月+1にすると11月31日で
11月は30日までしかないから12月1日扱いになる。
日まで指定する必要なし。
>>689 そら+1してんだから明日でしょ。
今日11/31だよ。
なんでこんな低レベルな質問に間違い回答続出なんだw
phpで稼げる日払いのお仕事ありませんか〜?;;
697 :
nobodyさん :2007/10/31(水) 12:50:18 ID:wHbETa3h
699 :
nobodyさん :2007/10/31(水) 13:45:38 ID:G97Omn6y
すんません、PHPでEXCELファイルを扱いたいんですけど、いいライブラリありますか? 現在はEXCEL_REVISEを使わせてもらってるんですけど、数式の追加が出来ないんですよね。 環境はCentOS5.0+PHP5.1.6です。
>>699 さんはふだんはlinuxでメールチェックとか2ちゃんみてますか?
702 :
nobodyさん :2007/10/31(水) 14:37:29 ID:Xq7d8XJi
[Dir]┬ index.php .├ hogehoge.php .├ example.php .└ . htaccess ディレクトリの中の各PHPに同じファイルをインクルードさせたいのですが、 全てのPHPファイルに「require_once("/path/include.php");」 を書くと、読み込むファイルのパスが変わった場合など変更するのが大変です。 . htaccessで全ての*.phpに同じ一行を記述するようなことはできませんか? (記述というか、同じ動作を与えることです。)
出来るがその方針が気に入らない
>>702 むしろphp.iniのinclude_pathは、その様な目的の為に利用できるんじゃないかと思うが?
705 :
nobodyさん :2007/10/31(水) 14:56:56 ID:Xq7d8XJi
>>704 なるほど!
include_pathも考えてみたのですが、これって複数のパスを指定できるのですね
その方法で試してみます、ありがとうございました。
まずマニュアルを読もうぜ… たしかインストールマニュアルのPEARのインクルードが云々って所に書いてあったはず
707 :
687 :2007/10/31(水) 15:01:41 ID:F/XuAcDL
>>707 記号を全部抜いて数字の羅列にして比較したら
709 :
nobodyさん :2007/10/31(水) 15:06:52 ID:Xq7d8XJi
include_pathって読み込んで、そのままスクリプトを実行してくれるのでしょうか? htaccess php_value include_path ".;C:\xampp\htdocs\Project\test\inc\conf.php" inc/conf.php <? $x = 10; echo "aa"; ?> index.php <? echo $x; ?> index.phpを実行すると白紙になります。 conf.phpを読み込んでくれていないということですよね。 require_once()では同じパスで正常に読み込んでくれました。 phpinfo()で見てみるとinclude_pathもしっかり書き換わっていました。
xxx_dateの構造が分からんの比較できるわけないだろ! 喧嘩うってんのかてめえ!
712 :
nobodyさん :2007/10/31(水) 15:25:02 ID:Xq7d8XJi
>>711 なるほど!
つまり、require_once()は直書きしないといけないのですね。
ありがとうございます。
htaccess php_value include_path ".;C:\xampp\htdocs\Project\test\inc" index.php <? require "conf.php"; # パスから探して読み込み echo $x; ?> けど設定ファイルは相対パスで指定しといて、相対関係は固定したほうがいいと思うよ ほんで conf.php 内にパス用の定数をあれこれつくる
714 :
nobodyさん :2007/10/31(水) 15:38:57 ID:KNyfjI5Y
include($_GET['file'] . '.tpl'); この状況で、NULLバイト後ろにくっつける以外に'.tpl'を無視できる方法ってないかな?'
スキームつけてクエリ化する、とか。
716 :
nobodyさん :2007/10/31(水) 16:07:24 ID:KNyfjI5Y
>>698 週払いでもいいんです。雇ってください〜
php5.3か6ためしてる方ってもういる?
>>717 月払いのところにいかない理由がわからん
すぐやめたいから?
>>687 >>707 質問の日本語の意味が分からないんだけど、
> $lastupdateで取得したそれぞれの更新日と$xxx_dateを比較して最新のものを返す
ってのは
「$xxx_dateより新しい$lastupdateを全部返す」
のか
「$lastupdateの中で1番新しいものを返す」
のか
「$lastupdateの中で1番新しいものが$xxx_dateよりも新しかったら返す」
のか、
どれが正解?
723 :
nobodyさん :2007/10/31(水) 18:26:51 ID:/4czZymM
ログのとり方について質問です。 アクセス集中しそうなアンケートで、csvを追記したいのですが lockファイルのロック→書き込み対象のロック→解除→解除 のよくある二段構えでは不十分でしょうか? 実際一回だけ消えた事はありしまた… SQLなど使わずに、よい保存法はありますか?
すみません。Smarty初心者なんですが、PHPファイルは本に書いてある通り EUC-JPで保存しました。HTMLファイルはShift_JISで保存しました。 そうしたら、アクセスしたら文字化けしたので、HTMLファイルもEUC-JP にしたら治ったんですが、やはりHTMLファイルもEUC-JPでなければならない ということですか?PHPのinternalencodingはEUC-JPとしています。 教えてください。
>>723 なんでSQLとかいうかDBにしないのか謎
>>724 yse
日本語で文字コードの混在は化ける
728 :
687 :2007/10/31(水) 18:58:22 ID:F/XuAcDL
>>708 >>710 >>722 レスありがとうございます。
$xxx_date = getlastmod();です。
>>688 で取得した各ファイルの内もっとも更新時間の早いファイルの更新時間と
$xxx_date とを比較したいのです。
rNote(0.9.7.5)というBlogツールを使用しているのですが
近頃コメントスパムが増えてきたので、KCAPTCHAによる認証を通そうと考えたのですが
PHPはまるでわからないのでお手上げ状態です。
entries/writeback.skin に
<img src="PATH-TO-THIS-SCRIPT?<?php echo session_name()?>=<?php echo session_id()?>">
<input type="text" name="keystring">
を追記し、CAPTCHA画像を呼び出すところまではできたのですが
肝心要の本体側(rnote.php)のどこに何を書き込めばよいのかがどうにもわかりません。
親切な方、お時間のある方、どうかお助けを……
rNote
ttp://rinn.e-site.jp/rnote/ KCAPTCHA
ttp://freshmeat.net/projects/kcaptcha/
>>718 作ったもの(ソースとかドキュメント)提示してもらった方が早くね
>>687 getlastmodとfilemtimeは両方とも
UNIXタイムスタンプなので
そのまま比較すればいいよ
foreach($dirurl as $key =>$value){
$dirurl = $value;
$dir = @opendir($dirurl);
$lastFileMtime = 0;
while($file = readdir($dir)) {
if (is_file($file) == false){
continue;
}
$pdata = explode("." , $dirurl.$file);
if ($lastFileMtime < filemtime("../".$pdata[2].".php")) {
$lastFileMtime = filemtime("../".$pdata[2].".php");
}
}
closedir($dir);
}
$xxx_date = getlastmod();
if ($xxx_date < $lastFileMtime) {
echo 'なんたらかんたら';
}
732 :
nobodyさん :2007/10/31(水) 19:33:40 ID:5PiA8qbK
>>725 やっぱりSQL使わないと駄目ですかねぇ
なるべくhtmlとlogファイルだけで手狭にしたいんですが
まともにロックできないんだからDB使えよ
734 :
687 :2007/10/31(水) 19:44:14 ID:F/XuAcDL
>>731 早速ありがとうございます。
これから仕事なので帰宅したらやってみます。
こういうのがぱっと書けるように早くなりたい(;´д⊂)
何度も書き込み失礼しました。
まあロジックが駄目で壊れるならともかく「消える」だしなあ 負荷テストしたって再現困難だろうな
>>732 もし"DBMSの管理めんどくせ"で避けてるんならSQLite2使ってみたら?標準装備だし
SQLを解釈するISAMって感覚で、素のファイルを扱うより楽だと思うけどね
Sqliteは書き込み重いからむかんだろ
738 :
724 :2007/10/31(水) 20:45:34 ID:YAd2ItnR
遅くなりましたが、
>>726 さんどうもありがとうございました。助かりました。
> Sqliteは書き込み重いからむかんだろ えー。それはうそだろーw ちょっとぐらい調べてからいえよw
740 :
nobodyさん :2007/10/31(水) 21:08:23 ID:5PiA8qbK
>>736 とにもかくにも事故らないためにDBは必要ということですね。
ところで、よくある別にlockファイル用意して二重でロックする場合
どんなときにログが落ちちゃうんでしょう?追記モードにて
>>739 >>737 じゃないけど、ちょっと興味もって使ってみてあまりの速さに驚嘆した。
すげーなこれw
追記でまっさらに消えるってのはあまりないね ハンドルとってからデッドロックのままプロセスアウトとか?
744 :
nobodyさん :2007/10/31(水) 21:28:21 ID:CWnmoTEL
鯖がflockサポートしてるならそれが一番確実だよ ファイルロックに十分とか不十分みたいな程度問題はない
IO途中で落ちるってことは普通のコーディングしてればまずないと思うがなあ。 まあそういう場合でもエラー直前までのデータが保持できるDBのほうが信頼性がある。 ただ別にDB鯖用意しないと負荷対策にはならないからね。 処理自体は遅くなるんだから。
747 :
nobodyさん :2007/10/31(水) 21:57:10 ID:yARVDfIT
Smartyを使うと Warning: Smarty::include(compile/%%75^75A^75A37DFB%%aa.txt.php) [function.Smarty-include]: failed to open stream: No such file or directory in /home1/httpd/viprog/public_html/Smarty/libs/Smarty.class.php on line 1258 というふうに、コンパイルしたスクリプト名が文字化けしてしまいます。 初めてSmartyを使ったのですが、これはデフォなのですか?
DBってロック失敗することないの?
750 :
nobodyさん :2007/10/31(水) 22:01:53 ID:yARVDfIT
>>749 デフォルトのようですね、
ですが、includeできません。
URL直打ちしてみても見ることができません(400Error
>>750 なんで400なんか?
まあディレクトリ構成とパスの設定を見直してみたら、としか
あとSmartyはドキュメントルート外に出したほうがいいよ、念のため
相対パスで指定されてインクルードエラー出てるのに URL直打ちとか意味分からんことありませんか
754 :
nobodyさん :2007/10/31(水) 22:26:47 ID:5PiA8qbK
たとえばこんな感じなのですが こないだログが0kbになってて真っ青に・・・ //ロック開始 $lockfilename = dirname(__FILE__).'/lock'; $lockfp = fopen($lockfilename,'w'); flock($lockfp, LOCK_EX); //更新 $fp = fopen( $pass,$m); stream_set_write_buffer($fp, 0); flock($fp, LOCK_EX); rewind($fp); fwrite($fp,$value); flock($fp, LOCK_UN); fclose($fp); //ロック解除 flock($lockfp, LOCK_UN); fclose($lockfp);
>>754 上三行しかみてないけど、いきなりwで開いてるじゃん
これロックの意味ないよ
真っ白になったのはrewind()のせいか なんか追記にしては妙なコードだ
正規表現についてです。 /^ab[cd]\d{1,2}$/ という正規表現があります。 これを 最初がabcの場合は後に続く数字が1文字、 最初がabdの場合は後に続く数字が2文字 とマッチの条件を変更したいのですが、これは表現を分けるしかないでしょうか? 綺麗に記述出来ればいいのですが、当方では限界でした。 もし方法があるのであれば教えていただきたいです。
>>758 ^ab(c\d{1}|d\d{2})$
こんな感じ?
多分もっとスマートな方法あるかもしれんが
詳しくは正規表現スレへ・・
ファイルのアップロード機能をつけたいのですが、 他からアップロードしたファイルを見られたくありません。 アップロード中のときにどこかからデータを見られたりするのでしょうか? 暗号化してアップロードとか無理ですよね
ついに、 このスレを見ている人はこんなスレも見ています。が、 全部俺がカキコしたスレになった件について
>>754 世の中意味の無いことしてる奴がいるな〜と思っていたらここにもいたか
それ、どこぞのサイトの丸写しか?
>>760 アップロード中の暗号化というかそういうのは
HTTPSでやればいい
アップロードしたファイルを他から見られたく無いってのは
アップロードした時に保存するディレクトリの権限をいじくっておけばいい
>>761 それって専ブラが多いってだけじゃ
765 :
nobodyさん :2007/11/01(木) 01:36:54 ID:nYx+6pbP
数字を2桁に整形したい場合は、皆さんはどんな風にやってますか? 1→01 日付とか時間とかですね。 ところで、日付(具体的には誕生日)を扱うときに、 UNIXタイムを使うと、1970年以前が扱えませんよね? 何かコツはありますか?単純に文字列として保存ですかね?
STRPAD
sprintf
yyyy-mm-dd hh:ii:ss こんな感じで保存してる
>>754 fclose前のUNLOCKは特別な理由がない限り推奨されない。
そんなことしなくてもfcloseすれば勝手にUNLOCKされる。
fclose前にUNLOCKしたら出力がまだフラッシュされてない場合があるので
その状態で他のプロセスにオープンされると中身を消失する。
マニュアルにはそう書いてあるけど、実際そんなOSあるの?
OS関係あるか? fwrite〜fclose間でデータをメモリキャッシュしてるのはPHP側なんだから OSの挙動は全然関係ないぞ。
fwriteでブロック -> unlockなんだからPHPのキャッシュじゃなくて OS側でフラッシュを保証するかどうかじゃないの
配列処理には、ずっとforを使用してきたんですが、 連想配列ならforeach、 通常の配列でも$iとか作成しなくてよくて良さげなのですが、 通常の配列もforeach使う人多いもんでしょうか?
>>773 10回処理するとか
回数が決まってる場合はfor使う
それ以外の場合はforeach使ってる
>>772 OS側の書き込みフラッシュ→UNLOCKは
fcloseでの自動UNLOCK時でしか保障しとらん
>>773 PHPで「通常の配列」と「連想配列」をどこで分けてるのか知りたいw
>>775 そうなの?
システムコールしてんのに終わってない処理が戻ってくるって問題じゃね?
>>777 fwrite()の時点ではデータのサイズにもよりけりだが、まだデータはPHPが確保してる
メモリキャッシュ上にある可能性が高く、その時点ではOSに対して書き込みの
システムコールは発生していない。
その状態でUNLOCKのシステムコールを発行したとこでフラッシュされるわけないじゃん。
UNLOCKする前に明示的にfflush()を実行するかfclose()するかしないと
OSも渡されてないデータなんてフラッシュのしようがない。
この辺りはC言語でもストリーム入出力を使ってる限りは同じ挙動になる。
フラッシュをOSの挙動準拠にしたいならもっと低レベルな命令使わんといかんが
あいにくPHPにはそんな命令は用意されていない。
>>779 システムコールしてないのにfwrite()に処理が返るわけ無いじゃん
>>778 だからfclose(=PHPで出力をフラッシュ)して以降のUNLOCKなら
OSが書き込みを保障できるが、その前の段階でUNLOCKされたら
それはアプリケーション側がフラッシュをしない限りOSの知ったこっちゃないんだよ。
なので、fclose前のUNLOCKでの挙動はあくまでPHPの裁量であってOSは関係ない。
>>780 fwrite()はその場では必ずしもファイル書き込みのシステムコールなんて発行しないぞ。
内部キャッシュに出力→キャッシュが一杯になったらシステムコール発行、という仕様。
内部キャッシュに余裕があるうちはfflush()かfclose()を実行されるまで
システムコール発行を保留する。
書き込みはスケジュールされてるけど、そのタイミングはOSの裁量ってことでしょ常識的に こんなとこで割り込み入るのかね。まあシステムによっちゃ入るんだろうけど
>>783 違うだろ。そういう問題ならUNLOCKした時点で必ず書き込みが行われないといけない。
そうでなく、C言語のストリームI/Oライブラリはパフォーマンス向上のため、
アプリケーション側にキャッシュとして書き込みバッファを持ってるんだよ。
fwrite実行の度に書き込みシステムコールを呼んでたら遅くてかなわん。
そのため、内部バッファのフラッシュ前のUNLOCKでのデータ消失はアプリ側の責任になる。
>>782 なるほど。
ライトバッファ0なのにバッファされるの?
ソースをちゃんと読んでないってオチじゃね? 最近の回答者にやけに多いが。
bufferに書き込んだ段階でfwrite()にtrue返るのか こりゃ新境地だな
>>785 PHPのバッファとはまた別物なんじゃないか?
UNLOCKは不必要な関数でOK?
790 :
nobodyさん :2007/11/01(木) 04:01:53 ID:LtkqkojU
mysql_real_escape_stringは、db接続後でないと、 dbの文字コードが取得できない=正常に動作しないですよね? でもdbの文字コードは、コーディングの時点で分かってることなので、 dbから取得せずとも、 コードを明示してエスケープすればいいのではないかと思うのですが、 それってどうやればいいですか? というか、具体的にこのエスケープってどういう処理してるんでしょうか? 文字コードによってエスケープ処理を変えなくてはいけないということ自体が よく分からないんです
>>789 そのようだ。開いたまんま開放したいときはfflushか
792 :
790 :2007/11/01(木) 04:10:59 ID:LtkqkojU
以下の文字について 先頭にバックスラッシュを付加します。 \x00, \n, \r, \, ', " そして \x1a とmysql_real_escape_stringの説明にあります。 文字コードが何であれ、 これらの文字は結局のところエスケープしなくてはいけないのでは(?_?) 何故文字コードを知る必要があるのか・・・??
結局stream_set_write_bufferの扱いはどうなるんだ?
>>790 コーディング時点で分かってる文字コードとやらがMySQLのデフォルト設定になってるなら
mysql_escape_string()でその設定を使用できる。(ただしローカルMySQLのみ)
そうでなく接続後に文字コードを切り替えてたり、接続先がリモートのMySQLだったりすると
やっぱ接続後にmysql_real_escape_stringするしかないんじゃないかと思う。
ただしリモートの場合、接続後に切り替える文字コードをローカルのMySQLであらかじめ
デフォルト設定しとくことでmysql_escape_stringを狙った文字コードで動作させることができると思う。
文字コードでエスケープに違いが出るのはマルチバイト文字の中に「\」とかの
要エスケープな文字コードが含まれるかどうか。
これが含まれない文字コードであればそれほど問題にならない。
>>788 むしろset_stream...はPHPのバッファを制御する関数じゃなくて、ライブリ側の
ストリームフラグをオフるためのものだろ
>>796 結局単一プロセスからのアウトプットが保証されるだけで、書き込みタイミングは保証されてないじゃん
>>789 floseも省けばかなり開放的な感じだな
fflushとstream_set_write_buffer、 どっちでもいいって言われると迷っちゃうんだけど
fflushの方がいいんじゃない。処理は明示しないとキモイ。
憶測で答えてる人多いね。なんでソース読まないんだろ。
もっと面白い質問キボンヌ
>>800 1ファイルの出力にfwriteを複数回呼ぶような場合はfflushの方がいいんじゃないかな…
最後にまとめて書き出した方が負荷低いだろ。
1回しかfwriteしないならどっちでもいいけど。
806 :
nobodyさん :2007/11/01(木) 08:28:15 ID:nYx+6pbP
807 :
754 :2007/11/01(木) 09:30:12 ID:kJjMi5v7
おはようございます。
モードがwの時の貼り付けてしまいました…
書き込み部分はモードと書き込み先を指定する
ユーザー関数にして使いまわしていました。
ttp://www.res-system.com/item/359 前に中身が消えてしまったのは、そのまま追記ではなくて
配列で中身取得→指定の部分に挿入処理→wで開いて貼り付け保存
でした。これもなんで消えたんだろう…
>>807 "w"で開いてから出力するまでの間にプログラムがアボンしたんじゃないの?
安全を期するならテンポラリファイルに出力してから最後にrenameの方が安全かと。
809 :
nobodyさん :2007/11/01(木) 10:08:24 ID:6Qqtj9Qi
友人の紹介で、ある企業のショッピングカート機能が付いたサイトを phpで構築することになりました。 phpである程度、一通りのものは出来るのですが、企業の、それも金が絡むやつは初めてです。 例えば、バグって金額の表示が違っているとかなるとトラブルになりそうなのですが、 それって、作った私の責任になるんですか??? お小遣い程度の金額で頼まれているのに、もし金額が一桁違って莫大な損害を 私に請求されたら元もこうもないので、どうしような悩みます。 こういうのって、プロの方はどういう風にしているんでしょうか? 教えて下さい。お願いします。
お前・・相手は商売に使うんだぞ。ちゃんと金取ってちゃんとした物作れよ・・。
>>809 すべては契約しだい
そんなことをここで聞くような経験値ならはっきりいってやめとけ
俺だったらお断りしてしまうな
813 :
nobodyさん :2007/11/01(木) 10:26:42 ID:6Qqtj9Qi
>>810-812 アドバイスありがとうございます。
今、バイトでプログラマーの手伝いをやっているのですが、
できれば今回のを制作実績にしてバイトじゃなくて派遣とかでやりたいと思います。
今回のサイトは、自分のスキルでいうと1ヶ月半位で出来る程度のもので、
お小遣いとっても、30万円近くもらえるので、できればやりたいです。
例えば、一切責任は取りません見たいな事を契約しておけばいいということでしょうか???
これで、50万とか100万とか請求されたら払えないです・・・
>>813 そういうのは顧客と話し合って決めるんだよ
ただ金を取っているのに
「一切責任は取りません」なんて無責任なことを言うのなら
契約したくないだろうけど
>>813 規模による
大体検証が1〜2ヶ月 保障を1年くらい
それ以降の保守については再度相談が普通かな?
どうしても請求されるのが怖いなら君がさらに外注にだせばいい
816 :
812 :2007/11/01(木) 10:37:15 ID:???
>>813 >例えば、一切責任は取りません見たいな事を契約しておけばいいということでしょうか???
そんな一方的な契約結んでもらえるかしらー
つーか知り合い伝いの仕事は受けない方が良いと思うぞ〜
無責任契約でもまずったら最悪友達なくすぞ〜
817 :
nobodyさん :2007/11/01(木) 10:42:36 ID:6Qqtj9Qi
>>814 >>816 確かに、無責任ですよね。すみません。
自分では払えないお金になると不安なので、
ついつい無責任なことを言ってしまいました。
>>815 >大体検証が1〜2ヶ月 保障を1年くらい
ありがとうございます!。すごく参考になります。
その人に説明するときに、これが相場ですって言えますね。
で、その保障の1年間に何か発生したときに、こっちが払わなければいけない期間ですけど、
30万円の規模のサイトなら、いくらくらいが相場でしょうか?
818 :
nobodyさん :2007/11/01(木) 10:43:27 ID:6Qqtj9Qi
すみません、間違いました。 ×で、その保障の1年間に何か発生したときに、こっちが払わなければいけない期間ですけど、 ○で、その保障の1年間に何か発生したときに、こっちが払わなければいけない金額ですけど、
保障つーか 保守が1年ぐらいでねーの? まぁ俺なら表示周りは自サイトでやって 金とか商品周りは外部のショッピングサイト使うけど
>>817 > 30万円の規模のサイトなら、いくらくらいが相場でしょうか?
これはピントが外れているように思うけどな。
損害賠償という話になるとまず損失を金額換算して幾らって試算から始まるから
相手方次第かね
あんま関係ないけどジェイコム株誤発注事件では 損害金400億超をほとんど丸々東証に要求してたな あれはワロタ
法人の場合、"社会的信用の失墜"とか名目つけてきそう それよりもその友達の企業内での立場が危うくならないか? 「なんで、あんな奴連れてきたんだ!」とか言われてさ
823 :
nobodyさん :2007/11/01(木) 11:22:11 ID:6Qqtj9Qi
>>820 詳しい仕組みの説明までして頂いてどうも有難うございます。
それは、つまり損害が発生するまで金額が決まらず、
いくら請求するかも相手次第ということでしょうか。
それって、かなりプログラマーにとってはものスゴイプレッシャーですよね。
いくら位までなら、OKみたいな話ならいいんですけど。
自動車保険とかのように保障金額が決まっているとか。
>>821 私がふとお金の話で思い出したのは、昔どこかのメーカー(DELL?)が、
担当者の金額入力ミスで、それを知ったvipperが大量注文して、
メーカーが結局めちゃめちゃ激安金額でパソコンを販売したという話でした。
それは担当者の責任ですけど、もしそれが自分の計算処理のプログラムミス
だったと想像したら、ぞっとします。
人間はミスをするという前提に立てない、 経営者が多いんだよな。 重要な金額入力する前に人を二人以上配置して、 「金額よーし」「金額よーし」「ぽちっ」とやろうとか考えもしない。
商売話はSOHOスレでききゃいいのに
>>824 むしろそれは運営サイドの問題でプログラムには
なんら関係ない、そんなところまで面倒は見る必要はないと
釣られてやるよ
827 :
nobodyさん :2007/11/01(木) 12:52:36 ID:kJjMi5v7
>>808 テンポラリ了解です。
そして新たに詰まったのが
エクセルはUTF-8が開けないんですね…
皆さんは(有)や 旧字などが必要なcsvはどういう処理をなされていますか?
最終的にはSJISのcsvしかダメですよね…
828 :
nobodyさん :2007/11/01(木) 14:30:15 ID:WVV5m+Xj
質問させて下さい BBSなどに投稿した時の文字判定で日本語以外からの文字は受け付けない設定には どのように書けばいいでしょうか?
>>828 質問が丸投げだからヒントだけね。
といってもほぼ答えだけど。
スパム対策だろうけどASCIIのみをはじけばいいよ。
正規表現で判定するといい。
ASCIIの範囲は\x00-\x7f
830 :
nobodyさん :2007/11/01(木) 14:44:24 ID:WVV5m+Xj
>>828 有難うございます!
さっそく組み込んでみます!
('A`)
('A`)
833 :
nobodyさん :2007/11/01(木) 18:30:13 ID:1mW3wcqf
い ろ は のようにタブで区切られた文字列を配列に格納するにはどうすればいいのでしょうか? ↓じゃ無理なようで・・・ print_r (array("'".mb_ereg_replace(' ',"', '",'い ろ は')."'"));
explodeやpreg_splitを知らんということはあるまいな?
むりくりやるなら eval('print_r (array("\'".mb_ereg_replace(\' \',"\', \'",\'い ろ は\')."\'"));');
>>833 $hensu = explode("\t", $str);
838 :
833 :2007/11/01(木) 19:27:06 ID:1mW3wcqf
みんなトンクス。
とりあえず
>>837 さんのやり方でやります。
840 :
nobodyさん :2007/11/01(木) 21:02:26 ID:MsBqEUd7
ユーザーが1〜5個のタグを入力して 人気のタグをランキングにしたいのですが DBに登録するときユーザーがいくつタグを入力するかが 確定されていないので、どうしてもうまくかけません。 ずばっときれいにかける方法ってありますか? アイデアお願いします。
まさかタグの数だけカラムを作ってるんじゃないだろうな
842 :
nobodyさん :2007/11/01(木) 21:09:14 ID:MsBqEUd7
え、5個だから
>>840 つforeach
どの段階で何がどうで困っているのか全然伝わらん。だって書いてねぇし。
質問としては15点。
テーブル設計と、関連のリレーションを明示しないと答えようがない 集計しやすいよう再設計するなり、SQLこねくり回してなんとかなるならDB板で聞けばいい PHPとはあんま関係なさそうだが
845 :
nobodyさん :2007/11/01(木) 21:43:54 ID:MsBqEUd7
複数のカラムにタグを入れると やはり集計作業時に言われた通りSQLが複雑そうなので DB板でききます。 ありがとうございます。
>>845 あそこはドラゴンボールに例えて質問するのが通例だからな
がんばれよ
セルはそのままセルでいいのか?
おっさん自重
PHPがWindowsアプリ開発に適した言語になる日はくるのであろうか・・・。 PHP触ったあとにC++とかJavaとかやってられねー
852 :
nobodyさん :2007/11/02(金) 00:41:19 ID:fEbvkhE+
apacheにphpのエラーが記録されているんですけど、日時が出力されていないんです。 php.iniの設定とかで表示できたりしますか?
>>850 Bamcompileのがアプリっぽくない?
>>850 >タスクトレイに入れると復帰できなかったり
いやあぁぁぁぁぁぁぁ
>PHPがWindowsアプリ開発に適した言語になる日はくるのであろうか・・・。 Web特化というコンセプトで作ってるんだから一生そんな日はこない。 というかそんな機能いらないし、もしWindowsアプリを開発できるようになっても、 >PHP触ったあとにC++とかJavaとかやってられねー こんなこといってるようじゃ無理。 PHPが簡単なのはWeb特化だからであって、PHPでGUIアプリ作るとなると、 別の使い方も覚えないといけなくなる。(ウインドウの作成や配置など) JavaだってWeb用途に限るなら簡単。
PHPの型宣言しなくていいのとか クラスの組みやすさとか、そういうのがいいのよ やっぱりそこは慣れの問題になるのかな・・・ 変数に$のついてないのなんてプログラムじゃないやい つД`)
さすがに型宣言無しでカーネルとかGUI触るのは嫌だw
PHPって型の変更が楽にできるのがいい 関数実行してあらかじめ返す型を決めなくていいのも・・・
型の変更なんてキャストでおk
型無しだな
>>860 ハハハ、一応笑とくよ
ところで PHP で Windowsアプリとかおっしゃるそこの貴方
PHP-GTKには興味ないの?
>>861 おおー!こんなものもあるんだー
PHPでGUIといえばWinBinderしか知らなかったけど
これもこれで良さそう
PHPでWindowsゲームとか作れるようになるのも近いかも試練!
名前しか聞かないよね
864 :
nobodyさん :2007/11/02(金) 01:44:37 ID:N3+siSMB
<div><? echo $aaa; ?></div> <div><? echo $bbb; ?></div> <div><? echo $ccc; ?></div> とするのと $html = <<<_EOD_ <div>$aaa</div> <div>$bbb</div> <div>$ccc</div> _EOD_; とではどちらが処理は早いのでしょ。2〜3行の話ではなくもっと行数が多いとしてですが。 それとヒアドキュメント内で/*====*/とするとそのまま表示されてしまいますが、 ヒアドキュメント内でのコメントはどう書けばいいのでしょうか。
処理速度:変わらない コメント:使えない
BAMCOMPILEでアプリ開発してる俺は変態ですか
>>866 Bamcompileは楽しいと思うよ
PHP+WinBinder+Bamcompileの開発ツールみたいなのができたらいいな
PHP-GTKの参考サイトが全くナスorz
スクリプトの実行させかたわかんね\(^o^)/
868 :
nobodyさん :2007/11/02(金) 01:58:29 ID:N3+siSMB
>>865 やっぱりコメントは無理ですか。
処理速度が変わらないようなのでヒアドキュメントで整理してきます。
レスありがとうございました。
869 :
867 :2007/11/02(金) 01:59:04 ID:???
ごめんできた *.phpwにすればいいのか
>>852 うちのは日付表示されてるんだけどな
debの標準パッケで
871 :
nobodyさん :2007/11/02(金) 02:52:37 ID:vzvDJiqR
$array = array("a"=>"aaa","b"=>"bbb","c"=>"ccc") という配列があったとして、unset("b");とすると、 $array[0]と$array[2]が残りますが、 これを$array[0]、$array[1]と、 インデックスを詰めることは出来ないのでしょうか?
>>871 そういう関数あるかわからんが
関数作ってみればどうかな?
function 関数名は適当に($array, $del_key){
foreach($array as $key=>$value){
$array_tmp = array();
if($key != $del_key){
$array_tmp[$key] = $value;
}
return $array_tmp;
}
みたいな
連想配列のキーを維持しつつインデクスを振りなおすのは無理でしょう 新しい配列を作るしかない ちなみに、何故インデクスの振りなおしが必要なの?
872もひどいが 871もひどい >$array = array("a"=>"aaa","b"=>"bbb","c"=>"ccc") >という配列があったとして、unset("b");とすると、 >$array[0]と$array[2]が残りますが、 残りません。
ゴガギーン
ドッカン
m ドッカン
=====) )) ☆
∧_∧ | | / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( )| |_____ ∧_∧ < おらっ!出てこい
>>871 >>872 !!
「 ⌒ ̄ | | || (´Д` ) \___________
| /  ̄ | |/ 「 \
| | | | || || /\\
| | | | | へ//| | | |
| | | ロ|ロ |/,へ \| | | |
| ∧ | | | |/ \ / ( )
| | | |〈 | | | |
/ / / / | / | 〈| | |
/ / / / | | || | |
/ / / / =-----=-------- | |
$array_tmp = array_values($array);
数字のindexならaray_mergeで振りなおし出来るけど $array['a']を$array[0]にするのは無理
879 :
nobodyさん :2007/11/02(金) 10:40:08 ID:lfmgScK/
フレームワークなどのソースを見てるんですけど、 includeやrequireした形跡がないのに、 同じファイル内には無いクラスをextendsしたり、 インスタンス化してつかったりしてるのですが、 これってどうやるんですか?
そのファイルをincludeするファイルで別のファイルをincludeしてたりするんじゃないでしょうかね。
881 :
879 :2007/11/02(金) 10:52:39 ID:lfmgScK/
>>880 なるほど。そういうカラクリですか。
ちょっとファイル数が多いので探すの大変ですが、
もう少し眺めてみたいと思います。
ドキュメンテーションソフトを使って一覧を作るといいかも
883 :
nobodyさん :2007/11/02(金) 12:01:30 ID:I1nYMQiM
チェックして登録するみたいな感じの処理をしたいのですが、 function check($str) { if ($strに問題がなかったら) { return true; } return false; } function touroku() { if (check($str)) { 登録処理; exit("登録しました"); } else { exit("$strも問題があるので登録できませんでした"); } } 見たいな感じにしようと思ってるのですが、 touroku内でcheckするのはやっぱりおかしいですか? function touroku() { 登録処理; } にして、 if (check()) { touroku(); } とかにしたほうがいいでしょうか? 説明下手なのでわかりにくかったらすみません・・・
check()は登録作業ではないし、手続きの流れが隠蔽されてしまうので たいていの場合では後者のほうがいいと思う とんがった人はcheck()はアノテーションとしてtohroku()に後付したりするのかな
885 :
nobodyさん :2007/11/02(金) 13:43:09 ID:58QPbX5W
887 :
nobodyさん :2007/11/02(金) 14:00:29 ID:58QPbX5W
>>886 >>714 以外の方法は無しってことでいいですかね?
改修中のソースにこういう処理してる部分があるのですが、セキュリティ的にどうなの?って思ったので。
できない。ということを証明するのは難しい。
>>887 すでに指摘されてることに近いけどURLを開かれないようにね
890 :
nobodyさん :2007/11/02(金) 15:29:12 ID:ehHCPDNI
教えてください。
892 :
nobodyさん :2007/11/02(金) 15:40:12 ID:ehHCPDNI
phpの特殊文字処理について教えてください。 入力フォームから値を受け取り確認画面へわたすという処理です。 ソースは 入力フォーム <INPUT class="cell_width01" type="text" onkeydown="if(event.keyCode==13){event.returnValue = false;}" name="mdtt" value="<?php echo htmlentities(stripslashes($info['mdtt'])); ?>"> 入力の空チェック function _notInputed($str) { $str = str_replace(" ", " ", $str); $str = trim($str); if(0 == strlen($str)) return true; return false; } <test>を入力すると空でfalseが返ってきてしまいます。 htmlentitiesやstr_replaceを使って試してみるのですが、 うまくいきません。
> if(0 == strlen($str)) return true; そりゃそうだろ
894 :
nobodyさん :2007/11/02(金) 15:47:20 ID:ehHCPDNI
すみません。かえってくるのはtrueでした。 質問の趣旨は、<>を入力すると全部空になってしまうので、 この空チェックでfalseを返すようにしたいんです。
trueが返るわけないじゃん
896 :
nobodyさん :2007/11/02(金) 15:52:45 ID:ehHCPDNI
if(MCMediaInput::_notInputed($mdtt)) $myerr->addErr("タイトル(必須項目)を入力してください。", debug_backtrace()); ここで、呼び出して空の場合はこのエラーメッセージを排出するようにしていますが、 エラーとなるのです。
コード上は問題ないようだ。 入力がPHPや当該の関数にちゃんと渡ってるかどうかデバックしてみたら。
898 :
nobodyさん :2007/11/02(金) 16:03:20 ID:ehHCPDNI
そうですか、ありがとうございました。 デバッグも何度もしているのですが、空なんです。
いつ空になるのか追跡するんだ。
901 :
nobodyさん :2007/11/02(金) 16:26:49 ID:ehHCPDNI
文字チェックする前から空になっているようなので、受取のhtml画面で 処理が必要なのでしょうか?
902 :
nobodyさん :2007/11/02(金) 16:27:49 ID:ehHCPDNI
受取・・・入力フォームのことです。
903 :
nobodyさん :2007/11/02(金) 16:55:37 ID:VB7V02Tk
ぼくのおかしくなった人生を消してくれるコードをどなたか書いていただけませんか?
>>901 入力したのにPHPに値が渡らないということ?
$_POSTには入ってるのかな?
>>903 お前にデストラクタはサポートされてないようだ
906 :
nobodyさん :2007/11/02(金) 17:32:33 ID:ehHCPDNI
$_POSTにも値が入ってないようです。 $_POSTで受け取る処理の中でサニタイズする関数を呼び出して いるのですが空でした。 入力フォームのINPUTの中でonkeydown="if(event.keyCode==13){event.returnValue = false;}" という部分があるのですが、ここで処理をしているかもしれませんので 調べてみます。
>>906 とりあえずあやしい場所1箇所ずつに
print_r($_POST);
しとけ
おまえがphp4の上で生きてるなら $this = new DNA();
909 :
nobodyさん :2007/11/02(金) 17:57:16 ID:ehHCPDNI
$this->obj($input); ちゃんとtrueを返せるようにがんばります。 ありがとうございます。
神様おしえてください 3,000のような数字のカンマを抜いて3000にするにはどうすればいいですか?
$hoge = '3,000'; echo str_replace(',', '', $hoge);
>>911 はぇえええええええええええええええええええええええ
神様ありがとう!!!!!!!!!
スレタイどおり
914 :
nobodyさん :2007/11/03(土) 01:12:45 ID:Mo1PpAH9
すいません、ローカルにアパッチとPHPをインストールするときに これはいれとけってものがありましたら教えてください。 pearとmysqlは入れました。zendoptiomizerは検討中です。
使わない/使えない/使う気ないのに入れる必要は100%ねぇよ。
必要になったら入れなさいw
まずdebianを最小構成でインストールするんだ。話はそれからだ
ぶっちゃけマジ
Orz..
馬鹿野郎! いまどきOpenBSDだろ常識的に考えて・・・
スレチ
924 :
nobodyさん :2007/11/03(土) 02:09:11 ID:Mo1PpAH9
os上にサーバーソフトだけ入れたいんですが、 そういうプログラムで自作OS作ってるひといますか?
What?
OSなんざAjaxで作ってください
この振り幅はすばらしい 脳がリフレッシュされる
929 :
nobodyさん :2007/11/03(土) 03:54:37 ID:WzuvDxLI
バッチで次のようなプログラムfoo.phpを作り、 #!/usr/local/bin/php <?php $p = '/root/log'; $i = 0; while (true) { file_put_contents($p, "OK"); print $i++.":".file_get_contents($p)."\n"; } # ./foo.phpを2つのコンソールから実行すると、片方が「Bus error」として落ちます。必ずです。 fopen、fwrite、fcloseを使った場合は起きないんですが、これって何なんでしょう? マニュアル見た限りでは、fopen〜fcloseと変わらないとあるんですが。 LOCK_EXオプションを付けても変わりませんでした。
930 :
nobodyさん :2007/11/03(土) 03:56:04 ID:/D2HS3QM
profile.php?user=yamada というようなファイル名+パラメータのurlを、 profile/yamada/ とする(変換する?)方法ってあるんでしょうか? ブラウザのURLバー部分に擬似的にディレクトリ構造のように見せてるのか、 それともwebサーバ上に実際に物理的にディレクトリを作ってるのか わからないですが… 訳のわからない質問かもしれませんが、お願いします centOS + apache2 + php5 です
>930 mod_rewrite
君たち結婚したほうがいい
IDが無いから一人の可能性もある
>>935 ひとりでもなんでもいいでしょそんなん気にするところか?
937 :
nobodyさん :2007/11/03(土) 08:32:19 ID:Mo1PpAH9
ここのひとたちはLFSもしらなそうですね
Linux From Scratchですか? あれですよね、OSを自作自演するとかいう…
必要最小限のものしかいらないならOpenBSDでいいじゃねえか
>>941 検索せんでも運動図ドベッタリな人間でなけりゃ知ってるだろ
しらないやつもなかにはいるよ。おまえの価値観でしゃべるな
ググッきたん (´Д`;)ハアハア
ググッきたんテラ萌えすwww
ID:Mo1PpAH9の言う自作OSってばkernelやbootstrapとか全て自前ってこと?意味わかんねえや
947 :
nobodyさん :2007/11/03(土) 11:32:31 ID:Mo1PpAH9
ネタ振った奴が定義を明確にするのがスジってもんだろ
スジでごまかさなくていいよ
950 :
nobodyさん :2007/11/03(土) 13:37:13 ID:GRWhmm0G
<br><br><br> <br>の連続をひとつの<br>にする方法頼みます
952 :
nobodyさん :2007/11/03(土) 13:44:12 ID:GRWhmm0G
>>951 <br>の連続数は不定でお願いします。
preg_replaceの使い方がわかりません
関数教えてもらったら後はマニュアルで調べろよ
そんなにけちけちせずに教えてくれてもいいと思います
メール欄で会話してるつもりなのか?キモイよ
キモい
ほんとキモイな
キモい( )笑
きもいというより暗い・・・
いまさらメール欄に気づいただけだろ
「キモい」レスの自演もへたくそだなw
さて俺様のレスはどれでしょう
ぜんぶ俺の自演に決まってるだろw
諸悪の根源は954
諸悪の根源(笑)
流れ的にwつけてるやつが954だな 誰もがキモいと思ってるんだよ メール欄で勝ち誇ったように何言ってるんだコイツと
俺様は俺様であるけれど俺様以外にも俺様は確実に存在する ってか誰だよ俺様を騙っているのは
>>970 お前は何でそこまで必死なの?
どのレスが誰だろうがどうでもいいはずなのに
きっと955がお前だなwww
954がこのスレを壊した。責任取って腹を切るべき。
974 :
nobodyさん :2007/11/03(土) 14:54:46 ID:GRWhmm0G
やはり無理だったか・・・
>>973 おまえ2ちゃんは初めてか?
茶でも飲んでおちつけよ
煽ったら負けかなと思ってる
いや煽らなければ負けだろ
煽りまくってこそ、2ちゃんねる
>>973 みたいな新参は半年ROMるべき
そりゃそうだ
985 :
nobodyさん :2007/11/03(土) 15:05:33 ID:Y6Z6X6pn
セキュリティ関連がめっちゃ不安やねん。 みんなが注意してるところとか教えてくれ! もうオナポ
ここといい、フレームワークスレといい、 ばか、ばっかだな
もっと市ねカスみたいな罵倒がないとやるきがでない
>>985 伝聞でセキュリティを何とかしようとしてる時点で終わってるよ。
市ねカス。
2chの解析結果 2chの90%は バカで出来ています 2chの8%は 基地外寸止めで出来ています 2chの2%は 鬼畜で出来ています
注意っつうと「左舷!弾幕薄いよ!なにやってんの!」とか # あぁ…ブライトさん、貴方の声は永久に聴けないんですね
992 :
nobodyさん :2007/11/03(土) 15:31:37 ID:Y6Z6X6pn
PHPてやればやるほど不安になる 不思議な言語でかなえてく〜れーる 静香ちゃんのマンコなめたいなぁ はーい!マンコリーム
993 :
nobodyさん :2007/11/03(土) 15:31:40 ID:GRWhmm0G
2chでは一度も教えてもらったことがない。 さらば
951と953で2度も教えてもらってんじゃん。何を言ってるんだお前は。
996 :
950 :2007/11/03(土) 15:50:39 ID:???
大漁キタコレwwwwww
冗談だろうかネタだろうが、人の誠意を踏みにじる奴は許せない。 このスレに沸いてる馬鹿がこの先苦しみ続けますように。
998 :
950 :2007/11/03(土) 15:54:04 ID:???
お前は誠意大将軍かwww
999フィーバー
1000ならスレに平和が訪れる
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。