【PHP】下らねぇ質問はここに書き込みやがれ 69
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/05/27(火) 18:04:33ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 68
http://pc11.2ch.net/test/read.cgi/php/1209822736/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0122113
2008/06/02(月) 10:21:58ID:1QPDvcRnちょっとどちらのコードもかなり大きいのでここに貼り付けるのは不可能。
コード書くのがへたっぴなものでかなり膨大なサイズに・・
だから、切り分けの手段のヒントが欲しかったです。
でもここに貼り付けられるように、パターンが似たサンプルコードを書いていたら、結果として切り分け成功しました。
ありがとうございます。
>>119
>>120 の仰る通り。
include以降が無視される場合が使えない。
ただ、使える使えないって書き方はとても論理的ではなかったですね。
反省・・
>>120
フォローありがとうございます。
こんな論理的でない文章を理解していただけて助かります。
>>121
includeをコードのしょっぱなに持ってきていたので、最初の行ですでにそれ以降が無視されるという現象に・・
0123113
2008/06/02(月) 10:22:37ID:1QPDvcRnincludeされているファイルに問題がありました。
しかし、ここで疑問に思うのは、なぜエラーを吐かないのか
実は、includeされているファイルはさらに別のファイルをincludeするという二重include構造になっていました。
このさらにincludeされているファイルが悪いようです。(下記に示すところのファイルC)
ファイルA ← ファイルB ← ファイルC
( ← はincludeで読み込んでいる)
こいつは単体でアクセスしてもエラーを吐かず、ソースにも何も表示されません
そのため、どこに問題があるのか今の段階ではまだ絞れていません
このファイルCだけならここに張ることも可能なのですが、人様が作ったものでフリーで公開されていたものなので
ここに晒していいかどうかわからないので、とりあえず自分でもう少し絞っていこうと思います。
(このコードがphp5と相性が悪い線が強そうです。)
ご迷惑おかけしました。
皆様のアドバイスでここまでこぎつけたことは事実です。
ありがとう!!
0124nobodyさん
2008/06/02(月) 11:40:17ID:???0125nobodyさん
2008/06/02(月) 11:57:28ID:???php version5.1.6をyumコマンドでインストールしました。
0126113
2008/06/02(月) 12:01:29ID:1QPDvcRnそのファイルCは、RSSパーサーなんですよね。
で、いろんなRSSを突っ込んでみたんですけど、やはり結果は一緒で
でもPHP4だと正常に動くんです。
ちなみに仰られていたので、 exit と die を検索かけて見ましたが使用されていませんでした。
というか、これで思いついた、@マークをすべて消し去ればどこでエラーが出てるかわかるかも・・・
0127113
2008/06/02(月) 12:23:07ID:1QPDvcRn@mb_convert_encoding()
が原因でした。
問題は、PHPのバージョンではなく、私のphp.iniの設定だったようです。
このフリーのRSSパーサー(>>123 でいうところのファイルC)がコードの中に@mb_convert_encoding()でエンコードする
文字コードを別に設定しており、その設定が私のphp.iniと反する設定になっていました。
64 | $page = EUC_JP;
156 | $hoge = @mb_convert_encoding($hoge, $page, 'auto')
みたいな感じになっていました。
切り分けの際に、以前のphp.iniも適用して調べたと思ったのですが、抜けがあったみたいですね。
(再起動忘れたかな・・・)
スレ汚し、失礼いたしました。
ヒントを与えて下さった方々ありがとうございました!
0128nobodyさん
2008/06/02(月) 12:48:43ID:RzwMZ6BKSqlの order by key,value
のようなことをさせるにはPHPではどのようにすれば良いのでしょうか?
0129nobodyさん
2008/06/02(月) 13:10:12ID:???0130うっかりさん
2008/06/02(月) 13:20:46ID:???切腹します。
0132nobodyさん
2008/06/02(月) 14:46:49ID:???0134nobodyさん
2008/06/02(月) 18:52:31ID:SnLmoVqt初歩的な質問で申し訳ないのですが、『WT_HeaderNavi()』という関数を自分で設定し
↓のように記述して
------------------------------------------------------------
<?php
echo '<a href="' . WT_HeaderNavi(999) . '">TEST</a>';
?>
------------------------------------------------------------
実行すると↓のように<a></a>のタグの前に【関数で出力される値】が来てしまいます。
------------------------------------------------------------
【関数で出力される値】<a href="">TEST</a>
------------------------------------------------------------
↓のように順序通り出力するにはどうすればよいのでしょうか?
------------------------------------------------------------
<a href="【関数で出力される値】">TEST</a>
------------------------------------------------------------
色々ググったのですが、見つかりませんでしたのでご教授お願い致します。
0135nobodyさん
2008/06/02(月) 19:34:08ID:???WT_HeaderNavi(999)の中でechoやらprintやらしてねーか?
関数の最後で return 【関数で出力される値】; だな
0136nobodyさん
2008/06/02(月) 19:40:40ID:???その通りでした!!ぐっときました!!
ありがとうございました!!
0137nobodyさん
2008/06/02(月) 19:55:59ID:???0138nobodyさん
2008/06/02(月) 19:58:22ID:???0139nobodyさん
2008/06/02(月) 20:00:55ID:???痛くてゴミんなさい!!怒っちゃやーよ!!
0140nobodyさん
2008/06/02(月) 20:25:46ID:???0142となりのPHP
2008/06/02(月) 21:57:27ID:+h9IA1ezについて皆さんに聞きたい。
お・ま・え・らならどう管理する?
知りたいw
0143nobodyさん
2008/06/02(月) 21:59:08ID:???0144となりのPHP
2008/06/02(月) 22:01:05ID:+h9IA1ezデータベースに保存するの?
フォルダーに保存するの?
これどっちがいいの?
メリットを教えてくれ・・・ ちくび・・・
0145nobodyさん
2008/06/02(月) 22:31:54ID:???0146nobodyさん
2008/06/02(月) 23:17:54ID:???0148nobodyさん
2008/06/03(火) 00:01:19ID:JBxIkCY5Array
(
[くるま] => 15
[ろば] => 14
[もも] => 14
[とけい] => 13
[りんご] => 13
[しょうゆ] => 6
[えんぴつ] => 1
)
のように降順にソートされた連想配列から配列の要素を比較して上位3件
のキー値を取り出してそれぞれ別の配列に入れたいのですが、
どのようにするのがスマートでしょうか?
以下のような結果にしたいです。
配列@ ( [0] => くるま )
配列A ( [0] => ろば [1] => もも )
配列B ( [0] => とけい [1] => りんご )
御指南よろしくお願いします。
0149nobodyさん
2008/06/03(火) 00:31:58ID:nQlafZ13値(数字)をキーにした多次元配列にpushしていったらどうでしょう?
0150nobodyさん
2008/06/03(火) 00:58:26ID:nQlafZ13foreach ($org as $key => $value)
$res[$val][] = $key;
0151nobodyさん
2008/06/03(火) 01:35:06ID:nQlafZ13ごめん1行目と2行目の変数名がバラバラだ・・orz
多分気づくと思うけど2行目は
$result[$value][] = $key;
別々の配列にしたいときは、ループ内でキーを
$result["ex".$value][] = $key;
とか文字列にしておいて、
extract($result);
とか。
0152nobodyさん
2008/06/03(火) 01:59:05ID:JBxIkCY5解決できました!
ありがとうございます。
非常にスマートです!
0153nobodyさん
2008/06/03(火) 02:45:23ID:???0154nobodyさん
2008/06/03(火) 15:11:01ID:O1BZb4u6strip_tags でタグを削除したいと思ったんですが、
元の文字列がUTF8 などだと タグ<>の部分まで合わせて文字にとなっているようで
※その部分が文字化けしているように見える。しかし、htmlに出力すると、文字とタグにちゃんとわかれている。
strip_tags でタグが削除できないようであるのですが、
これをどうにかstrip_tags でタグ削除させる方法はないでしょうか?
0155nobodyさん
2008/06/03(火) 15:37:51ID:???なんか微妙に言ってることがわからないんだが、俺の環境では
echo strip_tags('<a>りんく</a>ああ<b>いい</b>うう');
//出力
りんくああいいうう
なにも問題ないぞ?
こういうことじゃないのか?
0156nobodyさん
2008/06/03(火) 16:07:48ID:z9NWRSRZ「郵便番号の情報が書かれている.phpファイルを
.htmlファイル上で読み込ませ、郵便番号の検索を行えるようにする。」
と言う物なのですが、
実行すると本来住所が書き出されるべき場所に
何故か.phpファイル上のデータが全て書き出されてしまいます。
ttp://www.vipper.org/vip834693.jpg
参考資料と見比べても特に違いが見受けられないので
やはりphp.iniやhttpd.confの設定が間違っていると言うことなのでしょうか。
もし理由の分かる方がいらっしゃいましたら回答をお願いしたいです。
PHP:5.2.6(SQLite込)
Apache:2.0.63
OS:WindowsXP
以下命令文を書きますので
何卒宜しくお願い致します。
0157【yubin01.html】
2008/06/03(火) 16:08:32ID:z9NWRSRZ"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:v="urn:schemas-microsoft-com:vml">
<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8" />
<head>
<title>郵便番号による検索</title>
<script src="prototype.js" type="text/javascript"></script>
<script type="text/javascript">
function buttonf(){
uri = "yubin01.php";
data = Form.serialize("form1");
option = {method: "post", parameters: data, onComplete:ajaxReq};
new Ajax.Request(uri,option);
}
function ajaxReq(request1){
$("addr").value = request1.responseText;
}
</script>
</head>
<body>
<p>郵便番号を入力してください。 例 : 101-0025,26,35,41,43,46,48,51</p>
<form id="form1">
郵便番号<input type="text" id="zcode" name="zcode" size="10" />
<input type="button" id="b1" name="b2" value="住所検索" onClick="buttonf(); return false;" />
<br />
住所<input type="text" name="address" id="addr" value="" size="80" />
</form>
</body>
</html>
0158【yubin01.php】
2008/06/03(火) 16:09:02ID:z9NWRSRZ$BOM = "\xef\xbb\xbf";
$code1 = $_POST["zcode"];
$code2 = split("-",$code1);
$code = $code2[0].$code2[1];
$address= array(
"1010025" => "東京都千代田区神田佐久間町",
"1010026" => "東京都千代田区神田佐久間河岸",
"1010035" => "東京都千代田区神田紺屋町",
"1010041" => "東京都千代田区神田須田町",
"1010043" => "東京都千代田区神田富山町",
"1010046" => "東京都千代田区神田多町",
"1010048" => "東京都千代田区神田司町",
"1010051" => "東京都千代田区神田神保町"
);
echo $BOM.$address[$code];
?>
0161nobodyさん
2008/06/03(火) 16:47:34ID:???webサーバとはなにか?から出直してら
0162nobodyさん
2008/06/03(火) 16:54:38ID:???わからないので教えてもらえませんか
あと定期的に実行するにはどうやればいいですか
0163nobodyさん
2008/06/03(火) 17:05:50ID:???http://jp.php.net/manual/ja/language.types.array.php
->
http://jp.php.net/manual/ja/language.oop5.basic.php
=&
http://jp.php.net/manual/ja/language.references.php
定期的に実行
cron
0164nobodyさん
2008/06/03(火) 18:07:39ID:???借り物でやったら垢削除ものだが。
0165nobodyさん
2008/06/03(火) 19:02:27ID:???レスありがとうございます
>=>
>http://jp.php.net/manual/ja/language.types.array.php
う〜んarrayにしか使わないってことですか?
>->
>http://jp.php.net/manual/ja/language.oop5.basic.php
すみませんもう少し説明してもらえないでしょうか
(classに関係有るってことくらいしかわかりませんでしたorz)
>=&
>http://jp.php.net/manual/ja/language.references.php
ん、、、、いまいち普通の代入(=)との差がわからないのですが、、、
>定期的に実行
>cron
ありがとうございます
いまいち使い方がわかりませんがもう少し調べてみます
0166nobodyさん
2008/06/03(火) 19:15:03ID:???>う〜んarrayにしか使わないってことですか?
他に使ってる例でもあんの?
>すみませんもう少し説明してもらえないでしょうか
>(classに関係有るってことくらいしかわかりませんでしたorz)
インスタンスのプロパティやメソッドにアクセスするための構文。
C++やJavaでいうドット(.)と同じ。
分からんなら使わなくて特に問題なし。
詳しく知りたければオブジェクト指向について学ぶべし。
>ん、、、、いまいち普通の代入(=)との差がわからないのですが、、、
値渡しと参照渡しの違い。
マニアな人しか使わないから知らなくてもOK。PHPだと最適化してくれるし。
詳しく知りたければ参照について学ぶべし。
>>cron
窓鯖ならタスクでおk
0167nobodyさん
2008/06/03(火) 20:56:04ID:???返信どもです
>インスタンスのプロパティやメソッドにアクセスするための構文。
>C++やJavaでいうドット(.)と同じ。
>分からんなら使わなくて特に問題なし。
>詳しく知りたければオブジェクト指向について学ぶべし。
何となくだけどわかりました、ありがとうございます
0168nobodyさん
2008/06/03(火) 22:32:01ID:???0169nobodyさん
2008/06/03(火) 22:46:55ID:KEz04zwq取得する可能性がある場合、どうしていますか?
自分はREQUESTを使っていますが、↓する方法もあると思います。
if($GET){
$id = $_GET["id"];
}else($_POST){
$id = $_POST["id"];
}
ただこれだとソースが長くなるので、正しいのか否か悩んでいます。
0170nobodyさん
2008/06/04(水) 00:42:39ID:???0171nobodyさん
2008/06/04(水) 02:08:12ID:???0172nobodyさん
2008/06/04(水) 02:40:35ID:???0173nobodyさん
2008/06/04(水) 03:46:25ID:IW2VxFJn以下のようなURLの場合で、
http://hoge/index.php/id/foo/password/bar
index.phpにて「/id/foo/password/bar」の部分を
取得したいのですが、どのようにすれば宜しいでしょうか?
0174nobodyさん
2008/06/04(水) 03:58:25ID:???0175nobodyさん
2008/06/04(水) 04:07:25ID:???$_SERVER{'PATH_INFO']
スラッシュ区切りにする必要はあるのかね
てか認証で使うパスワードをGETで渡すのはどうかと・・・
0177の
2008/06/04(水) 16:07:38ID:???index.php?test
が作れて、
GETでは
index.php?test=testが作れるのは知ってるんですが
PATH_INFOかクエリで
で
index.php?test/test
と取得するにはどうしたらよいのですか?
0178nobodyさん
2008/06/04(水) 17:03:50ID:???0179nobodyさん
2008/06/04(水) 17:19:13ID:???質問に質問して悪いんだけど、
クエリで index.php?test が作れる、ってどういうこと?
PHP クエリ、なんかでググってみたけど出てこなかった。
index.php?test で値を渡せるの?
0180noun
2008/06/04(水) 17:53:03ID:3HEKVG38$query = getenv ("PATH_INFO");
$var = split ("[/\.]", $query);
echo "引数は「$var[1]」と「$var[2]」です。";
?>
このようばスクリプトをindex.phpで作ったら
index.php/a
でアクセスすると
引数は「a」と「」です。
と表示されます。
index.php?a/b
とアクセスすれば
引数は「a」と「b」です。
と表示させるにはどのようにしたらよいのですか?
このように考えてみましたけど動きませんでした
<?php
$query = getenv ("PATH_INFO");
$var = split ("[?\](.+)[/\.]", $query);
echo "引数は「$var[1]」と「$var[2]」です。";
?>
宜しくお願いします
0181nobodyさん
2008/06/04(水) 18:02:16ID:???<?php
$query = $_SERVER["QUERY_STRING"];
list($q1,$q2) = explode("/",$query,2);
echo "引数は「{$q1}」「{$q2}」です。";
?>
0182nobodyさん
2008/06/04(水) 20:01:45ID:???0184nobodyさん
2008/06/04(水) 20:37:04ID:???$fileName = "conf.xml";
$xml = simplexml_load_fileName($fileName);
$db = $xml->db;
print $db->id ."<BR>";
print $db->pass ."<BR>";
print $db->host ."<BR>";
print $db->dbname ."<BR>";
?>
とすると $xml = simplexml_load_fileName($fileName); エラーとでます、何が悪いんでしょうか?
0185nobodyさん
2008/06/04(水) 21:18:54ID:???0186nobodyさん
2008/06/04(水) 21:20:15ID:???0187nobodyさん
2008/06/04(水) 21:21:53ID:???simplexml_load_file($filename);
0188nobodyさん
2008/06/04(水) 21:23:42ID:???やさしくレスしてやろう
そんんあ関数無い
simplexml_load_file
http://jp.php.net/manual/ja/function.simplexml-load-file.php
これだろ?
0189nobodyさん
2008/06/04(水) 21:36:14ID:???いえ、喧嘩売ってません。 シリアスです。
>>186
別人ですね。
>>187
>>188
ありがとうございます^^
しかし、$xml = simplexml_load_fileName($fileName);
をsimplexml_load_file($filename);にしてみたところ、エラーが出ます。
何が悪いんでしょうね・・・
0190nobodyさん
2008/06/04(水) 21:42:22ID:???>>1を読まない -20
マニュアルを読まない -10
検索しない -10
エラーを書かない -10
上げない -5
丁寧語を使用 +5
合計点:-50
評価:非常に悪い質問です。
php.iniでphp_xmlをロードしてから出直してきてください。
0191nobodyさん
2008/06/04(水) 21:42:30ID:???0192nobodyさん
2008/06/04(水) 21:43:57ID:???$xml->db ← マニュアル読めとしか言いようがない
0194(^ω^)
2008/06/04(水) 21:50:18ID:+gTsOca6前レスであった
PATH_INFO
とクエリを同じに使うやり方が気になったのですが誰か教えてくれませんか?
index.php?test/b
とかのURLのが気になります
0197nobodyさん
2008/06/04(水) 21:56:43ID:???>index.php?test/b
PATH_INFO関係ない。それはクエリだ。
PHPerバカばっかか。
0199(^ω^)
2008/06/04(水) 22:09:58ID:+gTsOca6w(°0°)w?
どうやって取得するのですか?
index.php?test
なら取得できますけど
index.php?test/a
までは取得できません…
0201nobodyさん
2008/06/04(水) 22:19:33ID:O5TCb6Oo0202help
2008/06/04(水) 22:29:52ID:hG5521Jrを10進数に変換するプログラムを書き、桁とその桁の値に該当する
10進数(例えば、4桁目は2の3乗で8である)および変換された
10進数を表にして出力せよ。
0205(^ω^)
2008/06/04(水) 22:43:13ID:+gTsOca6http://s.sameha.net/?xtool/test
これは
http://s.sameha.net/?id=xtool&kp=test
みたいなのです。
http://s.sameha.net/?id=xtool&kp=test
これはGETで受け取ってるだけですが
http://s.sameha.net/?xtool/test
これはクエリで受け取りたいのですが、受け取れません(@_@;)
教えてください
0206help
2008/06/04(水) 22:44:02ID:hG5521Jr書き出しからまったくわからないので、
どなたか教えてください。javascriptでお願いします。
0207nobodyさん
2008/06/04(水) 22:48:28ID:???なんでわざわざスラッシュ区切りにしたいの?
>>206
<script type="text/javascript">
0209nobodyさん
2008/06/04(水) 22:56:15ID:???そうだよな? さすがにここまで低次元なわけないよな。
頼むよ、マジで……。
0210nobodyさん
2008/06/04(水) 23:24:54ID:???しかも1も昔のに変えるし
初心者は初心者スレがあるのに・・・
0211nobodyさん
2008/06/04(水) 23:32:13ID:???スーパーヒントやるから、これアレンジしてみろ。
$bin_num = "1111111111111111111111111111111";
$digits = strlen( $bin_num );
$i = 1;
$bin_num = 1;
while(1)
{
if( $i > $digits ) break;
print $i . " | ";
if( $i <> 1 ) $bin_num .= '1';
print bindec( $bin_num ) . "<br />";
$i++;
}
0213nobodyさん
2008/06/05(木) 03:53:21ID:nVJ3HHkI途中で関数がある場合、プログラムがそこで止まってしまいます。
ページ内にその関数が無くてもページ全体を読み込ませる(エラーを出さない
ようにするには、どうすればいいのでしょうか?
0214nobodyさん
2008/06/05(木) 03:59:39ID:???0215nobodyさん
2008/06/05(木) 05:48:02ID:???0216nobodyさん
2008/06/05(木) 06:02:42ID:???0217sage
2008/06/05(木) 07:24:33ID:SaqvuSsK0218nobodyさん
2008/06/05(木) 09:42:23ID:???ぐぐっても出てこない。
0219nobodyさん
2008/06/05(木) 10:53:03ID:???ttp://xdebug.org/docs/all_functions
0220213
2008/06/05(木) 11:01:36ID:???デザイン用のファイルに関数を入れている場合(エラー出力など)
があるのですが、関数のある・なしを調べるのではなくて、
ある場合でも無視して出力したいのです。
やっぱり、そういう事は出来ないのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています