【PHP】下らねぇ質問はここに書き込みやがれ 24
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2006/07/07(金) 14:54:53ID:KnVubDvEここならお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
過去スレは>>2
0859nobodyさん
2006/07/20(木) 23:05:47ID:???> という配列を返してくれる関数はありますか?
ある。
> また、その逆をしてくれる関数はありますか?
PHP5以降でならある。
0860nobodyさん
2006/07/20(木) 23:06:09ID:eXAIKTBkどちらか一方の文字列をマッチさせるときはどのようにしますか?
単にマッチさせるだけなので、正規表現関数ではなくて
文字列関数でループ処理した方がいいですかね?
(マルチバイトのmb_eregとか試してみたけどうまくいかなかった)
0861nobodyさん
2006/07/20(木) 23:12:56ID:???> A include(http://hogehoge.com/my_function.php);
これはhogehoge.comのWEBサーバーにお願いしてファイルをダウンロード(名前をつけて保存と一緒)している。
そのため、取得できる内容はWEBサーバーの出力結果の内容になり、
PHPとして解釈できる拡張子だとPHPが実行されてその結果が表示されてしまう。
> B include(/home/htdocs/my_function.php);←サーバのパス
これは途中に何も介さず、PHP自身がファイルをそのまま取り込んでいる。
だから何も内容は変化せず、ファイルの内容がそのまま取得される。
通常のPHPの処理としてはBなわけだが、Aみたいに「ネット越し」でファイルを得ようとすると、
何を経由してるかによって結果が変化してしまう場合があるというわけ。
0863nobodyさん
2006/07/20(木) 23:14:36ID:???mb_eregでもmb_strposでもどっちでもできると思うんだが。
mb_eregで一体どういう書き方をしたんだ。
0868nobodyさん
2006/07/21(金) 07:31:02ID:???ローカルで表示させるなら
http://localhost/my_function.php
0870nobodyさん
2006/07/21(金) 08:29:07ID:iPhYBOeTする時に、libexpatというライブラリが必要と本に書いてあったのですが、そのrpmパッケージが
どこで入手できるのかわかりません。
大変申し訳ありませんが、ご存知の方がいらっしゃいましたら教えていただけないしょうか?
開発環境はwindowsではなく、RedHatLinux9です。
aptコマンドを使えるようにして、検索をかけてみたのですが全くヒットしません orz
0871nobodyさん
2006/07/21(金) 08:36:14ID:???ここで探してみれば?
0873nobodyさん
2006/07/21(金) 08:52:48ID:iPhYBOeTPHP×PostgreSQLでつくる最強webシステムという本で、その本の340ページに書いてあります
0875nobodyさん
2006/07/21(金) 09:05:58ID:iPhYBOeTたしかに。。。phpのバージョンが4の時の話なので。。。。
パッケージ自体がもうリリースされていないんでしょうか
0876nobodyさん
2006/07/21(金) 09:10:02ID:???0877nobodyさん
2006/07/21(金) 09:18:41ID:iPhYBOeTなんだか、Authクラスを使うには必要っぽいような書き方されてるんですよねぇ
0878nobodyさん
2006/07/21(金) 09:30:43ID:???0880nobodyさん
2006/07/21(金) 10:06:48ID:5NMNDw00ありがとうございます。凄くわかりやすいです。助かりました。
質問ばかりで申し訳ないのですが、
インクルードしたいファイルが同一サーバではない場合(サーバのパスを指定できない場合)はどのようにしたらいいでしょうか?
前述のように拡張子をphp以外のもの(webサーバを経由しても内容が変化しないもの)にするのが一般的でしょうか?
0881860
2006/07/21(金) 11:30:17ID:???で、やっぱりマッチしない
mb_eregならマッチしてました
mb_regex_encoding('sjis');
$str = "こんにちは山田太郎です";
$pattern = "(山田|田中)";
if (mb_ereg($pattern, $str)) echo "mb_eregマッチしました";
else if (mb_ereg_match($pattern, $str)) echo "mb_ereg_matchマッチしました";
else echo "no match";
0882860
2006/07/21(金) 11:32:37ID:???すいません
テストコード整形したので分岐がおかしい
両方チェックするようにしてもmb_ereg_matchはマッチしない
PHP4.3系
0883nobodyさん
2006/07/21(金) 11:39:59ID:???allow_url_fopenが有効ってことか、
他サーバのソースをそのまま実行するってのは、
きもちわるく思ってしまう
最も、他サーバが信頼できるサーバであるなら
そういう機能は積極的に使うのが賢いのだと思いつつ
ここぞという使いどころにめぐり合っていない
allow_url_fopen のステキな使い方ないかな?
0884nobodyさん
2006/07/21(金) 11:44:06ID:???まー、拡張子を変えちゃうか、あるいは.htaccessで拡張子に対するApacheの扱いを変えちゃうか、
あるいはラッパーのプログラムを経由してファイル内容をreadfile()とかで垂れ流させるか、ってとこじゃない?
0885nobodyさん
2006/07/21(金) 14:41:49ID:???全角の¥に変換したいのですがうまくできません。
PHP Version 5.1.2です。
$a = "\2,000";
//$a = mb_ereg_replace("\","¥", $a); //エラー
//$a = mb_ereg_replace('\',"¥", $a); //エラー
//$a = mb_ereg_replace("\\","¥", $a); // ワーニング変換できず
//$a = mb_ereg_replace('\\',"¥", $a); // ワーニング変換できず
こんな感じです…。何かうまいやり方がないでしょうか?
0886nobodyさん
2006/07/21(金) 14:45:03ID:???0887nobodyさん
2006/07/21(金) 15:14:02ID:???おおおおお・・・・・・・・
すんなりできました。この辺の似た機能だけど違う関数を
勉強しないとダメですね。886さんありがとうございました。助かりました。
0888nobodyさん
2006/07/21(金) 15:15:36ID:???str_replace は天才
0890nobodyさん
2006/07/21(金) 16:51:58ID:???おとなしくUTF-8でも使ってろってもんだ。
0891nobodyさん
2006/07/21(金) 17:43:50ID:5NMNDw00config.phpというファイルに書いて、必要なときにincludeしているのですが、
スクリプト中にパスワードとかを直接記述しているのは、やっぱりセキュリティー的に危険なのでしょうか?
また、こういう場合は一般的にどうやって対処しているのでしょうか?
0894nobodyさん
2006/07/21(金) 17:48:14ID:???0895nobodyさん
2006/07/21(金) 18:00:02ID:???http://hogehoge.com/へのリンクが貼られているかどうか
調べたいのですが、どうすれば良いのでしょうか?
ちなみに、http://www.example.com/は自分のサイトではないこと前提とします。
0896nobodyさん
2006/07/21(金) 18:11:32ID:???0897nobodyさん
2006/07/21(金) 18:12:48ID:???能動的にはwww.example.comを走査してリンクを探す。
受動的にはhogehoge.comにアクセス解析を設置してリファラを見る。
0898nobodyさん
2006/07/21(金) 18:14:46ID:b+2L373xカタカナに変換するにはどうしたら良いでしょうか?ご教授お願いします
0900nobodyさん
2006/07/21(金) 18:36:31ID:???ttp://www.mukom.netfirms.com/scripts/linkman.php
参考になるかもね
0901nobodyさん
2006/07/21(金) 18:38:32ID:???From:test@example.comで
From 【test@example.com (test@example.com)】
となるのですが、このFromに名前をつけれないのでしょうか?
たとえば
From 【EXAMPLEからメールです。 (test@example.com)】
このような感じでしたいのですが、どうすれば良いのでしょう。
どなたか教えていただけませんか?
0902nobodyさん
2006/07/21(金) 18:42:33ID:???additional_headers に所望の From ヘッダを挿入
http://jp.php.net/manual/ja/function.mb-send-mail.php
mime_encode とか忘れずに。アドレスを囲むのは <> で。
0903nobodyさん
2006/07/21(金) 18:46:14ID:???有難う御座います。
タイトル(?)の部分が文字化けしてしまったのですが、
mime_encodeというのは何でしょうか?
ググってみたのですが、それらしいサイトが見当たらなくて
0905nobodyさん
2006/07/21(金) 18:49:09ID:???http://www.google.com/search?hl=ja&q=mime_encode&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
それらしいサイトだらけに見えるんだけどー
0907nobodyさん
2006/07/21(金) 18:50:01ID:???今見つけました。
0908nobodyさん
2006/07/21(金) 19:01:03ID:???何か参考になるサイトがあれば教えてください。
0909nobodyさん
2006/07/21(金) 19:15:24ID:???0911nobodyさん
2006/07/21(金) 19:18:24ID:???0917nobodyさん
2006/07/21(金) 20:11:14ID:???0918nobodyさん
2006/07/21(金) 20:19:23ID:???0920nobodyさん
2006/07/21(金) 20:40:06ID:???ロジックを記述した部分をドキュメントルートの下に置かなければ
よほどのことがない限り、ソースは流出しないよ
0922nobodyさん
2006/07/21(金) 21:22:58ID:5NMNDw00>みなさん
パスワードなどが書かれたファイルを、ドキュメントルートより下にしか置けない場合、対処法はありますか?
そもそも、ドキュメントルート以下に置いたPHPファイルの中身を見るのは、結構簡単なのでしょうか?
0923nobodyさん
2006/07/21(金) 21:23:48ID:???参考になるコードなら、山ほど公開されてるしな
0924nobodyさん
2006/07/21(金) 22:01:11ID:???0925924
2006/07/21(金) 22:02:12ID:???http://www.nextapp.com/platform/echo2/echo/demo/
0926nobodyさん
2006/07/21(金) 22:34:26ID:???ブラウザを閉じたり、セッションが終了すると
勝手に送ったジョブが終了してしまいます。
ブラウザを閉じたりしても、
ジョブが残るにはどうすればいいんでしょ??
環境は
FedoraCore 5
PHP 5
Apache 2
です。
0929nobodyさん
2006/07/21(金) 22:49:37ID:???拡張子またはパーミッションの変更、あるいは特定のディレクトリに入れた上で
そのディレクトリに対して全IP制限やBASIC認証を施すなど。
0930nobodyさん
2006/07/21(金) 23:40:53ID:???$rdfData = simplexml_load_file('new.rdf');
$rdfData->channel->items->Seq->addChild('li', 'testurl', 'rdf');
echo $rdfData->asXML();
このコード実行するとApacheが死ぬんだが・・・・・
0931nobodyさん
2006/07/22(土) 00:02:32ID:???サーバモジュールとしてPHPを入れてるなら、
PHPとサーバ(Apache)は一連托生。
PHPが落ちるような時にはApacheも引きずられる。
0932nobodyさん
2006/07/22(土) 11:39:11ID:6iz1vYAqコードは
$fp = fopen($count_file,'r+');
if (flock($fp, LOCK_EX)){
$count = trim(fgets($fp));
if (empty($count)) $count = 0;
$count++;
ftruncate($fp, 0);
fseek($fp, 0);
fputs($fp, $count);
}
fclose($fp);
flockでロックしてるので、ftruncateでファイル内容をクリアしても他から妨害されないと思ってるのですが…
お知恵をいただきたく。
0933nobodyさん
2006/07/22(土) 12:30:20ID:???俺は書き込んでから丸める主義
fputs($fp, $count);
ftruncate($fp, ftell($fp));
ファイルが空になる瞬間がないと思ってるんだけど
0934nobodyさん
2006/07/22(土) 12:42:04ID:QMrS4QvA良い方法ありませんか?
XMLパーサーでなんとか、文字列にして無理やり、正規表現でなんとか、
頭の悪い私にはどれも難しくて、スマートな方法はありませんか?
お願いします。
0937934
2006/07/22(土) 13:05:30ID:QMrS4QvAたぶん正規表現の書き方がおかしくて、出来ませんでした。
正規表現、勉強してきます。
0938nobodyさん
2006/07/22(土) 13:08:47ID:???指定ディレクトリ以下のファイル全てのパーミッションを変更、
またはワイルドカードでの指定を可能にすることはできないでしょうか?
あるディレクトリ内のファイルのパーミッションをphpからftp関数経由で
全て変更したいのですが、数が膨大なため、苦労しています。
<?php
if (!function_exists('ftp_chmod')) {
function ftp_chmod($ftp_stream, $mode, $filename)
{
return ftp_site($ftp_stream, sprintf('CHMOD %o %s', $mode, $filename));
}
}
?>
0939nobodyさん
2006/07/22(土) 13:09:04ID:???0940nobodyさん
2006/07/22(土) 13:10:43ID:6iz1vYAqおお、なるほど!
参考にさせていただきます。
0941934
2006/07/22(土) 13:15:54ID:QMrS4QvAsplitでやってました。
それにしても正規表現、苦手ッス
0943nobodyさん
2006/07/22(土) 13:36:41ID:???$i = 0;
while($i < count($array)){
$i = $i + 1;
}
としてますがもっと簡単なコーディング教えてくださいませ
0944nobodyさん
2006/07/22(土) 13:44:06ID:???foreach($array as $value)
foreach($array as $key => $value)
0945nobodyさん
2006/07/22(土) 14:16:42ID:wSNHExxb0946nobodyさん
2006/07/22(土) 14:45:14ID:???0947nobodyさん
2006/07/22(土) 14:55:26ID:???$req_uri = $SERVER['REQUEST_URI'];
$scr_name = $SERVER['SCRIPT_NAME'];
$php_self = $SERVER['PHP_SELF'];
// 1
$url1 = $host . $req_uri;
// 2
$url2 = $host . $scr_name;
// 3
$url3 = $host . $php_selfi;
ケースバイケースで好きなのを選べ
0949nobodyさん
2006/07/22(土) 15:33:52ID:???「デフォルトで、PCREは検索対象文字列を(実際には複数行からなる 場合でも)単一の行からなるとして処理します。 」
の'm (PCRE_MULTILINE)'の意味が分かりません。
0950nobodyさん
2006/07/22(土) 15:40:13ID:kdb16aHf0951nobodyさん
2006/07/22(土) 15:46:36ID:LAiwhQ0T文字列の途中に改行コードがあっても、複数行とは認識しないってこと
"bar\nfoo\n"
こんな場合の文字列のこと
0954nobodyさん
2006/07/22(土) 16:52:44ID:???こんな感じでページ送りしたいのですが、参考になるソースをおいてる
サイトありますか?
0957nobodyさん
2006/07/22(土) 17:05:03ID:???レス数が950を超えています。1000を超えると書き込みができなくなります。