トップページphp
990コメント299KB

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2008/05/03(土) 22:52:16ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは970が立ててください立たなかった場合は980よろ

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 67
http://pc11.2ch.net/test/read.cgi/php/1207863515/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。

◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0882nobodyさん2008/05/23(金) 17:18:51ID:???
しゅくだいはじぶんでとこうね
0883nobodyさん2008/05/23(金) 17:26:10ID:???
わからない事は持ち帰って検討させていただきます、が基本だろう
ちなみにできないと思っても最初の返答は一緒だが
0884nobodyさん2008/05/23(金) 17:44:42ID:???
>>881
必死なのは伝わるけど名前出してリアルを再現しても答えてもらえるというわけじゃないよ。
>webサーバー機から通常のfax印刷で送信することは可能です。
これがカギでしょ。どういうコマンドを裏で叩いてるかわからないことにはどうしようもない。

>>883
持ち帰りは情報流出になりかねないからどんな些細なことでも禁止されてるんじゃない?
0885nobodyさん2008/05/23(金) 17:53:47ID:???
>>884
あ、クライアント常駐の派遣やSESだとそうだね
その場合は単純に検討してみますでいいんだけど

帰ってやり方が云々って書いてあるから、社外打ち合わせの場の話かと思って
0886nobodyさん2008/05/23(金) 17:54:01ID:???
せっぱつまってるのを装ってるのにマジレスすんなよw
0887nobodyさん2008/05/23(金) 17:59:06ID:???
テキストファイルにでも落として、メモ帳に印刷オプションつけて叩けばいいやん。
まぁ、上司にでも話して、無かったことにしてもらうのが一番だと思うけど。
0888nobodyさん2008/05/23(金) 18:08:31ID:???
>>870
Windowsサーバ使ってCOM経由でPHPから通常印刷やFAX送信したことはある。
土日にちょちょいと組めばいいと思うよ。

WebサーバがWin以外だと
>webサーバー機から通常のfax印刷で送信することは可能です。
ここをどうやってるのかによるね。
あとfax機がメール受信をFAX受信としたり、FAX送信のゲートウェイ機能
を持つものもあるから、場合のよっては利用できるかも。
0889nobodyさん2008/05/23(金) 18:12:57ID:pC5B1H2j
PHPでちょっと多めの画像を縮小して表示してるページがあるのですが
負荷軽減のために、元画像が更新されていなければブラウザにキャッシュさせたいと思ってます。

で画像の更新日時を取得して、日付フォーマットを整形した後
header('Last-Modified: '.$this->_origin_date, true);
header('Content-type: image/jpeg');
header('Content-Disposition: inline; filename="'.$this->_origin_name.'"');
で画像を出力しています。

リクエストヘッダーには
If-Modified-Since: Mon, 21 Apr 2008 14:47:20 GMT
レスポンスヘッダーには
Last-Modified: Mon, 21 Apr 2008 14:47:20 GMT
となっていて、IEのキャッシュを見てもちゃんとファイルがあって
最終更新日は送った日になっています。

でも、二度目のリクエストでレスポンスコードが304ではなく200になっています。
ということはキャッシュを読まずに、サーバーから読んでるってことですよね?

画像のURLが
thumb.php?path=/path/to/origin/image.jpg&w=105
と動的というか、?でクエリーが付いてるからでしょいうか?

また、なんか他にヘッダーが必要いなのでしょうか?

キャッシュする方法があったら教えてください。
お願いします。
0890nobodyさん2008/05/23(金) 18:25:47ID:???
COMとか久々に聞いたな。
.NET最高だぜ。
0891nobodyさん2008/05/23(金) 18:33:20ID:???
>>889
Cache-Control に no-cache とか入ってんじゃない。PHPだとデフォルトで付くっぽいし。
ブラウザ側でヘッダ確認したら。
08928892008/05/23(金) 19:29:11ID:pC5B1H2j
>>891
ありがとうございます

header("Pragma: public");
header("Cache-Control: public, max-age=604800");
こんなヘッダーを送ってみたり
いろいろ試してみましたが200のままです。

ヘッダーはこんな感じです

HTTP/1.1 200 OK
Date: Fri, 23 May 2008 10:20:35 GMT
Server: Apache
X-Powered-By: PHP/5.1.6
Pragma: public
Cache-Control: public, max-age=604800
Last-Modified: Thu, 03 Apr 2008 14:08:35 GMT
Content-Length: 2829
Content-Type: image/jpeg

レスポンスコード304がキャッシュから読んでて、200だとキャッシュから読んでないって認識はあってますよね?
0893nobodyさん2008/05/23(金) 19:56:41ID:???
>>892
レスポンスに Expiresとかは出てないの?
それを対応してもダメなら自分には分からん。
0894nobodyさん2008/05/23(金) 21:13:10ID:7Wk9ZZ+b
formタグのactionが action="/hoge.php" ではなく action="/hoge" になってるのってどうやって拡張子隠蔽してるのでしょうか?
ちなみにそこに直接飛ぼうとした場合
http://www.example.com/hogehttp://www.example.com/hoge/ もどちらも403
0895nobodyさん2008/05/23(金) 21:14:36ID:???
index.phpでポストアクセス以外遮断かmod_rewriteじゃね?
0896nobodyさん2008/05/23(金) 22:53:10ID:nxQoYtgS
質問なんですが、フォームでプルダウン(valueは数値)を入力するような場合も
確認画面でhtmlspecialchars()や、登録画面でaddslashes()をかけたりしますか?
しょうもない質問ですみません、ちょっとアンケートというか、教えてください
0897nobodyさん2008/05/23(金) 22:58:38ID:???
プルダウンだろうが何だろうがCGIデータは信用できないので
バリデーションをやって数値である事を確認する
その後はエスケープはしないな
08988962008/05/23(金) 23:17:18ID:nxQoYtgS
すみません、バリデーションというのは入力値チェックのことでしょうか?
(こんな言葉も知らないですみません、一応調べたんですが。。)
確認画面で数値(期待した型)でなかったら登録させない処理と考えてOKですか?
0899nobodyさん2008/05/23(金) 23:37:24ID:???
1つのWebサーバに複数のPHPアプリをインストールしてある場合、
もしそれらが同じ名前のセッション変数を使っていたら、
他のアプリからもその変数が見えてしまうのでしょうか?
0900nobodyさん2008/05/23(金) 23:38:04ID:???
>>898
OK
09018962008/05/23(金) 23:43:43ID:nxQoYtgS
>>897>>900
ありがとうございました
0902nobodyさん2008/05/24(土) 00:07:18ID:???
>>899
設定にもよるけど、デフォルトだと見えたと思う。

セキュリティ上の問題じゃなくて、混在しなければ良いだけなら、
http://www.php.net/manual/ja/function.session-set-cookie-params.php
で使用するCookieにパスを指定する。
0903nobodyさん2008/05/24(土) 09:43:14ID:???
phpかperlでchatシステム作ろうと思うんだけど
どっちのほうが使い勝手いいかな?
0904nobodyさん2008/05/24(土) 09:58:51ID:???
ご自分が慣れ親しんだ言語でどうぞ
0905nobodyさん2008/05/24(土) 13:10:26ID:???
クラスの配列の作り方って
$test = array( new Human, new Human);
ちゃんと動いたんだがこの方法であっている?
もっと適切な方法があったりする?
0906nobodyさん2008/05/24(土) 13:36:08ID:???
それはインスタンスの配列だ
0907nobodyさん2008/05/24(土) 13:58:51ID:???
うまく言ったとか書いたけどうまく行くはずないね
0908nobodyさん2008/05/24(土) 14:08:17ID:???
なんでうまくいかないの?
0909mx2008/05/24(土) 18:06:52ID:???
PHPで、プロキシ経由の場合だけ表示される関数について、教えてほしいのですが、
すべての串に共通してあらわれる関数はありますか?
あれば教えてください。
アクセスを拒否したいです。
0910nobodyさん2008/05/24(土) 18:09:45ID:???
ないっす
0911nobodyさん2008/05/24(土) 19:01:13ID:???
>>909
串制限やアクセスコントロールは PHP 側でせずに、
可能でしたら Apache, .httaccess 側でまとめて面倒見た方がよいと思います
0912nobodyさん2008/05/24(土) 19:07:13ID:???
>>911
ちょっと詳しくお願いしまっすっす
0913nobodyさん2008/05/24(土) 19:30:52ID:???
>>912
例えば、携帯電話からのアクセスを PHP で振り分ける、
といった情報が検索するとすぐに見つかると思いますが、
PHP でなく .htaccess (Apache) を使っても同じ振り分けが出来ます

1. PHP で振り分ける方法
2. .htaccess で振り分ける方法

アクセス禁止を例えに、かなりおおざっぱに説明してみますと、
1. の場合は、Apache で HTTP Request を PHP (アプリケーション層)に渡し、
手渡された PHP 側で処理して返すというフローになります
2. ですと、HTTP Request は PHP に渡さず Apache で処理してしまって
返すフローになるため、1. に比べて PHP 処理分だけ処理が軽く済むわけです

「.htaccess」 「プロキシ」 「アクセス制限」 といったキーワードで検索すれば
該当する情報が見つかると思いますので参考までっにっに
09149132008/05/24(土) 19:36:18ID:???
追記・補足

.htaccess を使ったアクセスコントロールの使用ですが、
PHP を置こうとしている場所によっては使えないかもしれません

契約しているレンタルサーバ、ISP のウェブサイトスペース、
ウェブサイトスペースのレンタル等、サービスの提供形態や内容で、
--------------------
A. PHP を置くサーバが Apache を使っていること
B. .htaccess の使用が許可されていること
--------------------
最低でも上記 2点はクリアしている必要があると思います
0915nobodyさん2008/05/24(土) 19:48:05ID:???
ありがとうございます。
感謝します。
0916nobodyさん2008/05/24(土) 22:52:29ID:???
<input type="text" name="gazou">
<input type="text" name="title">
<input type="text" name="toukousya">
<input type="text" name="comment">



以下いろいろ。

と言うフォームがあります。

これをphp側で受け取って、「画像ファイルでなければSJISにエンコードする」などの処理をする場合はどうしたら良いのでしょうか。
元々は

&ReadParse;
while (($key,$val) = each %in) {
if ($key ne "gazou") {&jcode'convert(*val, "sjis", "", "z");}

と言うCGIでした

&ReadParseと言うものを使った時点で、inの中に
gazou => 画像ファイル名 title=>タイトル名 …などが入っていて、それを$keyと$valに割り当てて処理していると言う事は判ったのですが。

extract($_POST)のように取得してしまうと、いきなり$gazou=画像ファイル名、$title=タイトル名、となってしまい、「この場合がこうだったら」と言うような処理ができない上に、どのタイミングでエンコードしたら良いのかがわかりません;
mb_convert_encoding(extract($_POST,EXTR_SKIP),"SJIS");
だと何かおかしいですし。&ReadParseだとGETとPOSTの両方のデータが入っているとの事ですが、extractだとどちらかしか(?)取得できないようなので。
わかりづらい説明ですみませんが、ご教授いただけると助かります。
0917nobodyさん2008/05/24(土) 23:04:53ID:???
$_POST["gazou"]
$_POST["title"]
$_POST["toukousya"]
と個別に取得すればよかろう

というか、それってファイル名だけ貰えばいいのか?

あと>>1
0918nobodyさん2008/05/24(土) 23:28:15ID:muO/VwYB
phpだと一つずつ全部取得しないと駄目なんですね。
phpのマニュアルも見てみたのですが、perlとどう比べて良いかが判らなかったもので…。
エンコードも一つずつやらなきゃ駄目って事になるのでしょうか。

gazouならこういう処理
titleならこういう処理…と分けたかったのです。

phpのバージョンは5です。OSはWindowsです。
0919nobodyさん2008/05/24(土) 23:47:14ID:???
PerlもPHPもよく分かってないのに、移植しようなんて無理があるだろw
0920nobodyさん2008/05/25(日) 00:02:04ID:???
>>918
はい?PHPでも
while (($key,$val) = each %in) {
すればいいんじゃないの?
何が問題なのかよく分からん。
0921nobodyさん2008/05/25(日) 00:20:02ID:???
>>918
foreach( $_POST as $key => $val )で取れるが
> gazouならこういう処理
> titleならこういう処理…と分けたかったのです。
関数に処理を書いて、1つずつ取って渡すほうがいいんじゃねえの?

まあこんなのは書き方がいくらでもあるんで
0922nobodyさん2008/05/25(日) 00:43:48ID:bR/AjWRw
フォームのデータ取得の流れで質問です

checkboxを受けとる場合に name="foo[]" とHTMLに記述し
$foo = $_POST["foo"] で配列を取得できますが、チェックが一切されていない状態では
isset( $foo ) がtrueとなります
$_POSTにfooが入っていないので当然なのですが、$_POSTにfooをnullで入れてくれるような
設定やオプションはあるのでしょうか?
0923nobodyさん2008/05/25(日) 00:53:48ID:???
$foo = $_POST["foo"] if($_POST["foo"]);
とかじゃいかんの?

いくらでも方法あると思うけど。
0924nobodyさん2008/05/25(日) 00:57:39ID:rVIlw47X
>>919
ですね、もうちょっと理解してから質問するようにします。

>>920
phpで、どうやったらinに全部入るかわからなかったもので・・・

>>921
ありがとうございます。それでやってみます。

答えて下さった方、ありがとうございました。
0925nobodyさん2008/05/25(日) 01:25:55ID:gx/qo6M9
「0」がNULLと同じ扱いになるのなんとかならないですか?
array_search(に限らないかもしれないけど)で、配列の一番目にヒットした場合に返される「0」がNULLと同じ扱いになるので実質機能しないんですが。
0926nobodyさん2008/05/25(日) 01:29:23ID:???
===
0927nobodyさん2008/05/25(日) 01:34:49ID:???
>>922
× isset
○ empty
0928nobodyさん2008/05/25(日) 01:35:54ID:???
  /⌒|  -=・=‐,   =・=-  |
0929nobodyさん2008/05/25(日) 02:31:58ID:fA12GUeB
Windows上でNet_DNSを使おうとしたのですが、Net_DNS_ResolverのqueryのresponseがFALSEで返ってきます。
Windows上ではNet_DNSは利用できないのでしょうか?
情報がないため困っています。

// testing Net_dns
<?php
require_once('Net/DNS.php');
$resolver = new Net_DNS_Resolver();
$resolver->debug = TRUE;
$response = $resolver->query('example.com');
print_r($response);
if ($response) {
  foreach ($response->answer as $rr) {
    $rr->display();
  }
}
?>
出力されたメッセージ
;; query(example.com, A, IN) ;; using extended PHP sockets

PEAR :: Package :: Net_DNS
http://pear.php.net/package/Net_DNS

環境:Windows XP SP2
XAMPP 1.6.6a
PHP 5.2.5 (cli) (built: Nov 8 2007 23:18:51)
Zend Engine v2.2.0
Apache/2.2.8
09309292008/05/25(日) 02:39:03ID:fA12GUeB
ipconfig /allで調べたネームサーバーを指定したらDNSを引けました。

$resolver->nameservers[0] = '192.168.11.1';

しかし、これは明らかな環境依存です。
一般的な書き方をするにはどうしたらよいものでしょうか?
自分のマシンのDNS設定を取得できたらよいのですが・・・
09319292008/05/25(日) 03:34:39ID:fA12GUeB
アドホックですが、ipconfig使っていけました。
もっとスマートな方法があればなあ・・・

function die_message($s)
{
    print "$s\n";
    exit;
}
define('IS_WINDOWS', (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'));

function getDNSServer()
{
    @exec('ipconfig /all', $ipconfig);
    print_a($ipconfig, 'label:nameserver');
    foreach ($ipconfig as $line) {
        if (preg_match('/\s*DNS Servers.+:\s+([\d\.]+)$/', $line, $nameservers)) {
            $nameserver = $nameservers[1];
        }
    }
    if (empty($nameserver)) {
        die_message('Can not lookup your DNS server');
    }
    print_a($nameserver, 'label:nameserver');
    return $nameserver;
}
09329292008/05/25(日) 03:35:00ID:fA12GUeB
つづき

// testing Net_dns
require_once('Net/DNS.php');
$resolver = new Net_DNS_Resolver();
$resolver->debug = TRUE;
if (IS_WINDOWS) $resolver->nameservers[0] = getDNSServer();
$response = $resolver->query('example.com');
print_a($response, 'label:DNS response');
if ($response) {
    foreach ($response->answer as $rr) {
        $rr->display();
    }
}
0933nobodyさん2008/05/25(日) 03:36:18ID:???
ここはあなたの日記帳ではないのですが
09349292008/05/25(日) 03:37:13ID:fA12GUeB
ああああ print_aそのままかいっちゃた

print_aはこちらのサイトで紹介されてるものです。
print_rに置き換えて読んでください

print_rをより分かりやすくするprint_a:phpspot開発日誌
http://phpspot.org/blog/archives/2006/04/print_rprint_a.html
09359292008/05/25(日) 03:37:57ID:fA12GUeB
>>933
すいません。
どうしてもわからず質問してしまいました。

おさわがせしました。
夜分遅くご協力いただきありがとうございました。
0936nobodyさん2008/05/25(日) 04:14:16ID:???
>>929は、bind(Win用DNS鯖)使えば?
このスレで書くことじゃないけどさ。
0937nobodyさん2008/05/25(日) 12:13:40ID:???
どうでも良い事なんだけど
なんでdie('めっせーじ);
って書かないの?
0938nobodyさん2008/05/25(日) 14:23:51ID:BQPLi7Wv
if(!$var) と if($var=="") と if(empty($var)) ってどう違うんでしょうか?
使い分けの注意点など、どなたか簡単に教えてください お願いします
0939nobodyさん2008/05/25(日) 14:31:21ID:???
>>938
そのものずばりなページがあるじゃないかマニュアルに
09408312008/05/25(日) 15:07:35ID:YGpuFVGv
>>926
レスに気づかなかった。
ありがとうございます!!
0941nobodyさん2008/05/25(日) 22:47:40ID:???
Pdoの名前パラメータって昔Where絡むと駄目でしたっけ?
Postとかから直にぶっこめるから楽だったんだけど、その辺で躓いて疑問符に鞍替え・・・・
という自分の記憶は勘違いだったんでしょうか。
0942nobodyさん2008/05/25(日) 22:50:30ID:???
日本語でおk
0943nobodyさん2008/05/26(月) 00:30:09ID:???
くだらない質問かもしれませんが、色々やってみてわからなかったので、質問させてください。

情報を新しいウィンドウに渡すのは、できるようになったのですが。(JavaScript併用にて)
そのウィンドウから値を戻す方法がわかりません。

<script>
function openWindow(form){
form.target = window.open("about:blank", "win" + new Date().getTime() ).name;
form.submit(); }
</script>
---------略------------
<form method="POST" action="値の送り先.php" ENCTYPE="MULTIPART/FORM-DATA">
<input type="text" name="sendtext">
<input type="button" value="送る" onClick="openWindow(this.form)">
</form>
---------略------------
上記のようなソースで新しいウィンドウを開く&情報渡しをしているのですが。
たとえばこの開かせる側のページに <input type="text" name="modori" value=""> という部分があったとして。
新しく開いた 値の送り先.php から、その部分に値を入れるにはどう書けば良いのでしょうか。
値の送り先.phpのフォームタグのAction部分に、既に開いているウィンドウを指定したいと思ったのですが
どうにもやり方がわからないもので・・・。
JavaScriptで、ウィンドウ名をきちんと指定してやるのでしょうか。
0944nobodyさん2008/05/26(月) 00:44:02ID:???
>>943
http://developer.mozilla.org/ja/docs/DOM:window.opener

あとはWeb制作のJavascriptスレで。
0945nobodyさん2008/05/26(月) 00:53:05ID:???
>>944
サンクス。
ちょっとJavascriptスレ行ってくる。
0946nobodyさん2008/05/26(月) 04:51:04ID:???
phpDocの可変長引数の表記ってありますか?
0947(><)2008/05/26(月) 07:36:02ID:???
PHP 正規表現

こんにちは。いつもお世話になってます。
今回質問した件は、正規表現で次のように表したいのですが、どうしたらよいのでしょうか?

#DO#コメント#/DO#
ドコモ専用コメント


#AU#コメント#/DO#
AU専用コメント

などです。
【コメント】と書かれた部分は指定した機種しかあらわれないようにしたいのです。

実際にしようで使ってみると

@あなたの携帯は#AU#AU#/AU##DO#ドコモ#/DO#です。
このように記述したらAUからアクセスしたら
@あなたの携帯はAUです
ドコモからアクセスしたら
@あなたの携帯はドコモです。



このようなものを作りたいです。わかる方よろしくお願いいたします。
0948nobodyさん2008/05/26(月) 07:52:19ID:???
if文
0949nobodyさん2008/05/26(月) 07:53:34ID:???
ない
0950nobodyさん2008/05/26(月) 08:17:57ID:???
めんどくせぇからコピペ。
まずは正規表現とは何かググれw


require_once('Net/UserAgent/Mobile.php');

// インスタンス生成(ユーザーエージェント解析)
// 解析するユーザーエージェントを指定することも出来る
$agent = Net_UserAgent_Mobile::singleton();

switch( true )
{
case ($agent->isDoCoMo()): // DoCoMoかどうか
echo "DoCoMoだよ。";
if( $agent->isFOMA() )
echo "Fomaだよー";
break;
case ($agent->isVodafone()): // softbankかどうか
echo "softbankだよ。";
if( $agent->isType3GC() )
echo "3GCだよー";
break;
case ($agent->isEZweb()): // ezwebかどうか
echo "ezwebだよ。";
if( $agent->isWIN() )
echo "winだよー";
break;
default:
echo "たぶんパソコン。";
break;
}
0951nobodyさん2008/05/26(月) 08:43:50ID:???
>>950
それあんまり使い物にならない
0952nobodyさん2008/05/26(月) 09:41:28ID:???
>>951
使い物になるかどうかは、お前しだい。
0953nobodyさん2008/05/26(月) 10:01:07ID:???
振り分けごときでいちいちインスタンスを作るのが気に入らない
0954nobodyさん2008/05/26(月) 11:04:01ID:???
>>947
$template = 'あなたの携帯は#AU#AU#/AU##DO#ドコモ#/DO#です。';
function filter($m) { return $m[1] == 'DO' ? $m[2] : ''; }
echo preg_replace_callback('@#([A-Z]+)#(.*?)#/\\1#@', 'filter', $template);

後は filter() 内を好きなように変えな
0955訂正2008/05/26(月) 13:49:38ID:v5Q4661m
$text_keyword=trim($text_keyword," ");
これ↑を実行しても全角スペースがトリムされないので
これ↓を実行することにしたけど、全角スペースが"@"マークと勘違いされて表示されてしまう。
"@"マークを表示しようとしても全角スペースと間違えられて表示されたりします。
$item_keyword=ereg_replace('/^[  ]*(.*?)[  ]*$/s', '$1', $item_keyword);

いったいどうしたら、全角スペースをトリムすることができるでしょうか?
0956nobodyさん2008/05/26(月) 13:55:46ID:???
mb_関数
09579552008/05/26(月) 14:04:14ID:v5Q4661m
http://d.hatena.ne.jp/cos31/20071129/1196321583

このサイトでわかりました。
trim( mb_convert_kana( $hoge, "s"));
mb_ereg_replace( "^( | |\t|\n|\r|\0|\x0B)*|( | |\t|\n|\r|\0|\x0B)*$", "", $hoge);

この上記の2つの方法でできるようです。
前者の方が早いみたいです。
0958nobodyさん2008/05/26(月) 14:11:10ID:???
いやマニュアル見ろよ
0959nobodyさん2008/05/26(月) 14:35:57ID:???
半角スペースも消えると思うんだけど、いいの?
文字コードの問題なんだから、普通に正規表現のuオプション使えばいいような気がするけど。
0960質問2008/05/26(月) 16:52:11ID:???
なんか4つ割りの表に数字が入ってて

それの統計値を求めるプログラミング教えて下さい。

Math.Absを使うみたい。
Bisual Vasic Stadio2003だった

intA=????
intB=????
これがC、D、N1、N2、M1、M2とあって

textbox9.text=????
0961nobodyさん2008/05/26(月) 17:03:00ID:???
意味不明
ASP.NETスレにでも行きやがれ
0962nobodyさん2008/05/26(月) 18:59:16ID:???
http://pc11.2ch.net/test/read.cgi/php/1193295871/
の方に書き込んだのですが回答してもらえそうにないので
こっちにも書き込ませていただきます

http://wwwwwwww.ws/
ココみたいなRSSアンテナのサイトを作りたいのですが
どういう所を勉強すればいいですか
ほかにも 
・取得した記事の記事内や記事タイトル、カテゴリで振り分けをしたり
・記事内に画像リンクがあったらそれを小さくして自動で表示する
ようにしたいのですが
0963nobodyさん2008/05/26(月) 19:10:40ID:???
>>962
RSSはXMLで提供されているので、
XMLを自分で構文解析するか、SimpleXML関数のようなものを使って解析して情報を抜き出す。
タイトル・カテゴリもRSS側でどのタグに対応するか調べて抜き出せばいい。
画像のリンクは記事中の<img src="*">を正規表現なりで探せばいい。
あとは解析して抜き出した結果を一時的に配列にいれて、整形して表示する。
もしくはDBに入れてDBから取り出して表示する。

おおまかな流れをまとめると
・RSSの登録
・登録したRSSから誰かがアクセス毎あるいは一定時間でジョブを実行して情報をとってくる。
・とってきた情報を自分で加工して表示する。
0964nobodyさん2008/05/26(月) 20:25:48ID:???
flock($fp,LOCK_UN)

でロックの解除に失敗(返り値がFALSE)してしまったら、

fclose($fp)

でファイルを閉じる必要ってあるんでしょうか???
0965nobodyさん2008/05/26(月) 21:04:38ID:???
考え方、逆じゃね?
まぁ、この辺読んでみ。
ttp://testwiki.仮.jp/?PHP%2F%A5%D5%A5%A1%A5%A4%A5%EB%A5%ED%A5%C3%A5%AF%2F%A5%CE%A1%BC%A5%C8
0966nobodyさん2008/05/26(月) 21:57:33ID:eOG28j+b
クッキーが有効か否かを調べるには、

setcookie("test","on",time()+3600);
if($_COOKIE["test"]=="on"){
echo "クッキーは有効です";
}

と言う方法を使っているのですが、別の方法(もっと簡単)なのはありますか?
0967nobodyさん2008/05/26(月) 22:08:21ID:???
>>966
それで問題ないよ。クッキーを発行してみてチェックする方法が正攻法。
09689662008/05/26(月) 22:46:31ID:???
>>967
そうでしたか。では、このまま使います。
ありがとうございました。
0969nobodyさん2008/05/27(火) 09:58:10ID:fU1I8wAO
fopenの"w"と"w+"ってどう違うの?
両方読込時にファイル初期化してるよね?
0970nobodyさん2008/05/27(火) 10:01:08ID:???
>>969
検索したらこんなの見つかったけど?
ttp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k03.htm
0971nobodyさん2008/05/27(火) 10:12:50ID:???
>>969
ttp://jp2.php.net/manual/ja/function.fopen.php
0972nobodyさん2008/05/27(火) 10:14:42ID:???
なんでマニュアルすら読まないの?ねぇなんで?
http://jp2.php.net/fopen
0973nobodyさん2008/05/27(火) 10:22:11ID:fU1I8wAO
>>970-972
ありがとうございます。そのあたりは読んだのですが、
"w+"もオープンしたタイミングでファイルサイズがゼロになりますよね?
「"w+"は読み込み/書き出し用 」とありますがこの「読み込み」は
何を意味するのかがわからなくて。
0974nobodyさん2008/05/27(火) 11:09:32ID:sLUbAiXg
finfo_mimeを使ってwmvのmimeを取得しようとすると、
「application/octet-stream」になっちゃう…。
httpd.confにも/etc/mime.typesにもちゃんと
AddType AddType video/x-ms-wmv .wmv
って入れたのに…magicデータベースにmimeを追加する方法ってあるの?
教えてエロい人!

/**ソース***
$finfo = finfo_open(FILEINFO_MIME, "/usr/share/file/magic");
echo 'WMV : '.finfo_file($finfo, "wmv.wmv");
finfo_close($finfo);
***ソース**/
0975nobodyさん2008/05/27(火) 11:11:36ID:o4ksNqHY
PCで携帯専用サイトにアクセスしたい場合
携帯で送信するヘッダーとまったく同じものを送信したのですがアクセスできませんでした
その場合はやはりIPで判別しているのでしょうか。

とはいってもエスパー問題だよな
0976nobodyさん2008/05/27(火) 11:13:34ID:???
>>973

$fp = fopen('hoge.txt','w');
fwrite($fp,'a');
rewind($fp);
var_dump(fread($fp,1)); // string(0) ""

$fp = fopen('hoge.txt','w+');
fwrite($fp,'a');
rewind($fp);
var_dump(fread($fp,1)); // string(1) "a"
09779692008/05/27(火) 11:21:17ID:fU1I8wAO
>>976
ありがとうございます。
理解できました。
0978nobodyさん2008/05/27(火) 11:57:40ID:???
$flg = TRUE;

echo "フラグは".(($flg === TRUE)? "成立" : "不成立")."です。";

こんな使い方できたのか
0979nobodyさん2008/05/27(火) 12:11:42ID:???
常識
0980nobodyさん2008/05/27(火) 12:12:23ID:???
PHP5.3から
$flg="成立";
echo $flg?: "不成立";

みたいなのも可能らしい。
この場合三項演算子じゃないし、何て呼ぶんだろ。
0981nobodyさん2008/05/27(火) 13:02:24ID:???
$name = $_GET['name'] || "defaultName";

みたいな書き方はいつになったら出来るようになるんだ。
レス数が950を超えています。1000を超えると書き込みができなくなります。