【PHP】下らねぇ質問はここに書き込みやがれ 59
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/11/16(金) 18:09:05ID:kurqBmt1PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 58
http://pc11.2ch.net/test/read.cgi/php/1194084457/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0677nobodyさん
2007/11/27(火) 19:14:21ID:???これがSEってやつか?
0678nobodyさん
2007/11/27(火) 19:41:00ID:???まんまと盗もうとしてるバカが多いスレはここですか?
0679nobodyさん
2007/11/27(火) 19:41:59ID:???0680nobodyさん
2007/11/27(火) 19:48:36ID:???0681nobodyさん
2007/11/27(火) 19:53:22ID:???xslは見てません。htmlだけ見させてもらいましたw
インターフェイスは、結局はPHPで動的に吐かせることになるわけだし、あえて突っ込む必要も無いのだが、
マスタ表示テーブルはページングのためのリンクが必須。
システム面に関しては、従業員管理に携帯電話固有番号があるあたり、モバイル意識してるとは思うが、
モバイルの簡易ページが後々必要になりますな。
催促のメールは、ちょっとやりすぎ感が否めない感じ。でも悪くは無い。
シフト入力は1週間単位では少ない気がする。俺なら2週間単位。
ありきたりすぎて全体的に見ても、そんなに冷やかしどころは無いよ。
メシ前のいい暇つぶしでした。以上。
0682デリヘル店長
2007/11/27(火) 20:06:07ID:???ありがとうございました。早速外注のプログラマに当店用にモデレートしてもらいます。
今夜は旨い酒が飲めそうです ^^
0683nobodyさん
2007/11/27(火) 20:06:16ID:???0684nobodyさん
2007/11/27(火) 20:08:05ID:???0685nobodyさん
2007/11/27(火) 20:08:40ID:???0686nobodyさん
2007/11/27(火) 20:19:00ID:???ありがとうございました
プログラミングってやっぱ難しいんですねwikipedia読んだだけでもさっぱりでした
0687ソープ店長
2007/11/27(火) 20:23:56ID:???0688イアン・ソープ
2007/11/27(火) 20:25:39ID:???0689デリ店員
2007/11/27(火) 20:26:32ID:???0690nobodyさん
2007/11/27(火) 20:34:43ID:???0691nobodyさん
2007/11/27(火) 20:38:40ID:???0692nobodyさん
2007/11/27(火) 20:40:49ID:???で、得られた結果をそのままprint_rすると、きちんと表示されるのですが、
その中から「〜」を消したい場合、どうすればいいですか?
print_rで表示されたソースを見ると、「〜」の部分が?となっています。
$tes1 = str_replace("〜","",$tes1);
としてもなりません。
0693nobodyさん
2007/11/27(火) 20:44:20ID:???0694692
2007/11/27(火) 21:04:03ID:???マルチバイトでしたね。ありがとうございます。
ところでmb_というのはmb_replaceとか、mb_str_replaceの事ですか?
マニュアルにはなくて…
また、こういった記号がいくつかあるのですが、どう対応するのが一般的でしょうか?
最終的には$tes1から条件に従って文字列(複数)を抜き出し
if($tes1=="?となってしまう記号を含んだ文字列"){
としたいのです。
0695692
2007/11/27(火) 21:25:20ID:???urlencodeして比較すると上手くいきます。
どういった理由でソースにこういった?表記がなされるのでしょうか?
エンティティかと勝手に思ってたんですが、デコードしてもならないし…
0696692
2007/11/27(火) 21:48:03ID:???0697692
2007/11/27(火) 21:55:32ID:hIC2+TtKごめんなさい。IDだしてませんでしたね。
ところで、自分の質問の仕方ですが、何か悪かったですか?
0698nobodyさん
2007/11/27(火) 22:01:41ID:???/日本語/hoge → /%93%fa%96%7b%8c%ea%0d%0a/hoge
/hoge/hoge/日本語 → /hoge/hoge/%93%fa%96%7b%8c%ea%0d%0a
みたいに
日本語部分だけにURLエンコードをかけたいのですが、
どんな方法があるでしょうか?
0699nobodyさん
2007/11/27(火) 22:04:34ID:???0702nobodyさん
2007/11/28(水) 06:09:31ID:pNrSaAxOfunction toString() {
return $this->str;
}
function __toString() {
return $this->str;
}
これを
function toString() or __toString() {
}
みたいなかんじで・・・
普通同じ動作をするメソッドが2つ以上あるっていうのはおかしいでしょうか?
0703nobodyさん
2007/11/28(水) 06:11:51ID:???0704nobodyさん
2007/11/28(水) 06:12:34ID:???0705nobodyさん
2007/11/28(水) 06:29:31ID:pNrSaAxOprint(new Integer(500));
こんな感じに呼び出されますが、
toString()に書いた場合、
$object = new Integer(500);
print($object->toString);
こんな感じで呼び出します。
どっちがいいのでしょうか?・
0706nobodyさん
2007/11/28(水) 06:39:28ID:pNrSaAxO>こんな感じに呼び出されますが、
ではなく、こんな感じでも呼び出すことができますがに訂正。
toString()に書いた場合、
$object = new Integer(500);
print($object->toString());
という風に呼び出し、
マジックメソッドである__toString()に書いた場合、
上記の方法以外にも
インスタンス化したときにprint(echo)すれば呼び出すことができますが、
print(new Integer(500));
どちらがよいのでしょう?
見てもらえば想像できると思いますが、IntをStringとして返すメソッドです。
0707nobodyさん
2007/11/28(水) 10:14:44ID:???0708nobodyさん
2007/11/28(水) 12:04:23ID:jXo0ZF630709nobodyさん
2007/11/28(水) 12:11:24ID:???0710IT土方 ◆5m1CB.BcLA
2007/11/28(水) 12:45:57ID:???>>675
これ設計ツール(苦笑) まだコードは一行も書いてない。
でもやっぱPHPになると思うよ。このくらいならちょうどいいでしょ?
>>677
ただのIT土方だ(笑)
>>678
商売なんかするか、この程度のことで(笑)
>>681
コメント感謝。
やっぱページングはいるか。まぁこの程度のツールで20人も30人も管理しないとは思うが。
簡易ページは……作ってはいるんだけどね。auだと全角空白がズレるのさ。等幅ぢゃないのかね。
入力単位を一週間にしたのは直感優先。
やっぱりカレンダーから入力するならああだろうと思ったんだけど、他に何かイイ方法ある?
「ありきたりすぎて」は誉め言葉と受け取っておこう。狙い通りだ(笑)
>>682
>>687-689
やれるモンならやってみろ(笑)
0712nobodyさん
2007/11/28(水) 13:34:09ID:???class B extends A
だった場合、Aのメソッド内でホントはBですって知りたいんだけど。
やりかたわからんので、BのコンストラクタからAのコンストラクタ呼ぶときに
__CLASS__を渡してAのメンバに保存してるのだが。
0713nobodyさん
2007/11/28(水) 13:46:12ID:???やり直し。
0714nobodyさん
2007/11/28(水) 14:09:27ID:???基になるメソッドを決めて
他のメソッドから呼び出すようにするのがいい。
toString を明示的に呼び出すか __toString を暗黙的に呼び出すかは
自分らで決めるコーディング規約次第だな。
>>712
get_class($this);
0715712
2007/11/28(水) 14:12:16ID:???AにcopyFromAssoc($param)ってメソッドがあって、
連想配列$paramの内容に従ってメンバの値を埋めることをしたい。
JavaのBeanUtils::copyProperties()みたいなこと。
なのでAのcopyFromAssocで具象クラスがわかれば、
ReflectionClassとinvoke()駆使できるんだが。
0717nobodyさん
2007/11/28(水) 14:13:46ID:1+zqVeOG/testphp/mkdir.php 中に
<?php mkdir ("testdir", 0700); ?>
って書いて実行したんだけどうまくいきません イメージでは/testphp/testdir/ っていう
ディレクトリが出来るつもりだったのですが、、 どこがまずいでしょう?
環境はphp5 apache2 です
0718nobodyさん
2007/11/28(水) 14:15:27ID:???0719nobodyさん
2007/11/28(水) 14:27:43ID:1+zqVeOGありがとう 以下のように試してみましたが…
<?php
$thisPath = realpath('./');
$mk = mkdir($thisPath."testDir", 0700);
mkdir($thisPath."testDir", 0700);
echo "ディレクトリできたかな? > ".$mk;
?>
反応ないです、出来てません 何でかなぁ
0720nobodyさん
2007/11/28(水) 14:31:38ID:???0721717
2007/11/28(水) 14:33:15ID:1+zqVeOGごめんなさい、セーフモードってなんですか?
osはwindowsXPです
0722nobodyさん
2007/11/28(水) 14:37:54ID:???phpinfoでsafe_modeがonか確認してみ
もしセーフモードかかってんならmkdirは使えない
セーフモードをきるかCGIとして動作させるかで使えるようになるが
0723717
2007/11/28(水) 14:45:00ID:1+zqVeOG本当にありがとうございます (windowsのセーフモードかと思って調べてました)
しかし、phpinfoの結果ではsafe_modeオフになってます
safe_mode - Off - Off
safe_mode_exec_di - no value - no value
safe_mode_gid - Off - Off
safe_mode_include_dir - no value - no value
根本的に>>719のコーディングに問題があるんでしょうか
0725717
2007/11/28(水) 15:33:34ID:1+zqVeOG返事遅れてすみません
書き込み可能かどうかはわかりません。どうしたら確認できるんでしょうか?
自分のマシンの中で動かしてるサーバなら大丈夫って問題じゃないのですね
0726nobodyさん
2007/11/28(水) 16:00:10ID:???0727nobodyさん
2007/11/28(水) 16:04:01ID:???ためしに、適当なとこにフォルダ作って、プロパティのセキュリティで
Everyone が書き込みできる許可があるか確認して
そこをフルパス指定してみては?
0728nobodyさん
2007/11/28(水) 16:19:21ID:???異常が発生した時に、エラーの呼び出し元のクラス名を知る方法はないでしょうか?
あるクラスのあるメソッドを1000箇所を超える箇所から呼び出されているのですが、
そのメソッドで不具合が発生した際に、どこから呼び出されているか分からずに苦労しています。
宜しくお願いします。
0729nobodyさん
2007/11/28(水) 16:20:43ID:KISMRzgZ0730717
2007/11/28(水) 16:27:30ID:1+zqVeOGwindowsのセーフモードかなぁと思って、 msconfigでBOOT.INIを見てみたら、
セーフモードにチェックははいってませんでした。(確認の仕方が間違ってるかもしれないですが)
あと、rmdirを試してみたら、これもうまくいきません
…ですが、今マシン何度か再起動してみたら、さっき出来てなかったディレクトリが
出来てました。さっきは何度も最新の状態に更新しても出来てなかったのに
それに今別名のディレクトリを新しく作ったら、今度はすぐに出来ました。
何も設定変えてないんですが。今度はうまくいった原因が不明です
一番ツマランオチになってしまってすみません いろいろ勉強になりました 皆さんありがとう
0731nobodyさん
2007/11/28(水) 16:36:13ID:ECuSXzPA<html>
<head>
</head>
<body>
<?php
exec('/bin/cp /var/www/html/aaa.txt /var/www/html/bbb.txt');
?>
</body>
</html>
なぜかbbb.txtが作成されません。
よろしくお願いします。
0732nobodyさん
2007/11/28(水) 16:42:15ID:???0734nobodyさん
2007/11/28(水) 16:57:18ID:???0735731
2007/11/28(水) 16:59:06ID:jgnr6sNpcopy関数使用すれば作成できました。続けて質問で申し訳ないが、
spamassassin(メールフィルタリングソフト)を起動させるphpの作成も行っていて、
端末で/etc/rc.d/init.d/spamassassin startと打てば起動するので、
<html>
<head>
</head>
<body>
<?php
exec('/etc/rc.d/init.d/spamassassin start');
?>
</body>
</html>
と作成したのですが、起動できませんでした。 よろしくお願いします。
0736731
2007/11/28(水) 17:16:10ID:jgnr6sNp0738nobodyさん
2007/11/28(水) 17:29:26ID:???spamassassin のオーナーとパーミッションは?
あとセーフモードとか
0739731
2007/11/28(水) 17:53:55ID:ECuSXzPAspamassassinのオーナーはrootでした。
safemodeはoffでした。
sudoを使えばいいのかなとは素人ながら思いますが・・・。
よろしくお願いします。
0740nobodyさん
2007/11/28(水) 18:47:34ID:???実行ユーザーがapacheとして、visudoで
apache ALL=NOPASSWD: /etc/rc.d/init.d/spamassassin start
とかいれて、
exec('/usr/bin/sudo /etc/rc.d/init.d/spamassassin start');
とかか?
まあいろいろやってみて
0741IT土方 ◆5m1CB.BcLA
2007/11/28(水) 22:51:48ID:???だね。流石にもうスレ違いだろう。
続きコメントくれるならスレ立てるけど?
>>672
>>681
0742nobodyさん
2007/11/29(木) 00:24:05ID:QqrQD8Do03<>さしすせそ
01<>あいうえお
---------------------
↑と書かれているファイルを「file関数」で開いてソートしてまたファイルに書き直す、
といった処理をしたいのですが、どうしても挙動がおかしくなってしまいます・・・
理想としては↓
---------------------
01<>あいうえお
02<>かきくけこ
03<>さしすせそ
---------------------
と、いう風にファイルに書き直されていたらいいのですが、なぜか↓のようになってしまう時があります。
---------------------
01<>あいうえお
02<>かきくけこ03<>さしすせそ
---------------------
$sort_ary = file("data.cgi");
sort($sort_ary);
$file=fopen("data.cgi","w");
foreach($sort_ary as $data){
fputs($file,$data);
}
fclose($file);
そのソースの一部なのですが、何か突っ込みどころがあったらお願いします。
0744nobodyさん
2007/11/29(木) 00:36:27ID:???02<>かきくけこ03<>さしすせそ
みたいになる行の、この例で言うと02<>かきくけこ ってさ、
ファイルの一番最後に書かれてる行だったりしない?
そしたら改行がなくてそうなっちゃう場合はおおいに考えられると思うんだが。
0745nobodyさん
2007/11/29(木) 00:40:09ID:NeePXSbk作り方を教えてください
0749nobodyさん
2007/11/29(木) 00:54:07ID:???元々デーモンじゃないやつをデーモンとして動作させるのが
inetdの仕事みたいですから。
inetd.confに必要な記述をして試してみたらどうでしょう。
http://x68000.q-e-d.net/~68user/net/inetd-2.html
ここらへんが参考になると思います。
0752nobodyさん
2007/11/29(木) 01:21:13ID:???例えば
1,1,1,1,1,1,2,2,2,2,3
を 1,2,3 のように整形したいのですが。
0753nobodyさん
2007/11/29(木) 01:23:11ID:5Kv1f9efまた、対策はありますか?
0755nobodyさん
2007/11/29(木) 01:31:21ID:???ごめんなさい、ちょっとよく分かりません…
<body>
<?php
if($hyouzi == 1){
include_once(test.php);
echo "$data";
}
?>
</body>
test.phpは最終的に$dataには<table>データが入るのですが、実際に表示されたソースをみると
?
<table>ほにゃらら</table>
となって、ブラウザ上では<table>ほにゃらら</table>を直接書いたときに比べ1行分の隙間があります。
0757nobodyさん
2007/11/29(木) 01:40:23ID:???$sort_ary = array_map('trim', file("data.cgi"));
sort($sort_ary);
if($file=fopen("data.cgi","w")) {
fputs($file, implode("\n", $sort_ary));
fclose($file);
}
0758nobodyさん
2007/11/29(木) 01:45:03ID:???echo implode(",", array_unique(explode(",", "1,1,1,1,1,1,2,2,2,2,3")));
0759nobodyさん
2007/11/29(木) 01:47:10ID:???<table>ほにゃらら</table>
「これ」が出てるんなら、エスパーするとUTF-8のBOM。
BOMなしで保存するとでなくなる。
BOMだったら、ブラウザによって表示されたりされなかったりする。
0760nobodyさん
2007/11/29(木) 01:49:44ID:???0762nobodyさん
2007/11/29(木) 01:54:24ID:QqrQD8Do本当、ありがとうございます。
助かりました・・・
0764nobodyさん
2007/11/29(木) 02:03:07ID:???レベル ひっくw
0767nobodyさん
2007/11/29(木) 02:12:21ID:???妄想乙
0768nobodyさん
2007/11/29(木) 02:15:44ID:???ここでやるのはどう?
依頼されたツールを誰かが作るスレ
http://pc11.2ch.net/test/read.cgi/php/1078997682/
0769nobodyさん
2007/11/29(木) 02:25:49ID:???0770nobodyさん
2007/11/29(木) 03:02:49ID:???の一番最後の文字列をピックアップしたいのですが、どうしたらいいでしょうか?
arrayならarray_pop($fp)でうまくいくとおもいますが。。
0771nobodyさん
2007/11/29(木) 03:09:59ID:???http://php.net/fopen
0773755
2007/11/29(木) 04:19:37ID:5Kv1f9efバグかどうかは分かりませんが、win98+flash9なのでfoxが使えず、あまり検証できません。
ところで、それはIE6全てで発生するバグと言う意味なのか、それとも自分のIE6のみで起こるのか?という意味なのでしょうか?
>>759
そうです。ブラウザの表示では「?」はありませんが、ソースを見るとそうなってます。
>>761
あの…えと…どなたでしょうか?汗
という訳で再度ID表示。意識失ってましたので、明日BOMとやらを調べてみます!
0775nobodyさん
2007/11/29(木) 04:40:09ID:???ありがとうございました。参考になりました。
ただ、array_uniqueだと重複文字列が全部整理されてしまいますが、
1,1,1,1,1,1,2,2,2,2,3,1,1,1,1,1,1,2,2,2,2,3,1,1,1,1,1,1,2,2,2,2,3
だと 1,2,3に整理されると思うのですが、
これを 1,2,3,1,2,3,1,2,3という風に横同士で並んでるのだけ整理したいのですが、
どうしたものかと悩んでいます。
■ このスレッドは過去ログ倉庫に格納されています