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

【PHP】下らねぇ質問はID出して書き込みやがれ 94

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/03/17(水) 23:17:41ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 93
http://pc11.2ch.net/test/read.cgi/php/1266229386/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0377nobodyさん2010/03/27(土) 16:35:08ID:???
理解できる文章で
0378need2010/03/27(土) 16:37:21ID:BLNff2FT
会員制サイトって言えばいいですかね?
0379nobodyさん2010/03/27(土) 16:38:15ID:???
>>378
そういうことでしたらできます
頑張ってください
0380need2010/03/27(土) 16:41:56ID:BLNff2FT
5人くらいで共同してやろうとしてるんですけど
僕もですけどみんなそういうの詳しくなくて・・・

ヒント的なのくださいw
0381nobodyさん2010/03/27(土) 16:44:11ID:???
まず貴様の文章を脳内変換するかしないか考えるから年齢教えろ
0382nobodyさん2010/03/27(土) 16:45:53ID:???
スルー決定
0383need2010/03/27(土) 16:47:00ID:BLNff2FT
18歳です
0384nobodyさん2010/03/27(土) 16:49:53ID:???
これ使ってろ
ttp://joomla.jp/
0385nobodyさん2010/03/27(土) 16:50:08ID:???
美少女なら考える
0386need2010/03/27(土) 16:55:09ID:BLNff2FT
ヒントありがとうございました
またみんなと相談してみますでわでわノシ
0387nobodyさん2010/03/27(土) 18:09:59ID:???
$sql = "SELECT * FROM test WHERE id = '***'"; //実際はもっと複雑
$result = mysql_query($sql);

mysql_queryのレスポンスでn秒以上かかったら、強制的に中断したいのですが
どうすれば出来ますか?
0388nobodyさん2010/03/27(土) 18:12:47ID:hCQYGWPc
あげ忘れた。。
0389nobodyさん2010/03/27(土) 18:14:16ID:???
シグナルアラーム
0390nobodyさん2010/03/27(土) 18:48:45ID:???
>>387
SHOW PROCESSLISTやKILLあたり
実行スクリプトでは待ちというか調べられないので別に監視するようなモノを作る感じ
http://dev.mysql.com/doc/refman/5.1/ja/kill.html

またはmysql_unbuffered_queryでなんとかする
http://jp2.php.net/manual/ja/function.mysql-unbuffered-query.php

件数が多くなりそうなクエリーで遅いなら
SQL_BIG_SELECTSやSQL_MAX_JOIN_SIZE
を設定するとか
http://dev.mysql.com/doc/refman/5.1/ja/set-option.html
0391nobodyさん2010/03/27(土) 20:16:16ID:fkziy9mv
htmlspecialchars()の抜け穴を教えてください
0392nobodyさん2010/03/27(土) 20:31:37ID:h7pdGwVR
ログファイルは拡張子を .cgi にすれば他人から覗かれる心配はなくなるとよく言われているけど
これ本当に覗かれる心配はないって断言できるの?

あと拡張子を .cgi ではなく .php にした場合はどう?
これでもログを覗かれずに済む?
0393nobodyさん2010/03/27(土) 20:33:31ID:???
サーバの設定次第
ご自身の環境でお試しあれ
0394nobodyさん2010/03/27(土) 20:42:02ID:???
>>392
.cgiにしたらサーバの設定次第だけど
とにかく実行とか、怖い設定になっていたら
うまくすればログのフリして実行できるんじゃないかな。

あと、phpにしていたら上の問題プラス、
下手い設定でも筒抜けになるな。こえぇーーー
0395nobodyさん2010/03/27(土) 20:46:53ID:???
質問

バーミッションって意味あんの?
書き換え不可にしたって
同じサーバーの奴から参照されてる時点で
バーミッションも変えられてしまうのでは?
0396nobodyさん2010/03/27(土) 20:47:36ID:???
>>391
phpspotでそのネタ見た
0397nobodyさん2010/03/27(土) 21:01:35ID:h7pdGwVR
>>394
> とにかく実行とか、怖い設定になっていたら
> うまくすればログのフリして実行できるんじゃないかな。

だよね(´・ω・`)

ログのフリしてコード実行とか考えるだけで末恐ろしい・・・
やっぱログは .log ファイルに格納して .htaccess でそのファイルに
アクセスできないようにした方がいいよね( ´・ω・)
0398nobodyさん2010/03/27(土) 21:56:20ID:m9Aaq+Yx
お勧めのテンプレートエンジン教えてください
0399nobodyさん2010/03/27(土) 22:00:57ID:???
>>398
include "header.php";
include "menu.php";
include "body.php";
include "footer.php";
0400nobodyさん2010/03/27(土) 22:46:02ID:m9Aaq+Yx
Twigにしました
皆さんありがとうございました
0401nobodyさん2010/03/27(土) 23:49:17ID:???
いや待て *.log がCGIとして動作するように設定されてるとも(ry
04022ヶ月2010/03/28(日) 01:43:36ID:/hrsIc1c
複数サイトのRSSを読み込んで新規順に並べるスクリプトをXML/RSSを使って作っています。
各サイトに画像を割り当てて表示したいと思っています。
RSSは時間順に表示されるのですが、画像の順番が固定されています。

画像には時間情報がないので、画像とサイトを関連付ければ表示できる
ようになると思いますが、その部分が作れません。

よろしくお願いします。

0403nobodyさん2010/03/28(日) 01:51:39ID:???
RSSのURLをmd5でハッシュ化
ハッシュ.jpgでサイト画像を用意

それか重複するドメインがなければ
ドメイン名.jpgとかでもいいんじゃない?
04042ヶ月2010/03/28(日) 03:38:35ID:/hrsIc1c
>>403
ドメイン名.jpgでhttpやら抜いてできました!
ありがとうございます。
0405nobodyさん2010/03/28(日) 10:25:11ID:???
はじめましてphp入門者です

IPアドレスで初回訪問時、2回目以降の訪問のページをわけたいのですがPHPで実現できますでしょうか?

出来るのなら参考に出来るサイトなど教えていただければ幸いです

よろしくお願いします
04064052010/03/28(日) 10:25:52ID:???
すいませんID出し忘れてました>>405です
04074052010/03/28(日) 10:26:34ID:afRJ3+O7
何度もすいません・・・
0408nobodyさん2010/03/28(日) 10:28:01ID:???
PHPに関わらずクッキー食わせて処理してください
04094052010/03/28(日) 10:44:47ID:afRJ3+O7
クッキーではやりたいことが実現できなくて・・・

初回訪問時にIPアドレス、名前を登録して次回以降

こんにちは 名前 さん のような感じで表示したいんです・・・
0410nobodyさん2010/03/28(日) 10:51:26ID:???
IPアドレスは毎回変わるからなぁ・・・ドメイン名にしたって
レベル3以降はころころ変わるからその方法は厳しいん
じゃないの
0411nobodyさん2010/03/28(日) 10:56:50ID:???
>>405
初回訪問フォームでnameを入力させてsubmit
↓
クッキーにname,IP,訪問時間,訪問回数なんかセット

クッキーにこれらの情報が登録されていたら、変更すべき項目をクッキーにセットしつつnameを表示

なんでクッキーでできない?

>>410
クッキーがあれば前回訪問していることがわかるのでIPは関係ない
というかIPを記録する意味がわからないから何とも言えないが
0412nobodyさん2010/03/28(日) 11:00:32ID:???
気が向いたら何時もキャッシュとクッキーを削除している俺のような奴もいる。
そこまで気にするならnameとpasswordで取り扱うしかないかと。
0413nobodyさん2010/03/28(日) 11:05:48ID:???
>>411
410は408に対する409について書いたの
0414nobodyさん2010/03/28(日) 15:40:46ID:???
クッキー→クライアント側でコントロールできてしまう、よって×

IP→固定IPでない限り常に流動的、よって×

同一人物特定可能な機器の固有情報→ないわけではないが機器がない人もいるしセキュリティ的にもやってはいけない、よって×

IDとパスを登録してもらって鯖側で管理する→会員制サイト向け、もっとも現実・実用的
ログイン後にユーザ別に操作する情報があるなら話は別だが「こんにちは名前さん」のためだけにログインさせるのはアフォ

結論、動的ページに感動して初心者にはありがちな行為だがやめたほうがいい。
俺も最初はうれしくてついついサイトのトップにJavaScriptで時計表示したり、
むやみに訪問者のIP出してみたりしたっけなぁ。
今思えば痛々しい。
0415nobodyさん2010/03/28(日) 15:54:28ID:???
IDとパスものクッキー使うが
yahooとか
0416nobodyさん2010/03/28(日) 16:24:20ID:???
そりゃそうだ毎回のログインが大変だからな。
>>414のクッキーってのは初回訪問時(orクッキーが消えた次の訪問時)に
名前を入力させてそれをクッキーに入れるということでしょ。
でもまークッキーが見つからなかったら結局何かを入力するという点では一緒なわけだから、
普通にクッキーが見つからなかったら名前入力させて食わせるでいいと思うけどな。
ただそんなめんどくさいのをユーザーは望まないし、
作り手の自己満足だからやめたほうがいいとは思うが。
0417nobodyさん2010/03/28(日) 17:16:58ID:I5spPOJr
携帯向けサイトを作成していて、認証やID登録にSSL通信を使おうと考えています。
ベリサインのグローバルIDは高すぎるので他の安いものを探しているのですが、
たとえば、ベリサインのセキュアIDにして、
対応している端末はSSL通信を行い、非対応の機種はなんらかの判別処理をして
非SSL通信にしてしまうなんて、都合の良い方法はあるでしょうか?
0418nobodyさん2010/03/28(日) 17:18:04ID:LnmjTtuZ
basic認証を破る方法を教えてください
0419nobodyさん2010/03/28(日) 18:32:25ID:???
ベリサインの手続き踏んで高い金払ってるサイトだから信頼が得られるのに
金払わずに取り繕うなんて馬鹿じゃないの
0420nobodyさん2010/03/28(日) 19:00:28ID:I5spPOJr
>>419
おっしゃることはごもっともです。
ただ、利用者がセキュリティを気にする層と気にしない層がいて、
古い機種を所有している人に特に気にしない層が当てはまるんです。
なので、古い機種を使用しているあまりセキュリティを気にしない人は非SSLで運用を考えているんです。
0421nobodyさん2010/03/28(日) 19:03:21ID:???
セキュリティを気にするのはサイト管理者だろうが
自分がケチなのを利用者のせいにするな
0422nobodyさん2010/03/28(日) 19:09:19ID:???
>>421
営利目的でない為、運用の都合上、コストがそのまま利用者にかかるんですよ・・・。
コストが上がっても、私の腹は痛みません・・・。
扱う情報がメールアドレスと氏名くらいなので、できればSSLを使わずにしたいのですが、
SSLじゃないと嫌だという利用者もいるので、上記のような方法を考えているんです。
0423nobodyさん2010/03/28(日) 19:52:07ID:???
言ってることがよく分からない。

SSL要らないからコスト上げるな、って顧客と
コストかかってもいいからSSLを入れろ、って顧客がいて

どっちにも対応できる道を探してるということ?
0424nobodyさん2010/03/28(日) 19:55:32ID:???
利用者がいるんでしょ
0425nobodyさん2010/03/28(日) 20:17:00ID:???
単純に機種別にSSLかけるかかけないかしたいって読めばいいんじゃねーの
0426nobodyさん2010/03/28(日) 20:40:56ID:???
SSL通信はするけど認証機関はとおさなければ良いんでは
無料
0427nobodyさん2010/03/28(日) 20:42:07ID:???
無料の認証機関ってなかったっけ?
0428nobodyさん2010/03/28(日) 20:49:55ID:???
要するに証明書が対応、非対応の判別処理がphpでできるか?って事じゃね
SSL、非SSLのリンク並べた方が楽じゃね
使いたい奴は使えと、使いたいけど非対応の端末は買い換えろと
0429nobodyさん2010/03/28(日) 21:04:02ID:???
その方法は単純にSSLに対応したサイトだわな
0430nobodyさん2010/03/28(日) 21:04:33ID:???
Rails使えば解決するよ!
0431nobodyさん2010/03/28(日) 22:54:42ID:rVlISy+X
PHPでunixtimeを表示したいのですが、どのようにすれば表示できますか?
0432nobodyさん2010/03/28(日) 22:56:57ID:I5spPOJr
>>423
そういうことです。
>>428
やっぱり、それが賢明ですかね。
>>426
携帯サイトなので、たしかauは通信できなかったように思います。
実機がないのでわからないのですが、そういった記事を目にしたことがあるので。
0433nobodyさん2010/03/28(日) 22:58:42ID:???
>>431
print time();
0434nobodyさん2010/03/28(日) 23:01:51ID:rVlISy+X
>>433
ありがとうございます><
0435nobodyさん2010/03/29(月) 09:47:34ID:4cY5kwZW
すみません、質問させてください。
centOS環境にて、公開フォルダ下にphpMyAdminを入れました。
そしてhttp://localhost/phpMyAdminとブラウザで入れたのですが、
You don't have permission to access /phpMyAdmin on this server.
とエラーが出ました。
で、パーミッションを見てみた所、drwxr-xr-x となっておりました。
しかし、アクセスできるフォルダ(例えばhogeフォルダ)もdrwxr-xr-x とパーミッションはなっておりました。
同様に-rw-r--r--とパーミッションの与えられているphpMyAdmin内のindex.phpにも当たり前でしょうが、
http://localhost/phpMyAdmin/index.phpでアクセスしてもダメでした。
どのようにすればphpMyAdminを実行出来るのでしょうか?
0436nobodyさん2010/03/29(月) 09:56:22ID:???
ちなみに公開ディレクトリはapacheの初期設定のまま?
0437nobodyさん2010/03/29(月) 10:11:49ID:???
>>436
ハイそうです
centOS、Apacheの初期設定のままです
特にphp.iniとかは何もいじっておりません
0438nobodyさん2010/03/29(月) 11:37:55ID:FXTZBx7Y
ローカルでメール送信プログラムのテストをしたいです。

さくらのメールボックスなどのメールアカウントを持っていますが、
POP before SMTPなどややこしい機能があるみたいです。

この場合、ローカルにメールサーバを立てるのが一番手軽でしょうか?
0439nobodyさん2010/03/29(月) 11:46:10ID:???
うん
0440nobodyさん2010/03/29(月) 11:51:52ID:???
お手軽
「windows php メール」とかで検索あれ
0441nobodyさん2010/03/29(月) 11:53:00ID:FXTZBx7Y
ありがとうございました!
0442nobodyさん2010/03/29(月) 13:51:48ID:Th+hpH2Z
お願いします。
これからphpを学ぼうと、Amazonでphpの本を探してみたのですが、どれも高くて気軽に買えません。
phpというと、Wikiなどを見ながらApacheでrep2を一週間かけて動かしたぐらいしか経験無いのですが、
そんな初心者にオススメのphpの本を教えていただけませんでしょうか。
0443nobodyさん2010/03/29(月) 13:55:43ID:???
まずhttp://www.php.net/manual/ja/の言語リファレンスを全部やってから家
0444nobodyさん2010/03/29(月) 14:09:14ID:???
>>442
今までにCとかC++とかPerlとかJavaとか、まあそのあたりの言語でのプログラミングを
してたなら、「PHP 入門」とかでぐぐって出てくる適当なサイトで十分いけるよ。
それでどういうものなのか、とりあえずどう使うのかを掴んだら、後は>>443を随時参照でおk。
0445nobodyさん2010/03/29(月) 15:10:31ID:???
smartyのアンチと信者ども前スレの続きするぞ
ttp://pc11.2ch.net/test/read.cgi/php/1269841264/
0446nobodyさん2010/03/29(月) 15:12:34ID:???
知るかバカ
0447nobodyさん2010/03/29(月) 17:20:21ID:1Ehd5H1b
throwの挙動なんですが、returnと同じでthrowしたらその関数はそこで終了するということでよろしいですか?
0448nobodyさん2010/03/29(月) 17:27:58ID:???
せやで!
04494472010/03/29(月) 17:44:03ID:???
ありがとうー
0450nobodyさん2010/03/29(月) 18:12:06ID:???
throw new Exception();
return;

と書いてた俺に一言
0451nobodyさん2010/03/29(月) 18:16:46ID:???
(;゚Ж゚;)ブホォ
0452nobodyさん2010/03/29(月) 18:16:47ID:???
読みやすくていいと思います・・
0453nobodyさん2010/03/29(月) 19:25:19ID:???
いまどきのまともなコンパイル型の処理系なら、
こんとろーるふろーがそこまで行かないぞって警告くらい出してくれたろうけどなぁ。
0454nobodyさん2010/03/29(月) 19:25:45ID:MUiCUZA9
【OS名】linux
【PHPのバージョン】php5.26
【連携ソフトウェア】特になし
【質問内容】

ブログのコメント機能に似たものをPHPで実装しています。

これを自分のサイトの各ページに読み込ませることで擬似的にブログの様に閲覧者が各ページで
自分の意見を自由に投稿できるようになります。

そこで疑問なのですが、自動的に生成するログファイルの命名規則をどう扱うべきかで悩んでいます。
各ページ毎にログは独立させるつもりなので、ページが複数あれば必然的にログファイルも複数になります。
メンテナンスのことを考えるとログファイル一式は一カ所のフォルダに保存しておいた方がいいと思います。

たとえば次のようなページ構成の場合・・・

/public_html/FolderA/index_1.html
              index_2.html
        /FolderB/FolderC/index_1.html

3つのページにコメントスクリプトを埋め込むので合計3つのログファイルが生成されるわけですが

/public_html/log/

フォルダに3つのログファイルを保存するとき、ログファイルそれぞれのファイル名はどういう規則で
自動生成するべきでしょうか?ちなみにlogフォルダの下にはフォルダは一切作らないでおきたいと
思っています。またメンテナンス性を高めるためログファイルの名前はランダムな文字列ではなく
どのページに関するものか人目で判別できるようなものにしたいと思っています。
0455nobodyさん2010/03/29(月) 19:29:39ID:???
お前の都合に合わせろよ
0456nobodyさん2010/03/29(月) 22:39:29ID:???
PHPのランダム表示についての質問です。
ランダム表示をしてさらに表示頻度を設定したいのですが、どのようにすればいいか教えてください。

<?php
$rndtxt[0] = 'テキスト1';
$rndtxt[1] = 'テキスト2';
$rndtxt[2] = 'テキスト3';
$length = count($rndtxt) - 1;
srand( (double)microtime()*1000000 );
$num=round( rand(0,$length) );
print("$rndtxt[$num]");
?>

現在は上のPHPで広告をランダム表示しています。
これのテキスト1を60%、テキスト2を20%、テキスト3を20%の割合で表示させたいです。

どのように書けばそのように設定できるのでしょうか?
0457nobodyさん2010/03/29(月) 22:48:10ID:???
>>456
$weight = array(0, 0, 0, 0, 0, 0, 1, 1, 2, 2);
$num = $weight[round(rand(0, count($weight) - 1))];
print("$rndtxt[$num]");

それか0から9のランダムな整数出して
if ($num < 6) {
$rndtxt[0];
}
else if ($num < 8) {
$rndtxt[1];
}
..

とか
広告をランダムに出したいっていう質問かなり多いなw
0458nobodyさん2010/03/29(月) 22:55:14ID:???
>>457
えっ11%で表示したくなったらどうすんの?100個の要素作るの?w
0459nobodyさん2010/03/29(月) 23:02:25ID:???
>>458
スレタイ
0460nobodyさん2010/03/29(月) 23:03:19ID:???
>>457
ありがとうございます。
完成型は下を単純に入れ換えてこうなるのですか?

<?php
$rndtxt[0] = 'テキスト1';
$rndtxt[1] = 'テキスト2';
$rndtxt[2] = 'テキスト3';
$weight = array(0, 0, 0, 0, 0, 0, 1, 1, 2, 2);
$num = $weight[round(rand(0, count($weight) - 1))];
print("$rndtxt[$num]");
?>

<?php
$rndtxt[0] = 'テキスト1';
$rndtxt[1] = 'テキスト2';
$rndtxt[2] = 'テキスト3';
if ($num < 6) {
$rndtxt[0];
}
else if ($num < 8) {
$rndtxt[1];
}
..
?>
0461nobodyさん2010/03/29(月) 23:10:18ID:???
>>460
上のほうはたぶんそんなんでいけると思うけど、
下の方は別のやり方で

$num = rand(1, 10);//分かりやすく1から10の整数
if ($num <= 6) {//1から6の6割の確立
print $rndtxt[0];
}
else if ($num <= 8) {//7から8の2割の確立
print $rndtxt[1];
}
else {//9から10の2割の確立
print $rndtxt[2];
}
0462nobodyさん2010/03/30(火) 00:25:21ID:???
>>461
丁寧にありがとうございます。
0463nobodyさん2010/03/30(火) 01:48:09ID:vJQ1xggI
クラスオブジェクトを生成するとき、条件に合致しない場合はオブジェクトを生成せずnullを返したいと思っています。

たとえば、MyClassというクラスを作製する際初期値numberが正の値のときは

if ( $obj = new MyClass(5) )
{
・・・
}

普通にオブジェクトを生成し、負の値の時は

if ( $obj = new MyClass(-3) )
{
・・・
}

オブジェクトを生成せずnullを返すようなプログラムを組みたいです。

そういうクラスを作製することは可能でしょうか?
もし可能だとしたら(おそらく__construct($number)に)どう記述すれば実現できますか?
0464nobodyさん2010/03/30(火) 02:00:03ID:???
オブジェクト生成では返り値指定できないでしょ
0465nobodyさん2010/03/30(火) 02:21:32ID:vJQ1xggI
返り値は指定できませんか・・・

代わりに「条件を満たさないときはオブジェクトを生成しない(=newに失敗する)」ようにはできないでしょうか?
0466nobodyさん2010/03/30(火) 02:26:05ID:wKtmg6ou
ですのでで来ません
0467nobodyさん2010/03/30(火) 02:51:17ID:???
>>465
正の値しか受け付けないコンストラクタに何かのミスで負の値を渡された時には
コンストラクタ内で例外を投げて止めるが、
正負どちらの値も有り得るのならstaticなメソッドを用意した方が行儀がいい

class Klass { public static function create($c) { return $c ? new self() : null; }}
0468nobodyさん2010/03/30(火) 03:02:58ID:vJQ1xggI
>>467
ありがとうございました。
メソッドのほうでnullを返すようにさせますm(_ _)m
0469nobodyさん2010/03/30(火) 05:50:51ID:g1YqBDS1
<?php
$foo = 'Bob'; // 値'Bob'を$fooに代入する。
$bar = &$foo; // $fooを$barにより参照
$bar = "My name is $bar"; // $barを変更...
echo $bar;
echo $foo; // $fooも変更される。
?>

これで'My name is Bob'が2回出力されるのがわからない。
$fooが書き換えられたら、元の 'Bob' という文字列は "My name is $bar" に上書きされて消えちゃうんだよね?
そしたら$barと$fooをechoで出力するときに 'Bob' という文字列はどこから来てるの?
0470nobodyさん2010/03/30(火) 07:22:34ID:???
非国民端末iPhoneだけを観覧禁止にすることは可能ですか?
0471nobodyさん2010/03/30(火) 07:28:31ID:???
pandaなんちゃらを弾けばいいんじゃね?ワイファイは知らんが
0472nobodyさん2010/03/30(火) 10:36:09ID:???
>>469
右から評価される

$bar = "My name is $bar"; // $barを変更...
ここは

$bar = "My name is Bob";
という動作になる。
0473nobodyさん2010/03/30(火) 17:36:46ID:dG8PavZ2
$arrayには以下が入ってます。
[0] => 1-text [1] => 2-text [2] => 21-text [3] => 27-text [4] => 3-text
rsortで配列を並べ変えてるんですが
[0] => 3-text [1] => 27-text [2] => 21-text [3] => 2-text [4] => 1-text
このようになります。
下記のように数が多い順に並べ替えたいのですがどの関数を使えばいいのでしょうか?
[0] => 27-text [1] => 21-text [2] => 3-text [3] => 2-text [4] => 1-text
0474nobodyさん2010/03/30(火) 17:40:39ID:???
>>473
http://jp.php.net/manual/ja/function.natsort.php
04754732010/03/30(火) 18:00:50ID:dG8PavZ2
>>474
こんな関数あるの知りませんでした。
ありがとうございます。
0476nobodyさん2010/03/30(火) 18:19:22ID:???
新アルゴリズム 納豆ソート
0477nobodyさん2010/03/30(火) 18:41:47ID:jgFCVhFf
アクセスカウンタの作り方を下記ページで勉強してるのですが、
http://www.phpbook.jp/appli/accesscounter/index3.html
<?php
$counter_file = 'counter.txt';
$counter_lenght = 8;
$fp = fopen($counter_file, 'r+');
★if ($fp){
★if (flock($fp, LOCK_EX)){
$counter = fgets($fp, $counter_lenght);
$counter++;
rewind($fp);
if (fwrite($fp, $counter) === FALSE){
print('ファイル書き込みに失敗しました');
}
★flock($fp, LOCK_UN);
}
}
fclose($fp);

★のつけたところがよくわかりません・・・。if文の == TRUEが省略されてるんだと思うんですが、
全体の意味が理解できません・・。1つ目のifがtrueで処理がされて、その次のif (flock($fp, LOCK_EX))
ここはどういうことなのでしょうか?読み書き禁止 == TRUEの場合?
■ このスレッドは過去ログ倉庫に格納されています