【PHP】下らねぇ質問はここに書き込みやがれ Part19
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/04/09(日) 01:31:18ID:???ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
本スレ【PHP】質問スレッドpart33【php】
http://pc8.2ch.net/test/read.cgi/php/1140027592/
【PHP】下らねぇ質問はここに書き込みやがれpart18
http://pc8.2ch.net/test/read.cgi/php/1142417901/
過去スレは>>2-3あたり
0232nobodyさん
2006/04/12(水) 07:34:49ID:ZC3dGFkj個人的に利用してなければ保存していた方が逆にいいだろ。
何かあったら使えるし
0234227とは別人
2006/04/12(水) 09:05:22ID:wIeov7Asttp://www.dolphy.gr.jp/webap/topic/postfix.html
上記URLの方法で .forward を使ってPHP cli版のスクリプトに引き渡したいんですが。
phpスクリプト側でどうやって取得すればいいんでしょうか、変数名が分かりませんっ
0235nobodyさん
2006/04/12(水) 09:46:14ID:???更新通知系pingには
・トラックバックping
・RPC ping
の2種類があることを認識した上で、
それぞれについて調べるといいよ。
一部のブログは、両方まぜてpingといったりトラックバックといったりしてるからね。
0236234
2006/04/12(水) 10:13:25ID:???php4.2.3 のCGI版で定数STDINが使えないんではまりました
-------------------------------------
print getStdinput();
function getStdinput()
{
$stdin = "";
$fp = fopen("php://stdin", "r");
while(($line = fgets($fp)))
{
$stdin .= $line;
}
fclose($fp);
return $stdin;
}
-------------------------------------
0237nobodyさん
2006/04/12(水) 14:01:54ID:???わかったんですが、ヘッダを読む方法はありますか?
header()でのヘッダ「送信」の話ではないです
0238nobodyさん
2006/04/12(水) 14:33:00ID:???array get_headers ( string url [, int format] )
// PHP5
0240nobodyさん
2006/04/12(水) 15:30:20ID:???「個人的」な考えはどうでもよくて、「法律的」にどうなのか、と。
>>234
パイプでメールを渡して、該当スクリプトを起動。
0242nobodyさん
2006/04/12(水) 16:44:07ID:???0246227
2006/04/12(水) 17:12:40ID:8N7Yz7+/2chで聞くのが無謀なのかなぁ。
本当に知りたい情報が2chで得られたためしがない。
誰でも簡単にgoogleで調べられるような事しかレスがこない。。。
0248nobodyさん
2006/04/12(水) 17:22:14ID:???自分じゃ調べられなくて困り果てて2chに来たくせに、
期待した回答が得られないと分かった途端にそういう逆ギレした態度を
とってるようじゃ、永遠に誰も教えてくれないよ。
あと、とにかく日本語がおかしいのを直しなさいよ。
誰も答えてくれないのは、質問の文章がおかしいのも一因だと思うぜ。
0249nobodyさん
2006/04/12(水) 17:26:52ID:???他人の情報や経験がタダだと思ってるバカは1秒でも早く氏んだほうがいいよ。
この世で最も価値があるのは車でも家でもダイヤでもなくて、情報だぜ。
それが分からずに調子コイた戯言をぬかしてるお前は一生底辺で終わる。
0250227
2006/04/12(水) 17:28:09ID:8N7Yz7+/そうですね。該当スレが見つからなかったもので。すいません。
それと、メール保存は違法ではないかとか、保存されるのは嫌だとかいう意見がありましたが、
メールサービスを提供した時点で、メールボックスにはメールデータは保存されます。
保存場所を移したいだけです。もちろん悪用するわけではありません。
なぜ保存場所を移したいのかというと、Webメールサービスに近いものも提供したいからです。
しかし、メールボックスの容量も制限したいです。制限値を超えた時の処理なんですが、受信拒否となっては困ります。
古いものから自動的に削除されていくような容量制限が出来れば、特に保存場所を移す必要もありません。
環境はqmail+vpopmail+ezmlm+mysqlでメールサーバーは動かしてます。
ソースが読めれば簡単なんでしょうが。。。
0251227
2006/04/12(水) 17:32:33ID:8N7Yz7+/偉そうな物言いで申し訳ありませんが、事実ではないですか?
私の経験ではそうでした。
0252nobodyさん
2006/04/12(水) 17:37:58ID:???情報が得られないとわかったなら何も言わずに立ち去れ。
いちいち捨て台詞を吐くのは非常に失礼。
事実かどうかなんていうお前の主観は発言が許される理由にならない。
>>248-249の口調もほめられたものじゃないが内容は完全に同意。
0253227
2006/04/12(水) 17:55:11ID:8N7Yz7+/小学生からやり直せとか、日本語勉強しろとか言われるために書き込みしたわけじゃない。
こいつらが人に言えるほど語学力と知識があるとは到底思えませんがね。
謙虚になれという事はそういう事かい?
人を失礼だと思う前に自分も失礼ではないかと考えてみたらいかがでしょうか。
なんて不毛な掲示板だ。
0255nobodyさん
2006/04/12(水) 18:11:41ID:LsBK61rAキミにはその仕事を請けるスキルが無いんだから、他に回すなり業者に発注するなりしなよ。
せめてここの回答やgoogle先生の結果で何とかできる程度のアタマが無いとさ。
つーか、SQL書ける?
書けるならその案件程度のテーブル設計くらいできるよね?
だったら、何が疑問?
0256227
2006/04/12(水) 18:26:46ID:8N7Yz7+/おっしゃるとおり、スキルはありません。外注も考えています。
ただ、そういうソフトがあれば教えてもらいたかったのです。
SQLは書けます。
vpopmailはSQLにメール毎ぶちこめましたっけ?
ユーザー管理にしかSQLは使っていませんが。
0257nobodyさん
2006/04/12(水) 18:30:48ID:???0258227
2006/04/12(水) 18:37:35ID:8N7Yz7+/PHPやperlで書くなら実現できます。
ただ、メール転送だけはMTUに任せたいのです。
0259nobodyさん
2006/04/12(水) 18:37:43ID:???0260nobodyさん
2006/04/12(水) 18:42:12ID:???すごいなPHP&Perl
0261nobodyさん
2006/04/12(水) 18:48:49ID:???メール転送を任されて戸惑ってるMTUやRWINの図が浮かぶ。
0262nobodyさん
2006/04/12(水) 18:57:56ID:???ファイルを作成したいのですが
そういう場合はどうしたらいいですか?
0263nobodyさん
2006/04/12(水) 19:09:40ID:???0264nobodyさん
2006/04/12(水) 19:09:42ID:???'w'ならデフォルトで新規作成される。
'r'でファイルが存在しなかった場合に新規作成したいならtouch($file);とか書けばいい。
0266nobodyさん
2006/04/12(水) 19:32:24ID:???0267nobodyさん
2006/04/12(水) 20:24:31ID:fK671VOd答えられないのに文句だけ言う奴もウザイけど
0268nobodyさん
2006/04/12(水) 20:37:47ID:zZpSpaHD<?php
$arg = input_filter($_SERVER['QUERY_STRING']);
header('HTTP/1.1 301 Moved Permanently');
header('Location: /'.anchor_replace(rawurlencode($arg)).'/');
?>
とすると、
[12-Apr-2006 20:15:54] PHP Fatal error:
Call to undefined function: input_filter() in /home/user/public_html/slash.php on line 2
というエラーが出てしまいます。
この関数やエラーについて調べてみたのですが、手がかりがつかめませんでした。
これはどうなっているのでしょうか?
0269nobodyさん
2006/04/12(水) 20:43:40ID:???input_filterて関数が無いってメッセージ出てるやん。
リンク先に
>でぃあばぁ(管理者) at 2005-11-13 (日) 20:05
>func.phpからinput_filterとanchor_replaceをコピーしてくれば動きます。ただし何のチェックもしていないので、
>一つ間違うと無限ループです 一応 RewriteOptions MaxRedirects=1 で避けていますが、正直全くお勧めできません。
とあるが、理解可能?
0270nobodyさん
2006/04/12(水) 20:57:48ID:zZpSpaHDうーん、よくわかりません…
でぃあばあ氏は、このようにスラッシュを補完しているのですが、もっと効率的な方法とかあるんでしょうか?
0271nobodyさん
2006/04/12(水) 21:15:18ID:???効率とか関係なく、func.phpからinput_filter()をコピペしてきてないから動かないだけだろ。
0272262
2006/04/12(水) 21:30:17ID:???ありがとうございます
$file = './dat/env.dat';
if( ! file_exists( $file)) touch( $file);
こう書いてみたのですが、うまく動きません
根本的に間違っているのでしょうか?
0273nobodyさん
2006/04/12(水) 21:35:33ID:zZpSpaHDありがとん。
PHPの方はエラーを吐かなくなったのですが、http://example.com/slash.php/ にリダイレクト
され、500 Internal Server Error となってしまいます。(Connection: close
)
0275nobodyさん
2006/04/12(水) 21:51:23ID:zZpSpaHDすみません、PHPやApache設定に関しては全くの無知なので・・・
「RewriteRule ^.+$ slash.php?$0 [L]」これが原因でInternal Server Errorになるのでしょうか。
0277nobodyさん
2006/04/12(水) 21:59:09ID:zZpSpaHD0279262
2006/04/12(水) 22:27:29ID:???ありがとうございます
ご指摘のとおりパーミッションの問題でした。
.datを777にしたら問題なくさくせいされました
お手数をおかけして申し訳ありませんでした
0280nobodyさん
2006/04/12(水) 22:35:28ID:KG2NZf4eダイアログが出てきた時に
デフォルトでIDが表示されているように
出来ませんでしょうか?
(PASSを入力するだけの状態)
よろしくお願いします。
0282nobodyさん
2006/04/12(水) 22:46:27ID:???標準のダイアログにID文字列を勝手に入れるのは無理じゃないかな。
やるなら、HTMLのFORMでIDとパスを受け付けるようにするとか
JavaScriptのダイアログで受け付けるようにするとかにしないと。
0283nobodyさん
2006/04/12(水) 23:38:10ID:???俺のソースは汚いぞおおおおおおおおおおおおお
0284nobodyさん
2006/04/13(木) 01:42:46ID:???$main_text = 同一ファイル内ヒアドキュメント、内容はHTML(htmlのタグ含む)
$words = '1111111111'で区切られた単語とURLが1行1レコードのファイルをfile()で拾って来た配列
で、foreach($words as $line){
list($word[],$url[]) = explode('1111111111',$line);
}
として$word、$urlをprint_r()して中に期待した配列が入っていることを確認しました。
その次に
$replacement = "<a href=" . $url . " target=_blank>" . $word . "</a>";
$main_text = preg_replace($word,$replacement,$main_text);
とすると
Warning: Unknown modifier '?' in /パス/test.php on line 410
Warning: Unknown modifier '?' in /パス/test.php on line 410
と2回エラーが表示されました。$wordと$urlの要素が2個になっていたのでそこが関係していると思うのですが…。
またpregをeregに変えるとエラーを吐かなくなりますが配列で置換できないようで要求をみたせませんでした。
何かアドバイスくださいまし
0285nobodyさん
2006/04/13(木) 02:01:28ID:???$word が正規表現として解釈されることを前提に、適切にエスケープしたり書式を整えたりしてる?
$word の中身をここにコピペしてみたら?
0286nobodyさん
2006/04/13(木) 02:07:48ID:???解像度が低いPCで書いているのですが、どうしてもよみづらくて・・。
0287nobodyさん
2006/04/13(木) 02:13:11ID:???$word[] = "/ABC/sUi";
$word[] = "/DEF/sUi";
$replacement[] = "えーびーしー";
$replacement[] = "でぃーえふ自慰";
$main_text = preg_replace($word,$replacement,$main_text);
ってこんな風に使うんじゃなかったっけ
0289284
2006/04/13(木) 02:22:12ID:???とりあえずprint_rの結果をば
Array
(
[0] => テスト
[1] => テスト2
)
Array
(
[0] => http://www.exsample.jp/1
[1] => http://www.exsample.jp/2
)
ファイルは全てEUCです。
ブラウザのエンコードをeuc以外にしたら化けたので文字コードはおk、
エンコーディングが必要な文字列は(今はテストデータだからですが)無いようでした。
>>287
ごめんなさい、提示していただいたサンプルとの違いが読み取れなかったのですが…。添字も数字になりますから一緒ですか?
0290nobodyさん
2006/04/13(木) 02:23:11ID:???> $replacement = "<a href=" . $url . " target=_blank>" . $word . "</a>";
それって「<a href="Array" target=_blank>Array</a>」にならんか?
配列をそのまま文字列として連結ってどういう意味よ
> $main_text = preg_replace($word,$replacement,$main_text);
$wordが配列なら$replacementも配列にせんと。
0293284
2006/04/13(木) 02:32:34ID:???…$replacementが
<a href=Array target=_blank>Array</a>
になってしまっていました。
これでは目的が達成できないとおもいつつとりあえず
preg_replaceのエラー吐いているのだけでも何とかしようと思い
$main_text = preg_replace($word,$url,$main_text);
としてみましたが上記と全く同じエラーを吐きました…。
ちょっと試しに>>287さんのコードをまんま試してきます。
と思ったら>>290さん、その通りでした
orz
0295284
2006/04/13(木) 02:48:19ID:???ご指摘の通りでした。
$word = "/ABC/";
$replacement = "/http:/";
として通りました。
後は配列となっているURLをどうaタグにするか、考えてみます。
ありがとうございました。
全然関係ないですが皆さん遅い時間まで起きますね。
差し支えなければ、今何なさっているか晒してもらってもいいデスカ?
0296287
2006/04/13(木) 02:56:09ID:???俺なら
foreach($words as $line){
の処理の中で
"<a href=" . $url . " target=_blank>" . $word . "</a>";
を配列に突っ込むかな。
0297nobodyさん
2006/04/13(木) 02:56:14ID:???0298nobodyさん
2006/04/13(木) 03:02:07ID:???もう寝る
0299nobodyさん
2006/04/13(木) 12:31:27ID:???を
$abc2[0] = "a";
$abc2[1] = "b";
$abc2[2] = "c";
にするにはどうすればいいでしょうか?
指定文字で分割する関数があったと思うのですが、
公式マニュアルみてもちょっとわかりませんでした。
いつも逆引きリファレンス本使ってるんですが、無いと死にますね・・・
0301nobodyさん
2006/04/13(木) 12:55:47ID:???どうすればいいですか?
0302nobodyさん
2006/04/13(木) 13:02:18ID:???を一気に 2006-04-10 18:18:53
に変更するような簡単な方法きぼんぬ
0303nobodyさん
2006/04/13(木) 13:02:58ID:???explode("\n\n", 〜
preg_split('/([\r\n]|\r\n){2,}/', 〜
とかかな
0304nobodyさん
2006/04/13(木) 13:04:18ID:???date('Y-m-d H:i:s', strtotime('Mon, 10 Apr 2006 18:18:53'))
0305303
2006/04/13(木) 13:09:41ID:???これじゃ\r\n1つでも区切っちまうわ
0306nobodyさん
2006/04/13(木) 14:18:17ID:???例えば、$textに入っている文字数が200文字だとして
一覧に表示する時は20文字しか表示しないなど
0307nobodyさん
2006/04/13(木) 14:22:10ID:???0308nobodyさん
2006/04/13(木) 14:23:23ID:???mb_strimwidth()
0309nobodyさん
2006/04/13(木) 14:25:27ID:???mb_strimwidth($text,0,20,'...');
などなど
0311nobodyさん
2006/04/13(木) 19:10:41ID:???言われるような読むのにオススメなソースコード教えてください。
0313nobodyさん
2006/04/14(金) 01:47:26ID:AD++CmCGどのように書けばいいのでしょうか。
学生なのですがよくわからないので教えてください。
0314nobodyさん
2006/04/14(金) 01:58:34ID:aAV+eb7Hチュートリアルのようなサイトご存知ないですか?
マンモス本を読み出して1部チャプター3で早くもくじけそうです・・・。
0315nobodyさん
2006/04/14(金) 06:41:02ID:???0316nobodyさん
2006/04/14(金) 07:28:18ID:???cronかスクリプトで永久ループしながらsleep
学生だから知らないちゅー言い訳はヤメレ
>>314
根性入れろや
>>315
出来ますか?じゃなくて
やってみてわからないことを質問する>強く推奨
0317nobodyさん
2006/04/14(金) 07:41:14ID:???スクリプト起動時にファイルの日付をチェックして1週間以上前のものを削除する
opendir
whileでループ
readdir
filemtimeかstat
unlink
ループ終了
closedir
0318nobodyさん
2006/04/14(金) 11:29:45ID:???アクセスって無茶苦茶重くなりそうだな
上手くやれば回避できそうだが、そこまで知ったこっちゃないか
0319nobodyさん
2006/04/14(金) 11:55:13ID:???その辺はシステムの性格に応じてチューニングでよかろ
0320nobodyさん
2006/04/14(金) 12:46:56ID:???0321nobodyさん
2006/04/14(金) 13:30:41ID:???0323nobodyさん
2006/04/14(金) 14:35:43ID:9w4nbvJuセキュリティー的に問題があるのでしょうか?
define('HTTP_SERVER', 'http://'.$_SERVER[HTTP_HOST]);
0324nobodyさん
2006/04/14(金) 14:45:48ID:???0325nobodyさん
2006/04/14(金) 14:57:36ID:???定数の定義だけじゃセキュリティ上の問題は無い。
'HTTP_HOST' は、「現在のリクエストに Host: ヘッダが もしあればその内容。」となる。
ユーザから送られてきた値だから信頼はできねーぞ。
この意味分かるな。
Apacheのデフォルト設定だと、どんなHostヘッダでも受け付ける。
バーチャルホスト上のホストなら不正なホスト名だとサーバが受け付けないこともあるが
それを信用してはならない。
0326nobodyさん
2006/04/14(金) 15:12:40ID:9w4nbvJu画像のリンクなどのURLフルパスとして利用したかっただけなので
問題ないようですね
>>325
了解しました。
ありがとうございます
0330nobodyさん
2006/04/14(金) 15:43:39ID:???設定した定数(HTTP_SERVER)を、そのままSQLに突っ込んだりすると危険
($_SERVER[HTTP_HOST] にSQLインジェクションされる文字列とか入ってり)
結局は>>324の言うとおり、使い方次第
っGoogle検索「サニタイズ」
0331nobodyさん
2006/04/14(金) 15:46:41ID:???困るのってその変なホスト名をよこしてきたユーザ本人だけでは。
■ このスレッドは過去ログ倉庫に格納されています