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

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2005/11/01(火) 17:56:36ID:???
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>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/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
【PHP】下らねぇ質問はここに書き込みやがれpart10
http://pc8.2ch.net/test/read.cgi/php/1127581425/
【PHP】下らねぇ質問はここに書き込みやがれpart11
http://pc8.2ch.net/test/read.cgi/php/1129582431/
0866nobodyさん2005/11/22(火) 23:30:32ID:???
.htaccessでも置いとけば。
0867nobodyさん2005/11/22(火) 23:49:43ID:???
つ .htlog
0868nobodyさん2005/11/23(水) 00:14:05ID:???
>>863
そうだね。マニュアル読めない人にマニュアル読めと言うスレ。
0869nobodyさん2005/11/23(水) 01:39:52ID:RB2j7g2r
携帯でも見れるサイトを作ってて、
imodeでは見れるけどauやvodaではリストボックスとか登録ボタンとか
全然出てこないんですが。←まっしろ
どこのサイトに行けばやり方のってるんすかね?
0870nobodyさん2005/11/23(水) 01:42:47ID:???
>>868
違うよ。マニュアルを読めない人に「マニュアルを読む」とはどういう事かを説くスレ。
0871nobodyさん2005/11/23(水) 01:44:03ID:???
>>869
で、その質問のどこがPHPなんだ?
0872nobodyさん2005/11/23(水) 04:06:56ID:???
>>870
まず>>869に説いてやってくれ
0873nobodyさん2005/11/23(水) 12:54:55ID:???
>>865
そのログファイルのオーナーをPHPが動いているユーザーと同じにする。
0874nobodyさん2005/11/23(水) 18:08:28ID:???
PHPをCGIとして利用したいのですが、
require_onceで組み込むphpファイルでも
#!/usr/local/bin/php と書き加えてCGI化する必要があるのでしょうか?
0875nobodyさん2005/11/23(水) 18:28:06ID:09k62UC2
ログを吐くPHPスクリプトで、下のように記述された数値
を取得して、AAAをBBBで割るにはどうすれば良いでしょか?

■err.log
AAA,6554
BBB,4882

[名前,数値]→取得→AAAをBBBで割る→結果を出力(print.php)
0876nobodyさん2005/11/23(水) 18:36:00ID:???
> [名前,数値]→取得→AAAをBBBで割る→結果を出力
これを更に関数や構文単位にまで分割してください。
08778752005/11/23(水) 18:47:41ID:09k62UC2
>>876
(?_?)
例えを分かりやすくするために…

<?php
header("Content-type: text/plain");
system('hostname'),;
system('uptime');
?>
■■表示結果(system.php)■■
localhost,6:45PM,4, 0.38, 0.31

これを、print.phpに表示したいと思ってます。
<table>
  <tr>
    <th>HOST NAME</th><th>UPTIME</th>
  </tr>
  <tr>
    <td>localhost</td>
    <td>6:45PM,4, 0.38, 0.31</td>
  </tr>
</table>

どうすれば出来るのでしょうか?
08788752005/11/23(水) 18:53:21ID:09k62UC2
やっぱり>>877は取り消して…

カンマ( , ) で区切ったのを表示させる方法がわかりません。
0879nobodyさん2005/11/23(水) 19:15:21ID:???
>>875.877.878
お前はパラノイアか?
何をしたいのかがまったく判らん。
0880nobodyさん2005/11/23(水) 19:16:05ID:???
>>878
explode
08818752005/11/23(水) 19:18:25ID:09k62UC2
>>880
スゲー、あなた天才^^

>>879
スマン
0882nobodyさん2005/11/23(水) 19:35:19ID:???
>>881
じゃなくておまえが馬鹿なだけ
0883nobodyさん2005/11/23(水) 20:56:16ID:???
>>874
CGIとinclude/requireの動作原理を理解すれば、どうすればいいかわかる

つか先に試せ
0884nobodyさん2005/11/23(水) 21:08:50ID:???
HTML + DB(MySQL) をUTF-8にしようと思うんだけど
なんか注意することある?
0885nobodyさん2005/11/23(水) 21:11:00ID:???
>>884
地震・水害・鳥インフルエンザ
0886nobodyさん2005/11/23(水) 21:15:16ID:???
>>884
寒くなってきたから風邪に気をつけろよ。
コタツで寝たりしちゃ駄目だぞ。
0887nobodyさん2005/11/23(水) 21:15:47ID:???
>>884
PHPが使われているか否か
0888nobodyさん2005/11/23(水) 21:54:12ID:???
>>883
CGIにしなくても問題なく動いたのですが、それが
正規な方法か判断がつきませんでした。
へるぷみー
0889nobodyさん2005/11/23(水) 22:54:29ID:gHn1+fgk
base64_encodeで、BASE64形式にエンコード出来たのですが、BASE64形式以外の
形式(%82%A8%82%DC%82%A2%82%E7%83%)にエンコードするにはどうすれば良いのでしょうか?
0890nobodyさん2005/11/23(水) 22:58:45ID:???
ヒント:URLENCODE
0891nobodyさん2005/11/23(水) 23:11:13ID:???
php4 と php5どっちがはやいの?
08928892005/11/23(水) 23:17:19ID:gHn1+fgk
>>890
出来ました!ありがとうございます。
##検索して来た人用のためにサンプル置いときますね!

<?php
$data = urlencode("テスト");
print($data);
?>

デコードも簡単…
$data = urldecode("%83e%83X%83g");
0893nobodyさん2005/11/23(水) 23:46:18ID:???
>>892
よっぽど嬉しかったんだろうな…
0894nobodyさん2005/11/23(水) 23:47:59ID:???
>>893
べ つ に ・ ・ ・










このスレの方の優しさに感激
0895nobodyさん2005/11/24(木) 01:24:59ID:???
実際890はヒントではなく答えな訳で・・・
というかヒントを出せないくらい基本的な事
0896nobodyさん2005/11/24(木) 01:42:38ID:???
>>889
マニュアルくらい読めと言いたい
0897nobodyさん2005/11/24(木) 02:07:03ID:???
ログファイルの下5行だけを処理する場合に

for($i = 0; $i > count($log)-5; $i++){
}

じゃ何でダメとですか?
0898nobodyさん2005/11/24(木) 02:12:32ID:???
>>897
>count($log)
毎回この部分を評価しなおすから

じゃないか?試してないけど
0899nobodyさん2005/11/24(木) 02:18:44ID:???
>>897
count($log)が5以上の時はループしないから。
09008972005/11/24(木) 02:33:42ID:???
何か漏れのキャパを超えているようです・・・
・゚・(´Д`)・゚・ 誰か助けてください!
0901nobodyさん2005/11/24(木) 03:25:26ID:???
for($i=count($log)ー5;$i<count($log);$i++)
ではどう?
0902nobodyさん2005/11/24(木) 03:57:01ID:???
何したいのかしらんけど
array_slice($log, -5)じゃいかんのか?
0903nobodyさん2005/11/24(木) 04:06:54ID:???
>>897
Perlメモでググれ。
0904nobodyさん2005/11/24(木) 04:38:48ID:???
>>897
>>899の回答見てもわからんのか?
おまえ向いてないよ。諦めれ。
0905nobodyさん2005/11/24(木) 07:29:00ID:???
forの扱い方が根本的に違う
0906nobodyさん2005/11/24(木) 10:09:32ID:???
実は$logが配列でない気もしてきた・・・
0907nobodyさん2005/11/24(木) 11:50:05ID:???
実は>>897も存在してないような気がしてきた…
0908nobodyさん2005/11/24(木) 13:11:55ID:???
ひー
((((;゚Д゚)))ガクガクブルブル
0909nobodyさん2005/11/24(木) 13:38:58ID:???
画像の縦横比を変えずにリサイズしたいのですが、
どのような方法でリサイズすれば良いでしょうか。
0910nobodyさん2005/11/24(木) 13:51:59ID:???
漏れは面倒なのでいつもGDを使ってる
0911nobodyさん2005/11/24(木) 14:02:36ID:???
漏れは面倒なのでいつもPhotoshopを使ってる
09129102005/11/24(木) 14:03:35ID:???
それだけの用途にPhotoshopは高い・・・(´・ω・`)ショボーン
0913nobodyさん2005/11/24(木) 14:29:47ID:???
>>909
リサイズ、リサンプルならPHPのグラフィック関数(要するにGD)とか、ImageMagick。
それらを利用したサムネール作成のライブラリを利用してもいい。
phpThumbとか。他にもいっぱいあるから探してみな

あと「縦横比を変えずに」ってのは、算数の話だから。
0914nobodyさん2005/11/24(木) 14:30:25ID:???
>>912
GIMP使えよ…
0915nobodyさん2005/11/24(木) 15:12:04ID:???
以前、なんか導入するの('A`)マンドクセ、って感じだったので適当に
スクリプト書いてそれで済ましちゃったから、それっきりだ
0916nobodyさん2005/11/24(木) 16:04:22ID:???
>>909
1)リサイズしたい画像の種類を調べて、それに合わせた命令で画像を開く
2)画像の縦横サイズを読み込む
3)「算数」レベルの計算をする
4)新しい画像を作る(サイズは上で計算したやつ)
5)元の画像から新しい画像へ複製サイズ変換する
6)画像を書き出す
7)元の画像と作った画像のメモリを開放する
09179092005/11/24(木) 16:16:52ID:???
出来ました。みなさんありがとうございました。
一度作って保存して開放という流れなんですね。
このことは一生忘れません。
0918軟式PHP2005/11/24(木) 16:56:58ID:???
熱い奴だな。
0919nobodyさん2005/11/24(木) 17:48:03ID:???
>>917はマニュアル読んだら発火するんじゃまいか
0920nobodyさん2005/11/24(木) 17:53:41ID:C4QTlVLt
mysql_escape_stringでエスケープ処理した日本語を含むデータを
ブラウザに表示すると、改行とかが\nで表示されるのは当たり前なのですが、
このエスケープした文字を直すのにはどうすればいいのでしょうか?

リファレンス本に日本語を含むクエリ文字列をデコードとあったのですが
そのmb_parse_str()では結果が1になってしまい、
適切な文字列が表示されませんでした。
0921nobodyさん2005/11/24(木) 21:43:05ID:???
1行テキストをどこからインクルードしてもランダムで表示するスクリプトを作成してます。

■rawords.php ram.phpが読み込むファイルです
a行

b行

c行

■ran.php インクルードさせるファイルです
<?php
$quotes = file("http://domein/in/rawords.php");
$quote = rand(0, sizeof($quotes)-1);
echo <<<EOM
<p>$quotes[$quote]</p>
EOM;
?>

■whatever.php なんでも。
<?php include("ran.php"); ?>
インクルードパスを指定してあるのでどこからでもこれで良いのです。

こうすると
<p>b行
</p>
のように出力結果の際、改行まで変数に格納されてしまいます。
どうにかして出力結果を
<p >b行</p>
のように一行にまとめられないでしょうか。
ただし、c行(一番したのもの)を表示するときには一行にまとまっています。

どなたかお教え下さい。
09229212005/11/24(木) 21:44:36ID:???
なぜか
a行b行c行のところが辺に改行されてしまいましたが

実際は
a行
b行
c行
の3行だけが中身です
0923nobodyさん2005/11/24(木) 21:51:39ID:???
突っ込みどころ満載なのは置いておいて・・・
その出力で改行が含まれて何か不都合でもあるの?
0924nobodyさん2005/11/24(木) 21:53:18ID:???
改行消せばえぇやん('A`)
0925nobodyさん2005/11/24(木) 21:53:30ID:???
なにが問題になっているかを突き詰めていけば、
file()で読み込んだ配列の各要素のお尻に改行文字が付いてるってことだよね?
で、マニュアルのfile()を読めば分かるけど、これは正しい挙動。
なので、お尻の改行文字を削除する方法を考えればよい。
で、こういう処理をする関数がちゃんとあるわけだ。
0926nobodyさん2005/11/24(木) 22:01:41ID:???
実際の所、マニュアル読め で済む話なんだけどね。書いてあるから
http://php.net/file
0927nobodyさん2005/11/24(木) 23:37:20ID:N1UlY50b
delete関数ってどういうときに使うの?
0928nobodyさん2005/11/24(木) 23:42:32ID:???
delete(>>927);
0929nobodyさん2005/11/25(金) 00:37:49ID:D20eJ5kK
仕事でWebObjects→J2EE→.NETとWebアプリケーションを作ってきました。
この度、個人レベルのWebアプリケーションを作ってみたいと思い、
phpを勉強中なのですが、勝手の違いに戸惑っています。

悩んでいるのは、
1.ロジックとデザインの分離
2.処理や機能とphpファイルへの割り当て方
3.フォルダ構造
などです。

1.はsmartyを使ってみたり、xoopsを解読してみたりしています。
2.はかなり悩んでいます。機能ごとにファイルをわけた方がいいかとか
 ある程度の機能を1ファイルで処理する(クエリストリングで指定)とか
 (もちろんクラス分けはします)
3.は、今作りたいのが、トップページがあってログインしていくつかの
サービスを使えるというものなのですが、ファイルをフラットに並べた方がいいのか、
フォルダ分けした方がいいのかとか、共通のクラスをどう置いて、
それぞれのファイルからはどうincludeすればいいのかとかそういう事です。

非常に基本的な事だと思うのですが、このあたりが固まらないと
なかなかすすみません。

そこで、なにかしらの情報を得たいのですが、
サイト、本、サンプルコード等ありましたら教えてください。

ちなみに、現在以下の本で勉強中です。

「PHPによるWebアプリケーションスーパーサンプル」
http://www.amazon.co.jp/exec/obidos/ASIN/4797321288/qid=1132846479/sr=8-1/ref=sr_8_xs_ap_i1_xgl/250-3747813-9702656

「自分で作る blog ツール」
http://www.amazon.co.jp/exec/obidos/ASIN/4797327073/qid=1132846553/sr=1-1/ref=sr_1_2_1/250-3747813-9702656
0930nobodyさん2005/11/25(金) 00:47:20ID:???
>>929
仕事でwebアプリケーションを作っていた人間とは思えない発言だな…
とりあえず、どの言語でも基本だろうが「マニュアル嫁」
09319292005/11/25(金) 00:54:59ID:???
>>930
レスありがとうございます。

>仕事でwebアプリケーションを作っていた人間とは思えない発言だな…
>とりあえず、どの言語でも基本だろうが「マニュアル嫁」

ごもっともで申し訳ないです。仕事のレベル自体は高くないので。
ただ、マニュアルは参照程度に読んでいます。
作りたいものを作る事は出来そうなのですが、
拡張しやすいもの、綺麗なもの(可読性等)といったようなコツはやはり
マニュアルだけでは分からないかなと思い質問しました。

マニュアルはもっと読むべきだと思いますんで。マジメに読む事にします。どうもです。

0932nobodyさん2005/11/25(金) 00:58:33ID:???
束縛されるのに慣れちゃってそういう仕組みが無いPHPに戸惑ってるってことじゃないかな。
フレームワークスレがあるからそっちを眺めて自分に合いそうなのを探した方がよいかも知れず。
0933nobodyさん2005/11/25(金) 01:01:32ID:???
規約はありさえすれば何でもいいじゃない
適当なフレームワークに押し付けてみて
ダメならその時自分で作るとか
マニュアルは言語マニュアルなんで設計の話はゼロだよ
09349292005/11/25(金) 01:14:02ID:???
>>932
>束縛されるのに慣れちゃってそういう仕組みが無いPHPに戸惑ってるってことじゃないかな。

そういうことなのかもしれません。
束縛されているのに慣れていると感じた事はありませんでしたが
確かに、自由すぎて1段したから考えなければ行けないのに戸惑っています。

ロジックさえちゃんと分けておけば後から別の仕組みに置き換えることも
簡単かもしれませんが、結局の所みな大事な所は独学ということなんですかね?

フレームワークスレ見てみます。
ちょと調べた感じだとsmartyでいいかなという感じではありましたが。
フレームワーク選びに時間を費やすのもなんですけどね。

>>399
そうですよね。
でもフレームワークから作っていたら完成がずっと後になりそうです。
基本的に週末だけの作業ですから早くカリカリとコーディングしたいです。

0935nobodyさん2005/11/25(金) 01:16:24ID:???
設定ファイルで使うグローバル変数の
命名規則について迷っています。
候補は以下の二つなのですが、どちらがよいでしょうか?
できればPHPのスタンダードな記述方法が良いです。
あと、他にも良いのがあれば教えて下さい。

1、全て大文字で文字列の区切りはアンダーバー($FOO_BAR)
2、先頭はアンダーバー始まり、全て小文字で文字列区切りはアンダーバー($_foo_bar)
0936nobodyさん2005/11/25(金) 01:24:20ID:???
$GLOBALS['フーバー'] = '設定';
echo ${'フーバー'};

これをスタンダードにしようぜ
0937nobodyさん2005/11/25(金) 01:26:37ID:???
ちなみにPEARはこんな感じ
http://jp2.pear.php.net/manual/ja/standards.naming.php
0938nobodyさん2005/11/25(金) 01:33:09ID:???
pearは実際には$GLOBALS使ってるな。globalではグローバってない。
0939nobodyさん2005/11/25(金) 03:19:42ID:???
>>936
超COOLだぜ
0940nobodyさん2005/11/25(金) 04:13:50ID:???
会社の後輩がPHPのお勉強の為にホームページをこしらえました。
ttp://313ed.lolipop.jp/

今後も彼が益々上達しますよう、お便りを送ってあげてください。
0941nobodyさん2005/11/25(金) 04:41:43ID:vFK4F58j
キモッ!
0942nobodyさん2005/11/25(金) 07:40:56ID:???
>>920
mysql_escape_stringってデータをMySQLに入れるときに使う関数だよ。
今はmysql_real_escape_stringが推奨。
データベースからデータを引き出したときにはアンエスケープされてるから何もする必要はないけど。
改行が\nで表示ってmysql_escape_stringとは全然関係ないんだけど勘違いしてないか。
0943nobodyさん2005/11/25(金) 12:49:42ID:???
php.ini の short_open_tag って Off が奨励されているみたいだけど、
Off の状態で <? echo "test"; ?> と書いてブラウザでソース表示すると
PHPのソースが丸見えになっちゃうんだね。
今は <?php と書く癖がついているけど、昔書いたスクリプトで <? のままのがあって
アレレ〜になってしまった。
設定ミスでソースが見えてしまうのは避けたいので、防ぐ方法ってないかしらん?
0944nobodyさん2005/11/25(金) 13:05:17ID:???
>>943
古いそーすの<?を<?phpに変換する
0945nobodyさん2005/11/25(金) 13:25:52ID:???
>>943
またはshort open tagをonにする
0946nobodyさん2005/11/25(金) 13:32:49ID:???
>>943
あるいはCGIで動かす
09479432005/11/25(金) 13:50:50ID:???
みんなありがとね。根本的な対策ってなさげかな。
<? を修正したり、short_open_tag = On にしたりというのが正しいのだろうけど、
人間はミスするものだから、ミスでソース丸見えってのはツライな。
後は、丸見えになっても困らないように URL でアクセスできるスクリプトは
require() だけにするぐらいか。。。

>>946
CGIで動かしても同じだと思うのだけど、漏れが勘違いしてる?
0948nobodyさん2005/11/25(金) 13:56:03ID:???
>>947
根本的って……。
それが、タグの書き換えであり、short_open_tags=Onなんじゃねーのか?
いったい何を期待してたんだ?
09499432005/11/25(金) 14:04:13ID:???
>>948
あ〜、確かに意味が変だね。
"根本的な対策" → "ミスのしにくい対策"
って直しておきます。これで満足?
09509092005/11/25(金) 14:06:28ID:???
I Don't know what you're expecting of me.
Put under the pressure of walking in your shoes.
0951nobodyさん2005/11/25(金) 14:07:09ID:???
誤爆ごめんね・・・。
0952nobodyさん2005/11/25(金) 14:12:26ID:???
sedなりなんなりで <? →<?php に置き換えるスクリプトでもかましてからアップすれ


で、その次は、作ったタグ置き換えスクリプト通すのを忘れにくくする対策を考えるのさ
0953nobodyさん2005/11/25(金) 14:12:28ID:???
言葉面はどうでもいいけど、その2つしか方法は無いよ。
0954nobodyさん2005/11/25(金) 14:16:26ID:???
>>949
なに開きなおってんだ?
0955nobodyさん2005/11/25(金) 16:08:26ID:???
actionのurlと
そのinputのnameとvalue
をgetで取得して

getで受け取ったのを
postすることってJavaScript併用しないとできないですか?
ほんとくだらなくてすみません
0956nobodyさん2005/11/25(金) 16:17:29ID:???
>>955
真面目にやるなら、fsockopen()を使ってHTTPのPOSTメソッドの仕様にしたがってPOST先にデータを渡す。
キーワード [ HTTP RFC1945 RFC2616 POST fsockopen ]
pearのHTTP_Clientを使うと楽できる。
0957nobodyさん2005/11/25(金) 16:22:54ID:???
>>956
HTTP_Clientか
使ってみる
0958nobodyさん2005/11/25(金) 17:31:41ID:???
ファイルのアップロードのやりかたをおしえてください
0959nobodyさん2005/11/25(金) 17:34:04ID:???
>>958
FTP
0960nobodyさん2005/11/25(金) 17:38:01ID:???
楽するならfile_get_contentsでPOST
0961nobodyさん2005/11/25(金) 17:43:18ID:???
>>958
php ファイル アップロード
でぐぐってみなよ。
0962nobodyさん2005/11/25(金) 17:47:28ID:???
>>929
ブログツールの本も読んでるみたいだし、ならwordpressのフォルダ構造とか参考にしてみたら?
あとは、web上で公開されてるファイル数多めのphpツールをひたすらダウンロードして自分で解析しまくる。
0963nobodyさん2005/11/25(金) 17:51:07ID:???
wpはプロシージャ系だから参考にならないよ
0964nobodyさん2005/11/25(金) 18:15:44ID:???
>>963
うんじゃ、phpMyAdminとか
0965nobodyさん2005/11/25(金) 18:47:40ID:???
ものすごくくだらない質問ですみません。

GETで指定されていない場合、hogehogeを変数nameにいれたいのですが、
GETを取得していない場合という分岐ができません・・・

if(!$_GET['hoge']===TRUE){
$name="hogehoge";
}else{
$name =$_REQUEST['hoge'];
}

どうか教えてください・・・
0966nobodyさん2005/11/25(金) 18:53:17ID:???
if (empty($_GET['hoge'])) {}
とか
$name = empty($_GET['hoge']) ? 'hogehoge' : $_REQUEST['hoge'];
レス数が950を超えています。1000を超えると書き込みができなくなります。