トップページphp
1001コメント318KB

【PHP】下らねぇ質問はここに書き込みやがれ 70

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2008/06/25(水) 10:14:08ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは970が立ててください立たなかった場合は980よろ

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。

◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0951949 2008/07/17(木) 12:35:30ID:tFuEM5Bx
>>950
例えばCSV上で 北区田端 という住所の部分を
mb_convert_encodingかけPHP出力すると k区田端 と表示されます
0952nobodyさん2008/07/17(木) 12:44:00ID:???
k はSJISの「北」の2バイト目だね。
最終的にSJISになってるの?
0953nobodyさん2008/07/17(木) 12:45:03ID:???
北の前の文字のせいか、北そのものが半分削られてんじゃないかなあ
0954949 2008/07/17(木) 12:56:53ID:tFuEM5Bx
>>952
最終的にはUTF-8です

>>953
どうやらそうのようです
先ほど気がついたのですが、マルチバイト文字すべての先頭文字が
削られているような感じになっています。
(例)
フッサール → tッサール
1キョウ → Pキョウ
0955nobodyさん2008/07/17(木) 12:59:31ID:???
BOM
0956949 2008/07/17(木) 13:13:24ID:tFuEM5Bx
>>955
あたりのようです
var_dumpすると表示されているマルチバイト数+3になっていました
0957nobodyさん2008/07/17(木) 13:18:01ID:???
典型的な切り分けのできてない質問だな。
CSVの読み取りがきちんとできてない可能性と
trim(mb_convert_encoding($list[$i], "UTF-8", "SJIS-win,SJIS"));
の処理でおかしくなっている可能性があるので、
まずは$list[$i]の中身がどうなってるか確認するもんだろ。
0958nobodyさん2008/07/17(木) 14:11:21ID:tZP0UVf1
ファイル読み込み時に"r"を指定した場合は
ロックする必要がないのでしょうか?

$fp = fopen("aaa.txt", "r");
flock($filepointer, LOCK_EX);←必要?

複数人に使われるサイトを想定しております。
OS : CentOS4
PHP4.1.13
0959nobodyさん2008/07/17(木) 14:15:40ID:???
リードでロックする必要があるのかよく考えてみよう
0960nobodyさん2008/07/17(木) 14:17:12ID:???
>>958
書き込み途中の半端な状態のファイルを読みたくなければロック必要。
LOCK_EXはやりすぎでLOCK_SHで十分。
0961nobodyさん2008/07/17(木) 14:20:21ID:tZP0UVf1
>>959 >>960
ありがとうございました。

書き込まれない静的なファイルを読み込むだけなので
ロックせずに実装します。
助かりました
0962nobodyさん2008/07/17(木) 14:38:39ID:???
SQLを絡ませた質問です。
$query = "select * from table";
$res = mysql_query($sql);

で返ってきた$resから列名(id, name, addressなど)を取得したいのですが、どうすればよいのでしょうか?
0963nobodyさん2008/07/17(木) 14:41:57ID:???
>>962
mysql_fetch_assocとかその辺をマニュアルで
0964nobodyさん2008/07/17(木) 14:43:35ID:???
ああごめん列名って事なら、
SELECTとかする前に何かのクエリ送っとくなりなんなりしておかないと
いけなかったはず
0965nobodyさん2008/07/17(木) 14:44:51ID:???
mysql_fetch_field でとれるべ
0966963=9642008/07/17(木) 14:46:15ID:???
>>965
ほんとだw
ありがとう

>>962
ごめんね

俺死ね
09679622008/07/17(木) 15:05:52ID:???
>>965
ありがとうございます!
そのままググったられ日本語例文付サイトに辿り着きまして順調に進みそうです!

>>963
いえいえ、教えてあげようと気持ちだけでもありがたやです。
ありがとうございます。
イ`
0968nobodyさん2008/07/17(木) 17:33:15ID:???
共通のPHPを/cgi-binから読んで実行したいんだけど、
以下みたいな記述なら実行されるんだけど、
echo @file_get_contents("http://localhost/cgi-bin/sub.php");

http://localhostを省略すると実行されない。
phpで、他のディレクトリの共通サブルーチンは
読めないの?
0969nobodyさん2008/07/17(木) 17:44:00ID:???
つけない場合は、絶対パスまたは相対パスで、そこにたどり着けるように指定する。
0970nobodyさん2008/07/17(木) 17:46:16ID:???
ってこれだとファイルの中身が読めるだけだよ。
目的によっては別の手段使うほうがいいかも。
何がしたいのかな?
0971nobodyさん2008/07/17(木) 18:25:35ID:???
>>968
include 'path/sub.php';
0972nobodyさん2008/07/17(木) 19:35:32ID:???
<input type="text" name="hoge" value="今日の日付">

この「今日の日付」を YYYY-MM-DD形式にできないでしょうか?!?!

day=求めるスクリプト
<?php echo . $day. ?> とか色々やったのですが
そのまんま表示されちゃうです orz

index.htmlなんですけど 1からphpで書き直した方が早いでしょうかね?
0973nobodyさん2008/07/17(木) 19:37:32ID:???
>>973
日本語でおk
0974nobodyさん2008/07/17(木) 19:48:44ID:???
次スレ
http://pc11.2ch.net/test/read.cgi/php/1216291372/
0975nobodyさん2008/07/17(木) 19:54:58ID:???
>>972
何がしたいのか意味がわからないが
拡張子htmlをたんにphpにかえてphpにコード埋め込めばいいんじゃね

<input type="text" name="hoge" value="<?php echo date("Y-m-d"); ?>">
みたいに
0976nobodyさん2008/07/18(金) 09:41:09ID:???
>>969-971

いろいろなディレクトリに散らばっているhtmlから
ひとつのディレクトリにあるphpを引数付きで
呼び出したいのです。
手段として、
echo @file_get_contents("http://localhost/cgi-bin/sub.php?q=1");
みたいな書き方しか出来ないのでしょうか?

include 'path/sub.php?q=1';
というような呼び出しかたは
無理ですよね?
0977nobodyさん2008/07/18(金) 09:49:25ID:???
実行結果が欲しいなら、そのための関数(systemとか)がある。
httpd経由で実行するなら、http://localhost/〜が必須なのは当然。
09789762008/07/18(金) 10:01:33ID:???
>>977
system関数は、phpで記述されたプログラムを引数付きで実行し出力結果を貰うことは可能ですか?
もう少しやりたいことを正確に説明します。

windowsのapache環境です。
apacheの設定でcgi-binデレクトリは
c:\apache\cgi-binとして設定してあります。
htdocsのデレクトリはc:\apache\htdocsとして
設定してあります。

http://localhost/a/a.html
http://localhost/b/b.htmlの記述に
/cgi-bin/sub.php?q=1というように
書いてsub.php?q=1の出力結果を
a.htmlやb.htmlの出力に埋め込みたいのです。
こういう場合でスマートな方法というは、
どういう感じで行えばいいのか
よく分からないのです。
0979nobodyさん2008/07/18(金) 10:17:11ID:???
httpd経由に変わりはないが、virtual() 使ってみては
0980nobodyさん2008/07/18(金) 13:51:51ID:???
>>976
引数渡したいならincludeの前に変数に代入すればいいじゃん
09819762008/07/18(金) 13:55:49ID:???
>>979
うまくいきそうなのですが、
sub.phpの中身を以下の
ように記述したのですが、
帰ってきた内容が
falseってなってしまいます。
なんでだろ???
引数は渡せないのでしょうか?


<?php
if (isset($_GET['q']) == false) {
echo 'false';
exit;
}
$arg = $_GET['q'];
echo $arg * 2;
?>
0982nobodyさん2008/07/18(金) 13:57:50ID:???
質問する前にちょっとは自分で問題切り分けてこいよ
09839762008/07/18(金) 14:19:35ID:???
だって、よく分からないんだもん。。。
0984nobodyさん2008/07/18(金) 14:22:53ID:???
失せろ
09859762008/07/18(金) 14:28:42ID:???
嫌だ
09869762008/07/18(金) 14:41:58ID:???
出来た。回答していただいた方ありがとう。

呼び出し元

<?php
virtual("/cgi-bin/sub.php?1");
?>

sub.phpの内容

<?php
if (isset($_SERVER["QUERY_STRING"]) == false) {
echo "false\n";
exit;
}
echo $_SERVER["QUERY_STRING"] * 2;
?>
0987nobodyさん2008/07/18(金) 15:18:00ID:???
どういたしまして
0988nobodyさん2008/07/18(金) 17:08:48ID:euBIoVPk
PHPでカレンダーをつくっています。クリックしたら前月のカレンダー表示をする
リンクの部分のタグが、

<a href=\"?year=$year1&month=$month1\">".$month1."月</a>";

(上記)のようになっていますが、?yearの『?』の意味はなんでしょうか?
初心者で勉強不足です。お願いします。
0989nobodyさん2008/07/18(金) 17:14:46ID:???
>>988
getで値渡す
index.php?a=1&b=2
とかだとindex.phpの
変数aに1を変数bに2をgetで渡している
0990nobodyさん2008/07/18(金) 17:17:19ID:euBIoVPk
>>989
ありがとうございました。
0991nobodyさん2008/07/18(金) 18:24:32ID:???
そのレベルでアプリを作れるPHPって、実は凄い言語だとおもう
0992nobodyさん2008/07/18(金) 18:45:30ID:???
PEARを学んでるのですが、インスタンス作成時に=&でnewするものと、=でnewするものがあります。
参照渡しかどうかということなんでしょうけど、この違いは何故生まれてくるんですか?
0993nobodyさん2008/07/18(金) 18:49:46ID:???
php4時代の負の遺産
0994nobodyさん2008/07/18(金) 20:47:42ID:???
C言語だって、scanf("%s",&var)の&の意味わからないままでもある程度書けるのだが・・・
0995nobodyさん2008/07/18(金) 21:05:35ID:???
分からんのに書いちゃイカンだろ
バッファーオーバーフローするぞwww
0996nobodyさん2008/07/19(土) 13:22:03ID:???
略してバッファロー…か。深いな。
0997nobodyさん2008/07/19(土) 21:17:36ID:???
さらに略してバーロー
0998nobodyさん2008/07/19(土) 21:51:02ID:???

http://pc11.2ch.net/test/read.cgi/php/1216291372/
0999nobodyさん2008/07/19(土) 21:51:33ID:???
1000nobodyさん2008/07/19(土) 21:51:39ID:???
>>2だったら働く
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。