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

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

レス数が900を超えています。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/
08027982005/11/21(月) 21:24:06ID:8Y80p1yI
>>800
そう・・・まさにそこがわかんないっす
0803nobodyさん2005/11/21(月) 21:28:12ID:???
>>802
メールを受信した時にスクリプトを起動する仕組みをもったメル鯖ソフトが多いから、
それを使えばよろし。メル鯖ソフトのマニュアルを見りゃ載ってるよ。
0804nobodyさん2005/11/21(月) 21:36:42ID:???
>>802
通常は、メール転送設定で、転送先を書く代わりに PHP のスクリプトを呼び出すような方法をとる。
で、PHP スクリプトには標準入力としてメールの本文(ヘッダも含めて)が入ってくるので、それを
読み出して処理をする。
例えば、sendmail であれば、.forward ファイルに以下のように書く。
| /path/to/php /path/to/スクリプト名
これらはメールサーバーに何を使用しているかによって変わるので、それらを書かない限り明確な
答えは得られない。また、オマイさんがその辺を操作できる権限があるか、ってことも必要。
別案としては、cron で定期的にスクリプトを呼び出して、pop3 を使ってメールボックスを覗くという
方法もある。
08057982005/11/21(月) 22:01:14ID:???
>>799,>>800,>>801,>>803,>>804
ありがとうございます、メル鯖はまだ決まっていませんが第一候補はqmailです。
どう手をつけていいか全くわかりませんでしたが皆様のお答えをもとに頑張ってみます。
0806nobodyさん2005/11/21(月) 22:07:37ID:???
>>805
お〜 qmail とは好きもんだね、オマイさん。漏れと一緒だ。
判らなかったらまた来んしゃい。
08074512005/11/21(月) 22:11:53ID:qGIHIfZl
formで複数のチェックボックスの値をGETで受け渡ししたい時に、

<form method='get' action='./test.php'>
<input type='checkbox' name='hoge[]' value='name1'>name1
<input type='checkbox' name='hoge[]' value='name2'>name2
<input type='checkbox' name='hoge[]' value='name2'>name2
以下省略

という風にすると、URLが
〜/test.php?hoge%5B%5D=name1&hoge%5B%5D=name2
みたいに“%5B%5D”がついてしまいます。
これを
〜/test.php?hoge=name1&hoge=name2
みたいにすっきりとさせたいのですが、
受け取り側はどのような処理をすれば良いのでしょうか?
(通常は上書きされてします)
やはり受け渡し側で[]付けて配列だよってしなきゃだめですか?
08088072005/11/21(月) 22:12:51ID:???
あ。別板の数字をつけたまんまでした。宜しくお願いします。
0809nobodyさん2005/11/22(火) 01:49:20ID:???
スレ違いかもしれないけど、うたまっぷなどの歌詞表示サイトの歌詞を
スクリプトを介してテキスト変換するにはどうすればいいんでしょう?
0810nobodyさん2005/11/22(火) 02:07:34ID:???
>>809
そのサイトの案内にあるとおり、使用許可を受ければよい。
0811nobodyさん2005/11/22(火) 07:06:41ID:???
>>807
$_SERVER['QUERY_STRING']を自前でパースする。
08128072005/11/22(火) 09:50:30ID:???
>>811
$_SERVER['QUERY_STRING']使えないんです…。
やっぱり、それしか方法ないんですかね。
0813nobodyさん2005/11/22(火) 09:51:37ID:???
>>796
そのパスはcryptする必要があるのか?
0814nobodyさん2005/11/22(火) 12:09:22ID:JIN7CCHb
PHPについて勉強中の者ですが、以下の様なアクセス制限をしたいと考えています。
可能かどうかや、参考になるサイト(自分でも探してみましたがなかなか見つからず困っています)
似た様なフリーソフトなどあれば教えて頂きたく書き込みをさせて頂きました。

やりたい事
1、サイトトップページ(index.html)内にログインフォームを設置
2、ログインフォームにIDとPASSを入力して認証
3、認証が成功するとmemberディレクトリ内の閲覧が可能
4、認証が成功した場合、index.htmlのログインフォームが無くなり、
『ようこそ○○さん』という様な表示と、ログアウトボタンを設置
5、ログアウトボタンを押すとmemberディレクトリの閲覧不可
6、アクセス制限はmemberディレクトリ全体(サブディレクトリにも適用)
7、memberディレクトリ内の各ページにもログアウトボタンを設置
8、IDとPASSはサイト運営者のみ参照・追加・変更
0815nobodyさん2005/11/22(火) 12:13:31ID:???
>>814
.htaccess
0816nobodyさん2005/11/22(火) 12:13:48ID:???
どんなワードでぐぐればそんな一般的な話題をスルーできるのか不可思議だ
0817nobodyさん2005/11/22(火) 12:18:19ID:???
つーか、PASSを運営者が参照出来るサイトはあんまり・・・
0818nobodyさん2005/11/22(火) 12:19:14ID:???
>>814
つ [会員制 ログイン セッション PHP] for Google
0819nobodyさん2005/11/22(火) 12:25:46ID:???
>>814
memberディレクトリの画像に直リンクされるのも困るのならhtaccess使うしかないね
パスはフォームとか使ってcryptされたものを受け取ればいいし
0820nobodyさん2005/11/22(火) 12:53:40ID:MgTex/Ri
>>795
返事遅れました.
この場合,どのように対処したらいいんでしょうか?
0821nobodyさん2005/11/22(火) 14:25:11ID:???
>>819
一概にそうとも言い切れない。
(>>814にはまだ敷居が高いかもしれないが)
0822nobodyさん2005/11/22(火) 15:04:00ID:???
すみません教えてください。
$lines = file( "log.txt" );
をやった時にlog.txtファイルが無いとエラーで以降の処理をしてくれないのですが
これはどうやって回避すればいいですか?
0823nobodyさん2005/11/22(火) 15:06:25ID:???
>>822
ファイルがあるかどうかを気にしたいなら、file_existsで確認すればいいじゃない
0824nobodyさん2005/11/22(火) 15:20:30ID:???
>>823
いえむしろそれは意識したくなかったんだけど
Warning: file(): Unable to access log.txt
ってエラーがでるもんで
$lines = file( "log.txt" );
$cnt = count( $lines );
ファイルがなくても上のfileをスルーして$cntに0が入ればいいかなと
08257922005/11/22(火) 15:23:40ID:???
どなたか分かる方いらっしゃいませんか?
0826nobodyさん2005/11/22(火) 15:36:26ID:???
>>792
まさかextension=php_mbstring.dllのコメントアウト忘れてないよね。。。
08277922005/11/22(火) 15:39:15ID:???
>>826
それは大丈夫です.
コメントアウトしていました.
0828nobodyさん2005/11/22(火) 15:39:48ID:???
>>824
ファイルがあるかどうかで挙動が変わるのなら、file_existsで分岐すればいいじゃない
0829nobodyさん2005/11/22(火) 15:40:07ID:???
>>825
mbstring以前に表示文字コードの問題じゃないかと思うのだが。
0830nobodyさん2005/11/22(火) 15:42:27ID:???
>>792
●mbstring.script_encoding = EUC-JP

ってことソースファイルはEUCでまちがいないね?
0831nobodyさん2005/11/22(火) 15:45:57ID:???
>>792
これをEUCで保存して表示させてみ

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<title>sage</title>
</head>
<body>
<?php
$var = "aあ bい cう";
print "$var";
?>
</body>
</html>
0832nobodyさん2005/11/22(火) 15:56:59ID:???
>>824
@file()
素人にはオススメできない。
0833nobodyさん2005/11/22(火) 16:07:53ID:???
>>832
素人は普通にfopenがいいですか?
08347922005/11/22(火) 16:17:45ID:???
>>830,831
テキストエディタはメモ帳を使っているのですが
文字コードはデフォルトの「ANSI」でした
EUCはドロップダウンリストに無かったのですが・・・
0835nobodyさん2005/11/22(火) 16:22:17ID:???
>>834
TeraPad落として出直して来い
0836nobodyさん2005/11/22(火) 16:24:53ID:???
近頃はこのレベルでもweb開発目指すのか

まぁ温かく見守ろうとは思うが、ちょっとつらいね
08377922005/11/22(火) 16:35:53ID:???
メモ帳はダメなんですね…
Windows附属だというのに困ったものです
0838nobodyさん2005/11/22(火) 16:43:09ID:???
困ったもんだな
0839nobodyさん2005/11/22(火) 16:49:09ID:???
>>837
お前が困ったものなのだよ
08407922005/11/22(火) 17:03:25ID:???
だって普通メモ帳だけでいけると思うやん
ゲイツが悪いんだよ
0841nobodyさん2005/11/22(火) 17:05:57ID:???
ゲイツさんは残念ながらマックユーザーです。
0842nobodyさん2005/11/22(火) 17:09:33ID:???
>>840
普通メモ帳使いませんが。
0843nobodyさん2005/11/22(火) 17:13:32ID:???
ゲイツが好きならWord使えばよか
EUC対応
0844nobodyさん2005/11/22(火) 17:29:10ID:???
phpでアクセス制限をかけた際に、
任意のエラーページ(404とか403とか)に飛ばすことは可能ですか?
08457922005/11/22(火) 17:33:48ID:???
>>842
そうなんだ
わざわざ他のインストするのもあれなんで
ずっとメモ帳だった
0846nobodyさん2005/11/22(火) 17:37:18ID:???
>>845
テキストエディタの重要さを知らないとは!嘆かわしい。
そんな君には Meadow はどうだ。


・・・挫折必至
08477922005/11/22(火) 17:56:10ID:???
Meadowは知ってるが
別に装飾された文を作るわけでもないのに
なんでそんな高機能なエディタでやるの?
0848nobodyさん2005/11/22(火) 17:57:52ID:???
>>844
HTTPヘッダーのLocationで飛ばす
0849nobodyさん2005/11/22(火) 17:59:53ID:???
メモ帳でやってたらわけわからなくならないか?
そこまで複雑なもんを作らないのなら別だが。デバッグとか大変だろ。
0850nobodyさん2005/11/22(火) 18:00:58ID:???
自称「俺はPC-9800時代からバリバリコード書いてた上級者PHPしかできないお前らみたいなにわか野郎とは経験が違うんだぜ」厨の予感
0851nobodyさん2005/11/22(火) 18:05:27ID:???
>>850
edか?
0852nobodyさん2005/11/22(火) 18:06:58ID:???
if($oyako == "0")
と
if($oyako == 0)

が別の結果になるのですが、そんなもんですか?
明確な理由があるのなら知りたいのですが、仕様ですか?
バージョンは4.3.10-16です。

if($oyako == "0")
だと0だけtrue

if($oyako == 0)
だと""(つまり$oyakoは空)と0がtrueになっているようです
0853nobodyさん2005/11/22(火) 18:08:06ID:???
>>852
===
0854nobodyさん2005/11/22(火) 18:12:36ID:???
>>852
http://jp2.php.net/manual/ja/language.types.boolean.php
0855nobodyさん2005/11/22(火) 18:20:46ID:???
>>848
レスありがとうございます。
我慢の限界を迎えたので、.htaccessで弾きました。
でもせっかくなのでphpでも弾きたいと思います。
どうもでした。
08568522005/11/22(火) 18:22:20ID:???
>>853さん、>>854さん、ありがとうございます。
== は booleanの処理をするって事でしょうか。
単純にイコールって意味だと思ってました・・。

===って常に書いたほうが確実って事かな・・
0857nobodyさん2005/11/22(火) 18:34:06ID:???
==は型が違っていたら変換して比較
===は型が違っていたらそれだけでFALSE
正確に知りたければ↓
http://jp2.php.net/manual/ja/types.comparisons.php
0858nobodyさん2005/11/22(火) 18:39:31ID:???
>>856
つか、少しはマニュアル見たら?
08597922005/11/22(火) 18:40:42ID:???
>>856
ほんと帰っていいよ
08607962005/11/22(火) 18:52:09ID:xK2yLcAM
>>813
レスありがとうございます。
useraddでユーザーを作成する場合はcryptする必要があるようです
(man useraddコマンドやグーグル等で見ました)

今日もう一度色々試していたところ
$pass = crypt("hogehoge",substr($user,0,2));
このような暗号化をすれば正常にアカウントを作成し、FTPでログインできるように
なりました。
08618522005/11/22(火) 19:06:58ID:???
>>857
まことにありがとうございました。
表をよく見て活用させて頂きます。

>>858さん
ガンガリマス

>>859さん
さようなら

0862nobodyさん2005/11/22(火) 19:16:52ID:???
>>855
いや、Locationで飛ばせってのは
PHPでチェックして、認証で×ならLoationで
403のページ(403.htmlとか)を出して、
○なら正規の動作をさせるということ。
巷のリファラチェックでエラー出す処理と似たような感じ。
で、PHPのスクリプトの最初に認証が通ってるのか、
無いのかを頭でチェックするようにしておく。
(セッションとか)

普通の静的なhtmlや画像他のファイルへのアクセスも
ブロックしたいのなら、.htaccessでやるしかないね。
0863nobodyさん2005/11/22(火) 20:49:47ID:???
>>858
この前、くだしつ と本スレの違いについて話してたんだが、
くだしつ はマニュアル読めない人用らしいよ。
0864nobodyさん2005/11/22(火) 21:56:26ID:???
自分の質問がくだらないと思える方はコチラへ
0865nobodyさん2005/11/22(火) 23:24:55ID:???
ログファイルをアクセス不可にするって無理?
パーミッション 600 とかにすると PHP の方がアクセスできなくなる…。

何か別の方法は無いもんかね?
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++)
ではどう?
レス数が900を超えています。1000を超えると表示できなくなるよ。