【PHP】くだらねぇ質問はここに書き込みやがれpart7
■ このスレッドは過去ログ倉庫に格納されています
0001966
2005/07/12(火) 01:47:09ID:qOoYFCn7ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい
・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
立ってなかったんで>>970に近かった自分が勝手に立てちゃいました。
0772767
2005/08/02(火) 12:27:47ID:Svt/6T9+2chビギナーで、DB板というのがあるんですね。。。
マルチポストになりそうですが、行ってきます。
0773nobodyさん
2005/08/02(火) 12:31:07ID:???つ [ SQL 結合 ]
とレスしちゃいますが。。。
0774nobodyさん
2005/08/02(火) 12:37:37ID:???SELECT category, name from テーブル1, テーブル2 where テーブル1.ID = テーブル2.ID
0776767
2005/08/02(火) 13:15:53ID:Svt/6T9+ありがとうございます。
この結果を768の様に表示したいんです。
>775
リレーションって何ですか?
わかっている人の説明が聞きたい。
0777nobodyさん
2005/08/02(火) 13:19:26ID:???あらら。こちらのスレとマルチだったのね。MySQLスレの方にレスしちまった。
MySQLスレの106を確認よろ。
0778nobodyさん
2005/08/02(火) 13:48:58ID:???キーフィールドを使って複数のテーブルをいろいろ(LEFT RIGHT INNER OUTER)と簡単に結合(JOIN)できるのがリレーショナルデータベースの利点
0779nobodyさん
2005/08/02(火) 15:47:21ID:???2005/08/01 という文字列を返してくれるような
便利な関数はありませんか?
0781nobodyさん
2005/08/02(火) 16:01:46ID:???この手の質問って定期的にあるな。
PHPマニュアルの日付関連の辺りを読んで、色々やってみりゃいいのに。
$day = date('Y/m/d', strtotime('Mon Aug 1 00:00:00 2005'));
0782nobodyさん
2005/08/02(火) 16:11:11ID:???date('Y/m/d',strtotime ("Mon Aug 1 00:00:00 2005"))
んでも、そんな不思議文字列使うよりは、タイムスタンプに統一した方がいいんでないの?
たぶんDBからの取得データだと思うから、SQLやDBの設定あたりで解決するほうがよいかと。
0783nobodyさん
2005/08/02(火) 16:37:35ID:???0784nobodyさん
2005/08/02(火) 17:13:19ID:???こういう場合にMySQLでは全てのユーザーについてそれぞれアカウントを作る必要があるのでしょうか?
それとも管理に必要なアカウントを除いて、一般ユーザー用のアカウントは一つだけ作って
それを使いまわせばよいのでしょうか?
後でログを確認するときなどに誰がどのような作業を行ったか分かるようにしたいのですが、
これはApache等のアプリケーション側でログを取るべきなのでしょうか?
よろしくお願いします。
0785nobodyさん
2005/08/02(火) 17:42:10ID:???と同様のことを、httpを経由せずにしたい、
( =cgiにパラメータを渡して、出力テキストを取り込みたい)
のですが、方法がよくわかりません。ご教示ください。
よろしくお願いします。
なお、phpとcgiは同じディレクトリ内にあります。
0786nobodyさん
2005/08/02(火) 18:09:35ID:???httpを使わないとなると、コマンドラインで実行するしか無いねぇ。
phpでそれをするには、マニュアルのプログラム実行関数あたりを参照。
んでも、対象のスクリプト側にも手を加えなきゃいけなくなると思うよ。
(perlなら @ARGVを適切に処理するように。)
0787じじぃ
2005/08/02(火) 19:19:18ID:53wND5J6config.phpのエンコードって何ですか?
0788nobodyさん
2005/08/02(火) 19:26:54ID:???0789757
2005/08/02(火) 19:35:12ID:???>同じような仕様ということですよね?
Yes.「訂正時の画像はそのタイミングでは消えない」というのは
せっかくアップロードは成功したのにテキストの修正だけのために
もう一度アップロードさせたくない。及びアップロードファイルのクライアントローカルパスを
PHP側で知ることが出来ないので、undo時にその値で初期化できないということもある。
(JavaScriptでゴニョゴニョやってみたことがあるが、日本語ファイルの場合の
挙動がブラウザで結構まちまちで、面倒なので投げた)
UPLOAD_ERR_NO_FILEの時で既に一度でもそのセッションで
アップロードが成功していれば、自前テンポラリーのファイルを利用する。
そんな感じで一応うまく動作してる。
0790nobodyさん
2005/08/02(火) 19:35:32ID:???while ($row = @mysql_fetch_array($result)){}
で値を取り出しました。(1件のみヒットという前提)
このなかに$row['a01']〜$row['a10']という値があるとします。
他にも$row['name']とか$row['hoge']なんていうのもあるとします。
このとき、$row['a01']〜$row['a10']のうち、値が'空'で無いものの数がいくつ有るかを数えたいです。
目的:その数分だけfor文で、テーブルのTRを描画させたい
0791JHON
2005/08/02(火) 19:48:37ID:kmlqG+RX早速質問ですが<table>使ってメニューボックス作ったんですけど
いくつか並べておきたいんですが、綺麗に並べる方法おしえてください。
ついでにメニューボックスにタイトルつけたいんですが、それも教えてください。
0793nobodyさん
2005/08/02(火) 19:58:24ID:???$cnt = 0;
for($i=0;$i<10;$i++) {
$key = "a" . $i;
if (!is_null($row[$key])) $cnt++;
}
0795nobodyさん
2005/08/02(火) 22:12:15ID:???レスどもです。
数字の規則的な部分は01とかみたいに、0パディングで2桁だったので、
forループの中で、
$i = sprintf("%02d",$i);
としてみました。動作はばっちりですが、sprintfってこんな感じの使い方でよいんですかね?
0796nobodyさん
2005/08/03(水) 03:06:52ID:Vw0PEp23PHP4.1 anhttpd winxp にてPHPを勉強しているものなのですが
コードを書いていて、どうしてもこの部分でエラーをだしてしまいます。
$str = preg_replace("/#_(.*?)_#/i","$tmp[$1]",$str);
Parse error: parse error, unexpected T_CHARACTER, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/web/ciao/public_html/emoji/emoji.php on line 301
"$tmp[$1]"この部分がおかしいと思うのですが、このように値を参照してやりたいのです。
phpマニュアルに書いてある部分を読んであまり分からないまま
"$tmp[${1}]" など試してみたのですがうまくいきません。
どうかお力添えをお願いできないでしょうか。
0797nobodyさん
2005/08/03(水) 03:29:10ID:???>>>DOC
DOC;
例えば同じページ内で何度もヒアドキュメント使うときに
DOCばっかりだとエラーの原因になったりします?
0798nobodyさん
2005/08/03(水) 03:55:19ID:???http://www.php.net/manual/ja/language.variables.php
>>797
試せ
0800nobodyさん
2005/08/03(水) 10:16:49ID:Vw0PEp23レスありがとうございます。
解説を読んで括弧で明示的にしてやらないとだめなのかと思い、
"{$tmp[$1]}"
こうしてみたり、
"$tmp[{$1}]" "${$tmp[$1]}"
こうしてみたりもしたのですがダメでした。
Parse error: parse error, unexpected T_CHARACTER, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/web/ciao/public_html/emoji/emoji.php on line 301
こんなエラーがでます・・・
0801nobodyさん
2005/08/03(水) 10:47:35ID:???0802nobodyさん
2005/08/03(水) 11:39:35ID:???「$1」は「$i」等の間違いじゃないの? 変数名の先頭は数字ダメだよ。
それと"$tmp[$1]"はダブルクオートなくてもいいでしょ。
0803nobodyさん
2005/08/03(水) 12:09:11ID:???one#_hoge_#three -> $tmp['hoge'] = 'two' -> onetwothree
one#_huge_#three -> $tmp['huge'] = '-' -> one-three てな感じ。
0804796
2005/08/03(水) 12:12:19ID:Vw0PEp23レスありがとうございます。
$str = preg_replace("/#_(.*?)_#/i","$tmp[$1]",$str);
このように正規表現でヒットした箇所のデータ参照を$1で行い
それを$tmpの連想配列の引数として使用し、値を参照しようとしています。
0805nobodyさん
2005/08/03(水) 12:16:53ID:???こう書くしかないんぢゃないのかなぁ。
$pattern = '/#_(.*?)_#/i';
$str = 'Start#_hoge_#End';
$tmp['hoge'] = 'fuga';
if (preg_match($pattern, $str, $match) && isset($tmp[$match[1]])) {
$str = preg_replace($pattern, $tmp[$match[1]], $str);
}
0806nobodyさん
2005/08/03(水) 12:21:41ID:???'tmp[$1]' あるいは "\$tmp[\$1]" にしないとダメでは?
0807nobodyさん
2005/08/03(水) 12:26:21ID:???e修飾子
$str = preg_replace("/#_(.*?)_#/e",'$tmp["$1"]',$str);
0809_
2005/08/03(水) 13:27:21ID:???windowsとlinuxでphpを使用しているのですが
system関数で一部のコマンドが使えません。
どうしたら使えるようになるのでしょうか?
0811nobodyさん
2005/08/03(水) 13:53:34ID:OQNM6t9u割り算してループさせると処理遅い・・・30秒でタイムアウトorz
0812nobodyさん
2005/08/03(水) 14:13:53ID:???php4@win2k
echo getrandmax(); // 32767 int2
echo mt_getrandmax(); // 2147483647 int4
echo rand(2147483646,2147483647);
0814809
2005/08/03(水) 14:25:10ID:???詳しく言うと、
imagemagickをphpで使いたいと思い
$convert = "/usr/bin/convert";
system("$convert -geometry 50 x 50 a.jpg b.jpg");
などのスクリプトを実行していましたところ、
正常に動作しなかったので、いろいろ調べてみたところ
system関数が使えてないことがわかりました。
昔は使えていたのですが、サーバーを再インストールして、使えなくなりました。
ちなみに ls などのコマンドはsystem関数で使えるのですが
mkdir や useradd などは使えません。
よろしくお願いします。
0815nobodyさん
2005/08/03(水) 14:25:46ID:OQNM6t9urand()でmt_getrandmax()以上の数字出せますか?
0816nobodyさん
2005/08/03(水) 14:25:59ID:WIIsN5aXPCは検索かけると出てきましたが
携帯に対応させるにはどうしてもできなく
こちらに書き込みさせて頂きました。
0817nobodyさん
2005/08/03(水) 14:28:38ID:WIIsN5aX携帯サイトでランキングを製作したいのですが
PC用のCGIダウンロードカウンターをいじってもまったくお手上げ(ToT)
0818nobodyさん
2005/08/03(水) 14:29:24ID:WIIsN5aX間違って2度書き込みしてしまいました 汗
0821nobodyさん
2005/08/03(水) 14:32:35ID:OQNM6t9uスマソ
FFAPHPで能力値浮動小数点逝って困ってますorz
ダメージ計算でマイナス逝っちゃう・・
0822nobodyさん
2005/08/03(水) 14:37:30ID:OQNM6t9uその通り分かっております
0823811
2005/08/03(水) 17:07:36ID:OQNM6t9ufunction random($num){
$random0 = mt_rand(0,10000);
$random1= $random0 * 0.0001;
$random2 = round( $num * $random1 );
return($random2);
}
0824名無しさん@そうだ選挙にいこう
2005/08/03(水) 17:08:00ID:pKopPkZZPHPでなんとかしてください。
0826nobodyさん
2005/08/03(水) 18:51:24ID:???DB.phpってどこに入ってるんでしょうか?
WindowsのPHP5を使ってますが、どこにあるかわかりません
0827nobodyさん
2005/08/03(水) 18:52:00ID:???0828nobodyさん
2005/08/03(水) 18:56:04ID:???してみたけど、無いんですよ
もとから入ってるものじゃないんですかね?
tgzファイルがいくつかあるみたいなので、その中に
入ってるのかと思ってるんですけど
0829826
2005/08/03(水) 19:02:32ID:???#pear install DB
しろって書かれてるページは多いんですけど、これってLinux系で
Windowsでやっても(パス設定しても)ダメでしたが・・・
0830nobodyさん
2005/08/03(水) 19:07:09ID:???そのディレクトリまでcdしてから実行しろよ
0831826
2005/08/03(水) 19:33:07ID:TuHx69hTのコマンド実行後ってどれぐらいで、完了するもんでしょうか?
>>830さんの言うようにパス設定ちゃんとしたら、エラーはでないんですけど、
実行後なんのメッセージもでないまま固まってるんですけど・・・
0832826
2005/08/03(水) 19:50:53ID:???0833nobodyさん
2005/08/03(水) 19:53:47ID:???$sql = "select * from hoge;";
hogeのあとの「;」は有るのが正しい?無いのが正しい?どっちでも動いちゃうんですが。
0835nobodyさん
2005/08/03(水) 21:14:47ID:???他のDBでは通用しないのがあるので、無いのが正しいに一票。
うろ覚えだけどソース的には無いのが正しいというのを見たことがある。
2chだと思ったけど…。
0836nobodyさん
2005/08/03(水) 22:19:14ID:ehblprIn.htaccessでphp_valueを変更しようとしたんですが、反映されません。
ものすごく既出だと思うのですが、cgi版phpで、php.iniの値を変える場合はどうしたらよいのでしょう?
変えたいのは、
mbstring.encoding_translation
がonになっているので、これをoffにしたいだけなのですが...
0837nobodyさん
2005/08/03(水) 22:43:14ID:???そのCGI版PHPの設定ファイル検索ルートのどこかに
php.ini (別の名が使えるように設定している場合はその名前)を置く。
0838nobodyさん
2005/08/03(水) 23:53:04ID:jkhIjHPp何の関数を使用すればいいんですか?
0839nobodyさん
2005/08/04(木) 00:17:53ID:???こういった場合、whereのあとに
where key1 like '%a%'
or key2 like '%a%'
or key3 like '%a%'
・
・
・
と続けるしかないんでしょうか?
0840nobodyさん
2005/08/04(木) 01:17:42ID:???オレなら、フィールドを連結した文字列にINSTRとか使ってみるかな。
ここらへんとにらめっこしてみそ。
http://dev.mysql.com/doc/mysql/ja/string-functions.html
0842nobodyさん
2005/08/04(木) 02:33:10ID:???それだと
key1='hoge'
key2='hage'
検索文字列='geha'
とかの場合に問題あるんでない?
0843nobodyさん
2005/08/04(木) 15:50:17ID:???$handle=opendir(READ_DIR);
while ($entry = readdir($handle)){
if (is_dir($entry)){
echo $entry."\n";
}
}
closedir($handle);
で出力した結果がUTF-8で出力されてしまいます。
SJISで出力するにはどうすれば良いんですか?
0845nobodyさん
2005/08/04(木) 16:22:58ID:???すみません説明が少なかったみたいです。
サーバはsambaを使用していて、ディレクトリ(フォルダ)に日本語で
命名しているものもあります。
それを一覧で取得したいんです。
よろしくお願いします。
0846nobodyさん
2005/08/04(木) 16:28:41ID:???0847nobodyさん
2005/08/04(木) 16:33:47ID:???while ($entry = readdir($handle)){
if (is_dir($entry)){
echo mb_convert_encoding($entry,"SJIS","UTF-8")."\n";
}
}
closedir($handle);
でいけちゃいました。
スレ汚しスマソ
0848nobodyさん
2005/08/04(木) 23:24:02ID:6tkxUKoaabc.def.ghi. というデータがあって、
最後の、.(ドット)だけ、削除して、abc.def.ghi というデータにしたいのですが、
どうすれば良いでしょうか?
0849nobodyさん
2005/08/04(木) 23:36:40ID:???違う本を買ってみたところ、echo文で文字列をくくるのに
<<<EOD
.....
EOD;
というやり方が使われていました。
ぐぐってみたところヒアドキュメントというのを初めて知ったのですが、
この場合IDはなんでもいいとのことですが、EODという言葉自体はどのような意味を持つのでしょうか?
何かの略なのでしょうか?
0850nobodyさん
2005/08/04(木) 23:41:33ID:???0851nobodyさん
2005/08/04(木) 23:43:07ID:???EOT na hito mo iru.
EndOfText kashira.
0853849
2005/08/04(木) 23:51:56ID:???レスどうもです。(ネタ含めて)
それにしても文字列の中に連想配列を入れるときもいちいち"......" . $hoge["age"] . "..."ってやってたのに
波括弧が使えるとは知らなかった・・・orz。
入門本なんてそんなものなのかな?
0854nobodyさん
2005/08/05(金) 00:07:35ID:???$string = "abc.def.ghi.";
$string = preg_replace("/\.(?=$)/", "", $string);
0855nobodyさん
2005/08/05(金) 00:15:36ID:9OK6LhSH例えば
define("hoge","aiueo");
print "あいうえおはローマ字でhoge";
などとして「あいうえおはローマ字でaiueo」と出力させたいのです。
print "あいうえおはローマ字で" . hoge;
というのは避けたいのですが、他にやり方はあるものでしょうか?
よろしくお願いします。
0856nobodyさん
2005/08/05(金) 00:16:25ID:9OK6LhSH$string = "abc.def.ghi.";
$string = substr($string,0,strlen($string)-1);
0859nobodyさん
2005/08/05(金) 01:21:39ID:???ブログなんかでたまにある、
なんたらかんたらなんたらかんたらなんたらかんたらなんたらかんたら...続きを読む、みたいな感じにしたいのです。
0863nobodyさん
2005/08/05(金) 08:37:06ID:xefaOJlUinternal server errorがでしまいます。
OSはフェドラコア4でapacheとphpはyumでインストールしてきました。
このとき設定は特に変える必要はないそうなのですが、何か変更が必要ですか?
すれ違いなら誘導お願いします。
0864nobodyさん
2005/08/05(金) 09:01:49ID:???0865nobodyさん
2005/08/05(金) 09:19:40ID:???0866863
2005/08/05(金) 09:43:21ID:tHV4jGl/エラーは
security alert This PHP CGI cannot be accessed directry
まずこれがあります。
ほかにもあるんですが、いまコピペできる環境にないんで。
0867nobodyさん
2005/08/05(金) 09:47:17ID:???; cgi.force_redirect = 1
↓
cgi.force_redirect = 0
0868863
2005/08/05(金) 10:05:20ID:tHV4jGl/できたーーーーーーーー
俺>>867さんのことダイスキ。ありがとうございました。
0869nobodyさん
2005/08/05(金) 10:45:27ID:???結果を変数に取り込むにはどうすればよいのでしょうか?
exec関数では結果が返ってきませんし、passthruやsystemでは
直接画面(ブラウザ)に表示されてしまいます。
$result = system($file_name);
↑みたいな感じで書いてみたのですが・・
0870nobodyさん
2005/08/05(金) 11:04:18ID:???画面に出ちゃうのは、ob_* を使えば 変数に取り込めるよ。
ob_start();
system('test.bat');
$str = ob_get_contents();
ob_end_clean();
echo "<p><font color="#ff0000">$str</font></p>";
まぁ、batファイル内でecho したものを $str=` ` や $str=exec() で変数に入れちゃえますけど。
0871nobodyさん
2005/08/05(金) 13:17:03ID:???なるほど。やってみます。
取りあえずバッチファイル内の各行末でパイプ使ってリダイレクトさせてみましたが、
余計なファイルを作らなくて良いならそれにこしたこと無いので。
■ このスレッドは過去ログ倉庫に格納されています