【PHP】下らねぇ質問はここに書き込みやがれ 62
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/01/10(木) 18:09:19ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1198002831/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0611nobodyさん
2008/01/22(火) 01:15:36ID:m0vD4BDSレスありがとうございます。
可能ということですので、頑張って勉強してみます。
>>609
負けてますんで、勘弁して下さい。(ノ_-。)
0612nobodyさん
2008/01/22(火) 01:18:05ID:m0vD4BDSヒントありがとうございます。
良い情報頂きました。
0613nobodyさん
2008/01/22(火) 01:32:39ID:???お金がなさすぎて困ってます!!!!
0614nobodyさん
2008/01/22(火) 02:18:59ID:???この仕事してるかヒッキー以外無理と思う。
0615nobodyさん
2008/01/22(火) 02:20:23ID:???0616nobodyさん
2008/01/22(火) 07:42:20ID:vHhiKcdC例えば
ID,属性1,属性2,属性3,名前
というスキーマがあり,それぞれ属性に数字で情報が格納されるとします。
この属性の意味を日本語のラベルを付けて表示するのは,PHP側で出力時に変換するのが一般的なんでしょうか?
それともラベルテーブルを別に作って結合させるのが良いでしょうか.
端的で申し訳ないですが,経験者の方がいましたらアドバイスお願いします.
0617nobodyさん
2008/01/22(火) 07:51:52ID:???SQLを実行した結果を受け取る時点で文字列にしておくのが一般的。
氏名:ID,属性1,属性2,属性3,名前
属性:ID,属性名
とすると、以下のような文を実行することになる。(長くなりすぎるため
一部省略している)
SELECT 氏名.ID, 氏名.属性1, 属性.属性名
FROM 属性 INNER JOIN 氏名 ON 属性.ID = 氏名.属性1;
0618nobodyさん
2008/01/22(火) 09:13:31ID:???>ディレクトリから次のファイルのファイル名を返します。 ファイル名はファイルシステム上に格納されている順番で返されます。
これをなんとか格納した順で返したいところ
0619nobodyさん
2008/01/22(火) 09:23:35ID:???0620nobodyさん
2008/01/22(火) 09:38:38ID:???0622nobodyさん
2008/01/22(火) 10:01:54ID:???0623nobodyさん
2008/01/22(火) 10:02:27ID:???個人的には「楽で早い」より「管理がし易い」のほうがいいと思うが・・・。
まぁ、クラス化しちゃえばどうでもいっか
0624nobodyさん
2008/01/22(火) 10:32:21ID:???ソースコードの中に実データを保管するのは気持ち悪くね?
0625nobodyさん
2008/01/22(火) 10:37:54ID:2lDbj7KP「http://example.com/tag_ホゲホゲ.html」
これを開くと
「http://example.com/tag_%A5%B3%A5%F3%A5%D3%A5%CB%A5%A8%A5%F3%A5%B9%A5%B9%A5%C8%A5%A2.html」
みたいにキーワード部分がURLエンコードされますが、
これはブラウザ側で変換しているのでしょうか?
それとも、サーバーからのリクエストでしょうか・・・。
こういう形式のURLを開くととても時間がかかるので気になりました
0626nobodyさん
2008/01/22(火) 10:39:25ID:???JAVAもRubyも出来ないようなWEBプログラマーは死ぬの?
0627nobodyさん
2008/01/22(火) 10:43:19ID:eDYfSsSA道具にこだわってる君が死ぬことだけは確実。
肝心なことは言語じゃない、何を作るかなんだな。
0628nobodyさん
2008/01/22(火) 10:52:46ID:???CSVファイルで持てばいい。
include一回すればおしまい。
DB使ってる奴って何でもかんでもテーブルで持ちたがるだよな。
SQL発行が如何に負荷が高い処理かよく考えてほしい。
0631nobodyさん
2008/01/22(火) 11:03:04ID:2lDbj7KPごめ、ただ鯖が重たかっただけだorz
0633nobodyさん
2008/01/22(火) 15:32:00ID:Oa0QX3V3$str = '20070122';
if(preg_match("/^([0-9]{4})([0-9]{2})([0-9]{2})$/",$str,$match)){
$str = $match['1'] . '-' . $match['2'] . '-' . $match['3'];
}
print $str; //2007-01-22
とやる以外にスマートな方法はありますでしょうか?
文字列 $str はDBなどに入っているものでも、date()等で取得したものではなく、単純な文字列データです(CSVに格納されているなど)。
0635nobodyさん
2008/01/22(火) 15:40:39ID:???>>624
CSVファイルで持てばいい。
include一回すればおしまい。
DB使ってる奴って何でもかんでもテーブルで持ちたがるだよな。
SQL発行が如何に負荷が高い処理かよく考えてほしい。
0636nobodyさん
2008/01/22(火) 15:42:09ID:???0638nobodyさん
2008/01/22(火) 15:55:17ID:???0640nobodyさん
2008/01/22(火) 16:03:34ID:???0641nobodyさん
2008/01/22(火) 16:07:45ID:???0643634
2008/01/22(火) 16:10:41ID:???strtotimeの範囲って19700101〜でいいんだよな?
でも、それ以前でも自動的に取得できなかったかな・・・?
処理はだいぶ遅くなるけど
0644nobodyさん
2008/01/22(火) 17:36:03ID:omtXdBd7質問ですが、下記のようなプログラム(ファイル名 sample6.php)で、ボタンを押しても次の画面で入力した数字が表示されません。
なぜでしょうか?
<?
header("Content-type:text/html; charset=euc-jp");
?>
<html>
<head>
<title>サンプル</title>
</head>
<body>
<?
print($abc);
if($birth == "1")
{
print("正解");
}
else{
print ("数字入力してください\n");
}
?>
<form method="POST" action="sample6.php">
1入れて:<input type="text" name="abc"><br>
<input type="submit" value="go">
</form>
</body>
</html>
0645nobodyさん
2008/01/22(火) 17:48:34ID:???書いてある意味教えてください
|= これと
0x0001 これと
<< これの意味が分かりません
教えてくださいえらい人
0646nobodyさん
2008/01/22(火) 17:51:06ID:???|= << これとこれ
0x0001これは?
0648644
2008/01/22(火) 18:07:37ID:omtXdBd7html間違ってますか?
一応 htmlは知ってるのですが。
ヒントPLZ
0649nobodyさん
2008/01/22(火) 18:12:16ID:???ヒドイコードだなw
ヒント echo $_POST['abc'];
$birth = $_POST['abc'];
0650644
2008/01/22(火) 18:14:47ID:omtXdBd7ありがとうございます。
表示されました。
0651nobodyさん
2008/01/22(火) 18:16:57ID:???http://jp.php.net/manual/ja/language.variables.external.php
>>645
http://jp.php.net/manual/ja/language.operators.bitwise.php
http://jp.php.net/manual/ja/language.types.integer.php
0653644
2008/01/22(火) 20:07:55ID:omtXdBd7ありがとうございます。
見て理解できました。
サンクスコ
0654nobodyさん
2008/01/22(火) 20:54:43ID:???http://www.php.net/manual/ja/language.operators.bitwise.php
0x0001は16進数で1
0xからはじまるのは16進数
意味はちょっとわからんが、ビット演算子なんて普通使わないから気にする必要ないぜ。
0655nobodyさん
2008/01/22(火) 20:57:25ID:ie4F05t5BクラスにAクラスを継承したいと思います
このとき、Aクラス中のメソッド
funciton switchAry($name,$n){
switch($name){
case "bird":
$theAry = $birdAry;
break;
case "flog":
$theAry = $flogAry;
break;
}
echo $theAry[$n];
}
ってのをクラスBに継承しても、分岐条件(case 〜)は既存の"bird","flog"しか
使えないですよね?
つまり他の条件を継承したメソッドの中身にねじ込むなんてのは無理で…
結局そんなことしたかったら新規にメソッドを作るか、元のクラスAの中の
switchAryに追加するしかないという考えでOKですか?
質問の箇所以外にも変なところがありましたらすみません
よければそれもあわせてご意見ください
0656nobodyさん
2008/01/22(火) 21:11:58ID:???もうちょっとクラスが何かとかどういう使い方するかを勉強した方がいいよ
まぁかなり強引だが動的にメソッド作ることもできるけど。。。
0657nobodyさん
2008/01/22(火) 21:13:40ID:???0658655
2008/01/22(火) 21:17:19ID:ie4F05t5あまり考えずに使ってました
0659nobodyさん
2008/01/22(火) 22:51:24ID:Jy6n3MIdブラウザ
0660nobodyさん
2008/01/22(火) 23:03:21ID:???継承したほうでswitchAry()を再定義(オーバーライド)する。
>echoってまずいんですか?
あんまりよくない。
Javaだと必ず呼び出されるメインメソッドで他のメソッドを呼び出して表示するね。
PHPの場合、インスタンス化した後の処理でechoを使うといい。
switchAry()の返り値をStringにして
$obj = new A();
echo $obj->switchAry($name, $n);
見たいな感じで。
>質問の箇所以外にも変なところがありましたらすみません
>よければそれもあわせてご意見ください
未定義の変数使ったりソースが不自然。ちゃんとしたコードをまず書けるようにしましょう。
0661nobodyさん
2008/01/22(火) 23:08:28ID:???0662nobodyさん
2008/01/22(火) 23:11:20ID:???0663655
2008/01/22(火) 23:18:30ID:ie4F05t5詳しい説明ありがとう
今、a.class.phpにクラスAを記述、b.class.phpにクラスBを記述してて、
c.phpに
require_once("a.class.php");
require_once("b.class.php");
としました。
で、b.class.phpのクラスBにはクラスAを継承させるつもりだったんですが、
これって動作しないですか? 別ファイルのクラスを継承するって無理なんでしょうか?
試してるんですが、動きません
0664nobodyさん
2008/01/22(火) 23:37:50ID:???実装して欲しい部分を切り離して
派生クラスで再定義できるようにしてあげるのが一つの手段。
class Foo {
public function getHoge($name, $index) {
$fuga = $this->getFuga($name);
return isset($fuga[$index]) ? $fuga[$index] : null;
}
protected function getFuga($name) {
switch ($name) {
case 'bird': return array(1, 2, 3);
case 'flog': return array(4, 5, 6);
}
}
}
class Bar extends Foo {
protected function getFuga($name) {
if ($name == 'phper') { return array(7, 8, 9); }
return parent::getFuga($name);
}
}
0665655
2008/01/23(水) 00:01:36ID:TY7vcim1どうもありがとうございます
理解できたら凄く役立ちそうなことを教えてくれてるようですが、知識不足です
勉強します、ありがとう
0666nobodyさん
2008/01/23(水) 02:26:15ID:???0667nobodyさん
2008/01/23(水) 02:28:06ID:???0668nobodyさん
2008/01/23(水) 02:32:13ID:???必ずechoの処理はどこかに入るんだから
どこでechoするかってだけの話だろ
0669助けて下さい;;
2008/01/23(水) 02:38:46ID:Q533T7oxhttp://kissho.xii.jp/1/src/1jyou24922.txt.html
MagpieRSSを使いRSSを取得してくれるスクリプトです。
これをRSS記事の最新順に上から並んでほしいのですが、
このソースのままではサイト順にしか並びません;;
どこをいじってあげれば新着記事順に並び替えができるでしょうか?
もしよろしければ教えて下さい;;
色々なサイトでソースを比較していじったりしましたが出来ませんでした;;
0670nobodyさん
2008/01/23(水) 02:45:08ID:???0671nobodyさん
2008/01/23(水) 02:49:03ID:???ふざけてるってヒドイよぉ;;
^^
0672助けて下さい
2008/01/23(水) 03:07:53ID:Q533T7ox以後気をつけさせて頂きます。
0673nobodyさん
2008/01/23(水) 03:10:02ID:???0674nobodyさん
2008/01/23(水) 03:11:58ID:???/;;;;;;;;;;,-'''" ゙'''ヽ;;;;;;ヽ ←>>671
/;;;;;;;;;''' ヽ;;;;l
/;;;;;;;;;'" _ヽ、 【ちてきしょうがいしゃ】
i';;;;;;;;;;; ,,;;;;;;-=ヽ、
|;;;;;;;;;;| ,,,,,;;;;;;;;;-、 ‐'"゙_,,,,,,,_\
|;;;;;;;;/ /-─'''''''"ヽ "‐=二 ̄ヽ、 まちのにんきもの
|;;;;;;| '",,,-==‐ ヽ " 、 ヽ
,┴、;| ==ニ-‐'" , ヽ、 ゙i ちてきといっても
|l |ヽl /l .)\ i
\|lノl /└-‐ヽ-‐' ヽ i あたまがいいわけではない
l、 ゙| / ,,---'ニ=メ i .|
ヽ-i i' /-l「ヽ┼+// ;; /
ヽ、 ヽ=ヽ─++-''ノ /、
,,,,\ ヽ ゙‐─''''''"~ / ヾヽ、
,,-''''" \ / )
\ヽ、 / /
0675nobodyさん
2008/01/23(水) 03:13:48ID:???/ ________人 \
ノ::/━━ ヽ ヽ
|/-=・=- ━━ \/ i
/::::::ヽ―ヽ -=・=-_ ヽ i
|○/ 。 /::::::::: /⌒)
|::::人__人:::::○ ヽ )
ヽ __ \ /
\ | .::::/.| /. / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\ ヽ::::ノ丿 / < ちんちん シュッ!シュッ!シュッ!
しw/ノ___-.イ. \_______________
∪
0677nobodyさん
2008/01/23(水) 03:20:23ID:???一番下の方にある
echo '<li>└ <a href="' . $url . '" title="' . $desc . '" target="_blank">' . $title . '</a>';
// 日付フォーマットが任意の物でない場合は更新日の比較をしない
if (preg_match("/^\d{4}\/\d{2}\/\d{2}\s?/", $date)) {
diff_date($date,$days);
}
echo "</li>\n";
}
って部分があるから
ここでechoってせずにを一旦配列にいれて
ソートすれば良いんじゃない
diff_dateで何してるのか解らんから
ob_start();
echo '<li>└ <a href="' . $url . '" title="' . $desc . '" target="_blank">' . $title . '</a>';
// 日付フォーマットが任意の物でない場合は更新日の比較をしない
if (preg_match("/^\d{4}\/\d{2}\/\d{2}\s?/", $date)) {
diff_date($date,$days);
}
echo "</li>\n";
}
$articles[] = ob_get_clean();
って感じで出力バッファ取得する方が楽だとは思うけど
0678nobodyさん
2008/01/23(水) 03:22:42ID:???原因箇所特定してからわからないなら書き込んでくれ。
丸投げの質問はここじゃ受け付けてないし、スクリプト改造はスレ違い。
RSSに記事が作られた日時が記述されているならそれでソートすればいいんじゃないの?
とヒントだけ。
0679nobodyさん
2008/01/23(水) 03:23:42ID:???偽・スルー みんなにスルーを呼びかける。実はスルーできてない。
予告スルー レスしないと予告してからスルーする。
完全スルー スレに参加すること自体を放棄する。
無理スルー 元の話題がないのに必死でスルーを推奨する。滑稽。
失敗スルー 我慢できずにレスしてしまう。後から「暇だから遊んでやった」などと負け惜しみ。
願いスルー 失敗したレスに対してスルーをお願いする。ある意味3匹目。
激突スルー 話題自体がスルーの話に移行してまう。泥沼状態。
疎開スルー 本スレではスルーできたが、他スレでその話題を出してしまう。見つかると滑稽。
乞食スルー 情報だけもらって雑談はスルーする。
質問スルー 質問をスルーして雑談を続ける。
思い出スルー 攻撃中はスルーして、後日その思い出を語る。
真・自演スルー 議論に負けそうな時、ファビョった後に自演でスルーを呼びかける。
偽・自演スルー 誰も釣られないので、願いスルーのふりをする。狙うは4匹目。3匹目のスルー 直接的にはスルーしてるが、反応した人に反応してしまう。
4匹目のスルー 3匹目に反応する。以降5匹6匹と続き、激突スルーへ。
0680nobodyさん
2008/01/23(水) 04:20:15ID:???DB接続情報(IPやID,パスワード)って、どうやて管理していくのがよいでしょう?
一般に公開するアプリなので、ファイルへ格納しているだけだと
簡単にばれるのでは?と不安です
何かよい手段あれば紹介してください
0681助けて下さい
2008/01/23(水) 04:23:39ID:Q533T7ox親切に教えて頂きありがとうございます。
試行錯誤頑張って結果にだしたいと思います。
夜中なのに本当にありがとうございます。
>>678
はい、次回からどこをどのようにしてとまともな質問をさせて頂きます。
気分を害してすいませんでした。
0683nobodyさん
2008/01/23(水) 05:12:34ID:???ファイルへじゃなくて、テーブルに格納でいいんでないの?
(DBがファイルベースだと論外)
SQLインジェクションなどに気をつけてアプリを組めばおk
0685nobodyさん
2008/01/23(水) 06:30:04ID:???一般に公開ってフリーウェアってことかね?
共有鯖の場合、CGIで動かしてSuEXECでもしてないと
同居ユーザが何のPHPソフトウェア動かしているか調べて
予想できる場所インクルードするだけでおkって恐れはあるだろうね
0686nobodyさん
2008/01/23(水) 06:53:12ID:???偶然アクセスしたユーザがソース保存、脆弱性暴露して
祭りになった某画像掲示板があったな。
0687nobodyさん
2008/01/23(水) 07:58:59ID:???0689nobodyさん
2008/01/23(水) 08:16:21ID:???ドキュメントの可視性や拡張子の関連性がそもそも分かってないんだろ
0690nobodyさん
2008/01/23(水) 08:25:16ID:???お前エスパーだな。すごい。
0691nobodyさん
2008/01/23(水) 09:09:10ID:???実際に行っているのは
$str = preg_replace('/\'/', "\\'", $str);
くらいですか?
0692nobodyさん
2008/01/23(水) 09:12:17ID:???0693nobodyさん
2008/01/23(水) 10:06:00ID:???0695nobodyさん
2008/01/23(水) 12:26:41ID:???0697nobodyさん
2008/01/23(水) 13:00:13ID:???0698nobodyさん
2008/01/23(水) 16:11:22ID:???まさにKYの典型www
0699nobody
2008/01/23(水) 16:30:45ID:02waJQswpreg_much関数を調べてみたのですが、書き方がいまいち
わかりません。
どなたか教えてください。
0700nobodyさん
2008/01/23(水) 16:32:21ID:???↑読める?
0702nobody
2008/01/23(水) 16:34:39ID:02waJQsw0704nobodyさん
2008/01/23(水) 16:47:50ID:???0706nobodyさん
2008/01/23(水) 16:52:19ID:???http://jp.php.net/manual/ja/function.preg-match.php
$string = '<a href="hoge.html">hoge</a>';
if (preg_match("/<^a.+>.*<\/a>/", $string)) {
}
正規表現のとこは適当
0707nobodyさん
2008/01/23(水) 16:52:43ID:???ゆとり乙
「正規表現」は答えじゃなくて入り口だ
じゃあお前は答えをそのまま書くのか?
それが>>702のためになると思っているのか?
0708nobodyさん
2008/01/23(水) 16:52:53ID:???0709nobodyさん
2008/01/23(水) 16:52:54ID:???■ このスレッドは過去ログ倉庫に格納されています