【PHP】下らねぇ質問はここに書き込みやがれpart10
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/09/25(日) 02:03:45ID:nLUfPXhDここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>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/
0655597
2005/10/09(日) 17:28:56ID:GtXpmFa3あと、おそらく今回とは関係ないのかもしれないですが、
/usr/local/lib/php/extが無いっていうのはおかしくないのですか?
もしあとから動的に組込みたいときとか組み込めなくないですか?
0657652
2005/10/09(日) 17:39:03ID:???0658652
2005/10/09(日) 17:45:48ID:???is_fileだとjpgファイルは表示されないのですね。
0660nobodyさん
2005/10/09(日) 17:56:00ID:???ディレクトリくらい必要なら作ればいいだけじゃないのか?
あと、どんなMakefile作ったかしらんがデフォだとLIBDIR/extensions/no-debug-non-zts-YYYYMMDD/*.soになるぞ
設定は自分の好みでやればいい
0662655
2005/10/09(日) 18:57:30ID:???0663nobodyさん
2005/10/09(日) 19:38:02ID:???0664nobodyさん
2005/10/09(日) 21:04:31ID:???0666597
2005/10/09(日) 21:35:16ID:GtXpmFa3<?php
mb_send_mail("自分のアドレス","件名","文章");
?>
でもメールは届きませんでした。
>>625
その意味で正しいです。
cat 適当なファイル | /usr/sbin/sendmail アドレス
でもダメでした。
>>626
/usr/sbinは行けます。(叩けるっていうのはアクセスできるという意味でしょうか)
>>636
やってみましたけどうまくいきませんでした。
ただ/var/log/maillogを見るとログは残っているのでsendmailの設定の問題でしょうか?
0667nobodyさん
2005/10/09(日) 21:46:39ID:JXyGtMyG0668nobodyさん
2005/10/09(日) 21:49:27ID:???> >>625
> その意味で正しいです。
> cat 適当なファイル | /usr/sbin/sendmail アドレス
> でもダメでした。
> >>626
> /usr/sbinは行けます。(叩けるっていうのはアクセスできるという意味でしょうか)
つまり、sendmailコマンドを知らないということか・・・。
「適当なファイル」じゃなくて、 >>625 の通りのことをやって(もちろん To: アドレスは自分に)
メールが届くかどうかをテストする。
「叩ける」というのは、コマンドが実行できること。
lsとかで /usr/sbin ディレクトリが見えるとかじゃないよ。
>>626が言ってるのは、/usr/sbin/sendamail を nobody が実行できるの?ってこと。
0670597
2005/10/09(日) 22:18:47ID:???コマンドラインで
echo "To: 送信先メールアドレス" | /usr/sbin/sendmail -f〇○○@〇○○.co.jp
でもRecipient names must be specified
と返ってきます。
sendmailをnobodyが実行できる、というのはパーミッションの問題でしょうか…?
一応755でした。
0671nobodyさん
2005/10/09(日) 22:25:33ID:???マニュアルのやり方で普通にコンパイルできるし
出来合いのパッケージもある
>>666
FC4でSendmail使うならネットワークと権限の適切な設定が必要
同じ事を繰り返してもダメよ >もう一度確認してみます
0672nobodyさん
2005/10/09(日) 22:45:37ID:???sendmailコマンドの使い方が間違っている。エラーメッセージにもその示唆がある。
さくっと探してみたけどいい解説ページが見つからなかったので、manの和訳のページを。
ttp://www.linux.or.jp/JM/html/sendmail/man8/sendmail.8.html
「sendmail コマンドライン to from echo」あたりでググっていくつかページを見れば
大体どういう使い方(方法は1つじゃない)をすればいいのか分かるんじゃないかなぁ。
0673597
2005/10/09(日) 22:47:11ID:???え…そうなんですか?
少しぐぐってみました。
ttp://gapo.zive.net/sendmail/index.html
こんな設定ですか?
0674nobodyさん
2005/10/09(日) 22:48:09ID:???いいかげんスレ違いなんで異動してもらいたい。
0675nobodyさん
2005/10/10(月) 01:09:15ID:???0676nobodyさん
2005/10/10(月) 02:55:51ID:9d+wLEX3_,,..,,,,_
/ ,' 3 `ヽーっ
l ⊃ ⌒_つ
`'ー---‐'''''"
綺麗な顔してるだろ・・・死んでるんだぜ・・・それで・・・
0677nobodyさん
2005/10/10(月) 02:56:12ID:???0678nobodyさん
2005/10/10(月) 02:56:41ID:???0679nobodyさん
2005/10/10(月) 07:59:41ID:???0680nobodyさん
2005/10/10(月) 09:44:42ID:???どうしたらいいですか?
【URL】
http://www.example.com/aaa/index.html
【相対パス】
<img src="../bbb.jpg">
../bbb.jpg
【絶対パス】
<img src="http://www.example.com/bbb.jpg">
http://www.example.com/bbb.jpg
0681nobodyさん
2005/10/10(月) 10:08:23ID:???誰かがアクセスしてきたときとか、特定の作業を行ったときに鯖からbeep音を出したいのだが、
ncurses_beep って使えるの?
0682nobodyさん
2005/10/10(月) 10:47:01ID:???単純に
http://www.example.com/aaa/../bbb.jpg
これで使えるよ。
0685681
2005/10/10(月) 15:32:06ID:???超過疎なロダ鯖なので、誰かがダウンロードしようとしたら「ピッ!」なんて鳴るといいかなと。
「あっ、お客さんだぁ!」 わぁいヽ(∇⌒ヽ)(ノ⌒∇)ノわぁい♪ ってな感じで・・・
0687nobodyさん
2005/10/10(月) 16:06:52ID:???と言う風にCookieを発行して、発酵されるのを確認したんだが、
if($_COOKIE['rec']<time()){
〜〜〜処理〜〜〜
}
が常に実行されてしまう。
$_COOKIEに値を確認したら何も値が入っていなかった。
鯖:XREA無料
ローカル(WinXP+Apache2)では正常動作してくれたんだが・・・・・・・
だれか解決法頼む。
0689nobodyさん
2005/10/10(月) 16:25:40ID:???ダメだ、$_COOKIE['rec']<time()を両方
(isset($_COOKIE['recountDay']) && $_COOKIE['recountDay']<time()) || !isset($_COOKIE['recountDay'])
にしたが実行されてしまう。
0690nobodyさん
2005/10/10(月) 16:26:46ID:???実際のスクリプトでは間違ってないから大丈夫。
0693nobodyさん
2005/10/10(月) 16:39:30ID:lawxVnGWうか?
例:<TD align=left class=top colSpan=3 vAlign=bottom width=468>
対象文字列
</TD>
のような場合。
0695nobodyさん
2005/10/10(月) 16:45:53ID:???&&は||より優先度が高い。(マニュアルの 言語リファレンス/演算子/演算子の優先順位 より)
>>689の条件式だと、セットされてない場合は常にtrueになる。
まさしく希望通りに動作している。
0696nobodyさん
2005/10/10(月) 16:47:27ID:???そういう話か
.htaccessで
php_flag register_globals Off
とするか
$_COOKIE['rec']のかわりに$recを使って見て
0698687
2005/10/10(月) 16:57:53ID:???>>695
じゃあ括弧要らなかったな。
>>696
ダメだ、両方ともやったがCookieに値が入らない
0699687
2005/10/10(月) 17:03:43ID:???テキストカウンタのスクリプトだから、別スクリプトからrequireで読ませてる。
別スクリプトは一階層上で、Cookieの発行は確認した。
当然setcookie使うからファイルの先頭で読ませて出力させる前にCookie発行させてる。
0700nobodyさん
2005/10/10(月) 17:13:03ID:???コード的には if (empty($_COOKIE['rec'] || $_COOKIE['rec'] < time()) {} でOK
s151のデフォルト設定では動作したよ
error_reporting(E_ALL);
setcookie('rec', time()+60*60, time()+60*60, '/', 'hoge.s151.xrea.com');
var_dump($_COOKIE);
>Cookieの発行は確認した
通信をキャプチャして見たってこと?
Set-CookieヘッダがあるのにブラウザがCookieを返してないとか
0701nobodyさん
2005/10/10(月) 17:14:45ID:???ブラウザがCookieフィールドを送ってるのに$_COOKIEがNULLとか
そういう状態?
0702nobodyさん
2005/10/10(月) 17:17:13ID:???だめぽ
if (empty($_COOKIE['rec']) || $_COOKIE['rec'] < time()) {}
0703nobodyさん
2005/10/10(月) 17:35:39ID:8yA4547bsageなければID付くよ
0704nobodyさん
2005/10/10(月) 18:02:24ID:???いじってる間にブラウザに変なクッキー食わせちゃったんじゃないの?
クッキー消去してブラウザ再起動してみたらどうだろう
0705nobodyさん
2005/10/10(月) 18:29:27ID:???初心者なもので一気に読み込んでというのがよくわかりません
サンプルを書いてもらえませんでしょうか?
0706nobodyさん
2005/10/10(月) 18:40:23ID:???複数行あるならそのように正規表現を書けばいいだけじゃない。
0707nobodyさん
2005/10/10(月) 22:14:26ID:???$_SERVER['PHP_SELF']ってサニタイズしないとだめなんだね・・・
<form action="{$_SERVER['PHP_SELF']}">
こんな感じで使うと即あぼーん.
セキュリティについて書いてあるサイトでもこういう風に
使ってるところがあったりするからまだ表面化してないのかな..
0709nobodyさん
2005/10/10(月) 22:27:06ID:???って聞こうとしてたんだった.
0710nobodyさん
2005/10/10(月) 22:32:14ID:???0711nobodyさん
2005/10/11(火) 00:06:54ID:???質問:なぜ危険なのか教えて。
#URLエンコードで送信した「<>"'」とかを、自動でデコードしてPHP_SELFに格納するならXSS脆弱性がありそうだけど、
#>現在実行しているスクリプトのファイル名です。ドキュメントルートから 取得されます。
#って書いてあるし、これのどこが危険なのだろうか・・?
0712707
2005/10/11(火) 01:26:50ID:???http://example.com/path/to/hoge.php
コード:
<?php echo $_SERVER['PHP_SELF']; ?>
出力:
path/to/hoge.php
っていうプログラムに対して
http://example.com/path/to/hoge.php/xssxssxss
とすると,
出力:
path/to/hoge.php/xssxssxss
つまり$_GET,$_POSTとかの場合と同じで
任意の文字列を送りつけることができる.
<form action="{$_SERVER['PHP_SELF']}">
っていうコードだったら,
http://example.com/path/to/hoge.php/"><form action="別のURL
みたいに書かれる危険性がある.
0714nobodyさん
2005/10/11(火) 02:59:38ID:???PHPなので質問させていただきます。
http://www.lovpop.net/apricot/の「apricot」というPHPのアクセス解析を
アンインストールをせずに消してしまったのですが、
「apricot.php.data」というフォルダがどうやっても消せなくなりました。
中に何が入っているのかも「550 Permission Denied」と出てしまい分からない状態です。
設置し直してアンインストールしてみても駄目だったので
PHPから消せるだろうと思ったのですが
BBSに書いてあったunlinkとrmdirもうまくいきませんでした。
最後の手段としてサーバの管理人様に頼もうと思っているのですが、
もしも他に何か方法があればご教示願います。
0715nobodyさん
2005/10/11(火) 03:38:25ID:???0716714
2005/10/11(火) 03:47:31ID:???たぶんそうだと思います。
こんな時間にすいまそん
0717nobodyさん
2005/10/11(火) 03:54:25ID:???うーむ・・
0718714
2005/10/11(火) 04:19:26ID:???unlink("./apricot/apricot.php.data/admin/area.txt");
〜略〜
rmdir("./apricot/apricot.php.data/admin/");
rmdir("./apricot/apricot.php.data/");
?>
を実行したら消えたとBBSに書いてあったんですが、
フォルダ名を変えてみたりしてもなぜか一向に消える気配がないんです。
0719nobodyさん
2005/10/11(火) 04:40:39ID:???<?php
$BASE = 'apricot.php'
$dir_main = opendir("$BASE.data");
while (($ent = readdir($dir_main)) !== false)
{
$path_sub = "$BASE.data/$ent";
if (is_dir($path_sub) && $ent{0}!='.')
{
$dir_sub = opendir($path_sub);
while (($ent_sub = readdir($dir_sub)) !== false)
{
$file_name = "$path_sub/$ent_sub";
if (is_file($file_name))
{
unlink($file_name);
}
}
closedir($dir_sub);
rmdir($path_sub);
}
}
closedir($dir_main);
$result = rmdir("$BASE.data");
?>
0720714
2005/10/11(火) 04:51:59ID:???しかしさっそく実行してみたんですが駄目でした……。
仰る通りサーバの管理者に訊いてみます。
本当にありがとうございました。
0721nobodyさん
2005/10/11(火) 05:23:40ID:???ログってどんな形で保存すると使い勝手がいいの?
みんなはどうしてるのか教えてください。
0722nobodyさん
2005/10/11(火) 05:32:49ID:???ttp://httpd.apache.org/docs/2.0/logs.html
ちまたに出回ってるツールもapache互換のやつが多いし。
まぁそんな事を言い出すと自作する意味も無くなってくるんだが。
0723nobodyさん
2005/10/11(火) 08:52:52ID:???自分がどんな解析をしようとしていて、どんな解析処理をしようと考えているかによるでしょうな。
解析に必要な情報を処理が喰いやすい形で保存汁
0724nobodyさん
2005/10/11(火) 11:28:44ID:lk3myPm8解析処理とサンプル数次第だと思う。
リファラーをとることになると多くなるんだよね・・・
0725nobodyさん
2005/10/11(火) 11:38:13ID:oTT+29Sw直訳すると「敷居」なんですが…。
これで、BMP画像ファイルを自動生成して、Excelに貼付けたいのですが
正常なBMPファイルが生成出来ないです。
0726nobodyさん
2005/10/11(火) 11:59:02ID:???0727nobodyさん
2005/10/11(火) 12:00:07ID:???0728nobodyさん
2005/10/11(火) 12:02:53ID:QJ4uo7le今は、pdf_set_font($pdf,"Times-Roman",35,"host");としているのですが、
↑
この部分をどう変えればよいのですか?
0729728
2005/10/11(火) 12:05:10ID:QJ4uo7le"Times-Roman"の部分をどう直すか、という意味です。
0731nobodyさん
2005/10/11(火) 12:20:59ID:???0732nobodyさん
2005/10/11(火) 12:22:02ID:???0733731
2005/10/11(火) 12:22:22ID:???sleepですね。
0734nobodyさん
2005/10/11(火) 12:25:42ID:???どんな環境でやってるのか知らんが、「HeiseiMin-W3」とかは?
pdf_set_fontを宣言しないで出すとどうなる?
0735725
2005/10/11(火) 13:48:31ID:???SpreadsheetExcelWriterでExcelに貼付けるという作業を
やっているんですが、SpreadsheetExcelWriteがBMP形式しか
サポートしていないので、BMPに変換したいのです。
>>730
そうだったのですか orz
とりあえず、JPEGで書き出して、djpegコマンドでBMPに変換して
貼付けてみる事で対処しました。
0736nobodyさん
2005/10/11(火) 15:42:40ID:???できるならばだいたいでいいのでソースを書いてもらえないでしょうか。
ちなみにFormを使うGETは使い方をマスターしたんですが上記みたいなことができないんです。
0737nobodyさん
2005/10/11(火) 15:45:15ID:???このスレにぴったりの質問だ.
↓回答
0738nobodyさん
2005/10/11(火) 15:56:12ID:???0739nobodyさん
2005/10/11(火) 15:57:02ID:???<?php
if ($_GET['id'] == 1) {
echo 'a';
} else if ($_GET['id'] == 2) {
echo 'b';
}
?>
0741nobodyさん
2005/10/11(火) 17:45:09ID:???phpで作成されたxml(html)ファイルを
ダウンロードさせるということは可能ですか?
作成されたxml(html)ファイルとは画面に表示されたという意味です。
ご存知の方よろしくお願いします。
0742nobodyさん
2005/10/11(火) 17:55:09ID:G45STU1Q名前をつけて保存とかさせればええやん。
というのはおいといて、アクセスしたらダウンロードさせたいの?
それなら、
header ("Content-Disposition: attachment; filename=$filename");
とかをダウンロード用の引数つきで呼び出されたときにつけてやれば?
0743nobodyさん
2005/10/11(火) 18:17:40ID:???参考になりました。ありがとうございました。
phpで作成されたxmlを
サーバ側にファイルを保存せずに
ダウンロードさせたかったもので。
0744nobodyさん
2005/10/11(火) 19:08:26ID:???ありがとうございます。
お陰で成功しました。
くだらん質問を聞いてくれてありがとうございます(_ _*)_ _*)
0745687
2005/10/11(火) 21:04:28ID:???・ローカルに保存されたCookieがあった
・setcookieがtrueを返す
から発行されたのを確認してたんだが、ローカルのCookie消して、ブラウザ再起動してアクセスしたらCookieが発行されなかった。
まだsetcookieの返り値は確認してないんだが、ローカルに保存されてないから多分falseだと思う。
もうちょっと考えてみるわ。
0746nobodyさん
2005/10/11(火) 21:48:33ID:???$four_letters = chr(0x23) . chr(0xb6) . chr(0xa8) . chr(0xc7);
$the_number = intval(bin2hex($four_letters), 16);
とすると、2の補数表現の関係か整数の0x7FFFFFFF(2147483647)までは普通に変換されるけど、
$four_letters = chr(0xF8) . chr(0xb6) . chr(0xa8) . chr(0xc7);
$the_number = intval(bin2hex($four_letters), 16);
0以下(2の補数表現でマイナスの数字)をintvalしようとすると自動的に
プラスの値の上限(2147483647)が$the_nuberに入ってしまうんだけど、
簡単に$the_numberにマイナスの数字を入れる方法を教えて下さい。
今は、たまたま-16,777,216(0x80FFFFFF)以下の数字を使わないので、
substr() を使って上位1バイトを条件文(if〜else)にかけてビット反転(~)などを駆使して
$four_letters = chr(0xF8) . chr(0xb6) . chr(0xa8) . chr(0xc7);
$four_letters_hex = bin2hex($four_letters);
if (substr($four_letters_hex, 0, 2) == "ff"){
$four_letters_lestdigit = ~ (intval(substr($four_letters_hex, 2, 6), 16));
$four_letters_not = sprintf("%x", $four_letters_lestdigit);
$four_letters_int = -1 * (1 + (intval(substr($four_letters, 2, 6), 16)));}
else $four_letters = intval($four_letters_hex, 16);
などとしていて、今後上位1バイトがFF以下の数字を変換する必要性が出ても、
それに合わせて条件文や計算を変えてやればいいのだけど、
もしかしたら、もっと1行や2行程度で済む方法があるような気がして・・・・
0747nobodyさん
2005/10/11(火) 21:55:34ID:???> 今は、たまたま-16,777,216(0x80FFFFFF)以下の数字を使わないので、
間違い)16,777,216(0x80FFFFFF)
今は、たまたま0xFF000000よりマイナスの数字を使わないので、
0748nobodyさん
2005/10/11(火) 21:58:13ID:???変数が$q1から$q99まであるのですが
forを使用して表示したいのですが
for($i = 1; $i < 100; $i++){
$q[$i]="$q".$i;
echo $q[$i];
}
これだとうまくいきません。
配列に変数を格納する事は出来ないのでしょうか?
またうまいやり方があれば教えて下さい。
0749748
2005/10/11(火) 22:02:52ID:p5WBUvB70750nobodyさん
2005/10/11(火) 22:04:16ID:???そのまま突っ走りたい場合はマニュアルの「可変変数」を参照。
うまいやり方というか、なんというか、$q1〜$q99のような使い方を最初からしない方がよいかと。
0752nobodyさん
2005/10/11(火) 22:11:04ID:???この手の質問は繰り返しあるな。。。
750 氏の言う「$q1〜$q99のような使い方を最初からしない方がよいかと」に同意。
とりあえず以下でオケ。
for($i = 1; $i < 100; $i++){
$x = 'q' . $i;
$q[$i] = $$x;
echo $q[$i];
}
0753nobodyさん
2005/10/11(火) 22:15:26ID:???■ このスレッドは過去ログ倉庫に格納されています