[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 12/12 10:55 / Filesize : 264 KB / Number-of Response : 939
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:nobodyさん mailto:sage [2007/12/19(水) 03:33:51 ID:???]
まず読め→【PHP マニュアル】www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
pc11.2ch.net/test/read.cgi/php/1196511516/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで

644 名前:nobodyさん [2008/01/03(木) 01:26:52 ID:PuYJW96T]
$array = array("aaa","bbb","ccc")

をechoした時

"aaa","bbb","ccc"

と表示させたいのですが、forを使う以外の方法はありませんでしょうか?

645 名前:nobodyさん mailto:sage [2008/01/03(木) 01:31:37 ID:???]
>>644
echo '"'. implode('","', $array) .'"';

646 名前:644 mailto:sage [2008/01/03(木) 01:35:00 ID:???]
>>645
出来ました!こんなやり方があったんですね。
勉強になりました。ありがとうございました。

647 名前:nobodyさん mailto:sage [2008/01/03(木) 01:35:13 ID:???]
>>645
俺が投稿しようとしてた内容と1文字も違わなくてワロタ

648 名前:nobodyさん mailto:sage [2008/01/03(木) 02:08:57 ID:???]
何に使うんだろうな

649 名前:nobodyさん mailto:sage [2008/01/03(木) 04:45:11 ID:???]
まず読め→【PHP マニュアル】www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
pc11.2ch.net/test/read.cgi/php/1196511516/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで

650 名前:nobodyさん [2008/01/03(木) 08:23:14 ID:9iX7ULgu]
phpspot.org/blog/archives/2007/01/php_71.html

ここにある?filename=**で**をincludeするのが危険なのはわかったんだけど、こういうのも危なかったりする?
$text = htmlspecialchars($_GET['text']);
$textfile= './txt/'.$text.'.txt';

readfile($textfile);

651 名前:nobodyさん mailto:sage [2008/01/03(木) 09:11:37 ID:???]
>>650
text=../../hogehoge みたいなアクセスも出来てしまう気がする。
ディレクトリ指定が不要なら basenameを使うべき。
jp2.php.net/manual/ja/function.basename.php

あとファイル名に対して htmlspecialchars を使うのに、意味があるのかちょっと疑問。


652 名前:nobodyさん mailto:sage [2008/01/03(木) 09:15:33 ID:???]
>>651
ためしにtext=../../hogehoge

htmlspecialchartは元ソースに$textがなかったときに{$text}がみつかりませんでした。って表示してるからだ。ごめん消し忘れた。



653 名前:650 [2008/01/03(木) 09:21:41 ID:9iX7ULgu]
ああ、途中で書いちまった。
ためしにこのphpファイルと同じディレクトリにaaa.txtを置いて?text=../aaa ってやってもWarning: readfile(./txt/../aaa.txt) [function.readfile]: failed to open stream: No such file or directory in C:\www\aaa.php on line *。になる。


654 名前:650 [2008/01/03(木) 09:25:59 ID:9iX7ULgu]
あ、ごめん、aaaよみyこめた。basenameつかってみるー

655 名前:650 [2008/01/03(木) 09:47:57 ID:9iX7ULgu]
うーん、、困った。
できればディレクトリ指定でファイルを読み込みたいんだけど、どうにかならないものですかね・・・

656 名前:650 [2008/01/03(木) 09:56:17 ID:9iX7ULgu]
eregで$textに.が入ってたら不正扱いにするとかでおkかな?
ごめん俺書き込みすぎだ。

657 名前:nobodyさん mailto:sage [2008/01/03(木) 10:16:03 ID:???]
一般論として、不正な文字列かチェックするのではなく、正当な文字列かチェックするようにしたほうが良い。

658 名前:nobodyさん mailto:sage [2008/01/03(木) 10:27:05 ID:???]
if(eregi("^[a-z0-9_]+$",$text)){
$textfile = './txt/'.$page.'.txt';
}else{
$textfile= './txt/error.txt';
}

こんなかんじになりました。大丈夫かな・・・
>>651>>657ありがとう。

659 名前:626 [2008/01/03(木) 10:33:10 ID:uA4WBKbO]
すみません、>>630の問題ですが、何が原因に考えられるでしょうか?
お手隙の方、意見いただけると嬉しいです お願いします

660 名前:nobodyさん mailto:sage [2008/01/03(木) 10:40:55 ID:???]
>>659
>>628 >>632 が不憫すぎる。

原因は
jp.php.net/manual/ja/function.file-exists.php
jp.php.net/manual/ja/wrappers.http.php


661 名前:nobodyさん [2008/01/03(木) 14:38:25 ID:sD9SHXAa]
セッションにユーザーのログイン情報を書き込み、ページ間のやり取りで使用してるんですが
これだと、セッションを破棄・ブラウザを閉じるかしない限り、
下記のように、他のページへ一旦移動してまた戻ってくることができますよね

ログイン画面→ID・PASS認証・セッション発行→専用ページ→他の見知らぬサイト→専用ページ

見知らぬサイト へ行ったら
専用ページへ直接入れないようにしてしまいたいんですがどういう手があるんでしょうか。
ちなみにセッション管理でやりたいんですが。。

662 名前:nobodyさん mailto:sage [2008/01/03(木) 15:45:13 ID:???]
Cache-Control no-cache



663 名前:nobodyさん mailto:sage [2008/01/03(木) 16:03:13 ID:???]
no-cache してもsession はサーバ・クライアント共に残ってる気がする。

664 名前:nobodyさん mailto:sage [2008/01/03(木) 16:16:18 ID:???]
>>663
「気がする」じゃ、何の説得力もない。
学生ならバカ学生で済むが、社会人でそんな安い了見で仕事しているなら死んだ方がいい。
お前は人間の屑。

665 名前:nobodyさん mailto:sage [2008/01/03(木) 16:20:29 ID:???]
>>664
まあまあ私のオッパイでも揉んで元気だしてよ

666 名前:>>661 mailto:sage [2008/01/03(木) 16:21:10 ID:???]
no-cacheはセッションに関係ないみたいですね。

667 名前:nobodyさん mailto:sage [2008/01/03(木) 16:25:54 ID:???]
読解力がない人は人生楽しそうな気がする。なりたくはないが、うらやましい。

668 名前:nobodyさん mailto:sage [2008/01/03(木) 16:26:17 ID:???]
専用ページを表示した時にsession破棄するんじゃだめなの?

669 名前:nobodyさん [2008/01/03(木) 16:28:33 ID:EPFlyde6]
掲示板の書き込み終了後、リロードによる二重投稿防止を行いたいのですが、
ユーザーがフォームよりデータをサーバに送信後、サーバ側での処理についてご質問させていただきます。

1.ユーザーから送られてきたデータと、ログファイルの最終行のデータを比べる
2.1のデータがお互い違うデータであれば書き込み


このような処理を思いつきました。しかし、これだと2回ログファイルを開くことになるのですが、どなたか
もっとこうしたほうがいいっていうのがありましたらご指摘アドバイスお願いいたします。

670 名前:>>661 mailto:sage [2008/01/03(木) 16:29:57 ID:???]
>>668
一番重要なこと忘れてました;
専用ページは複数あって、その橋渡しにセッションを使っているんです。
セキュリティ面でセッションがいいかと思って。。

671 名前:!omikuji !dama mailto:sage [2008/01/03(木) 16:31:50 ID:???]
>>661
・セッションデータに時間情報を入れて、専用ページではその時間情報ではじく。
 3秒ルールみたいなものだから厳密には要求通りじゃないが、
 セッションハンドラを使えば簡単に実装できる。
・専用ページ内での遷移は全てAjaxで行い、ブラウザの履歴・キャッシュを無意味なものにする
 めんどくさい
・そもそも外のページに行ってもいいじゃないか。
 重要なデータが漏れるのなら、サイト自体の作りに問題がある

672 名前:nobodyさん mailto:sage [2008/01/03(木) 16:35:44 ID:???]
>>669
www.phppro.jp/school/phpschool/vol22/2
ここが参考になると思います



673 名前:nobodyさん mailto:sage [2008/01/03(木) 16:47:34 ID:???]
>>671
うーん
やっぱり難しいんですかね・・・

674 名前:nobodyさん [2008/01/03(木) 16:54:28 ID:+JPyHTOV]
soap関数を使ったアマゾンの検索サービスを作ろうと思っているのですが、
本に付いてきたサンプルを実行させた所、

-------------------------------------------
Fatal error: Uncaught SoapFault exception: [SOAP-ENV:Client]
We encountered an error at our end while processing your request.
Please try again in C:\Program Files\Apache Group\Apache2\htdocs\php\day06-2\
amazon.php:22 Stack trace: #0 [internal function]:
SoapClient->__call('KeywordSearchRe...', Array) #1
C:\Program Files\Apache Group\Apache2\htdocs\php\day06-2\amazon.php(22):
SoapClient->KeywordSearchRequest(Array)
#2 {main} thrown in C:\Program Files\Apache Group\Apache2\htdocs\php\day06-2\amazon.php on line 22
-------------------------------------------

この様なエラーが出てしまい実行できませんでした。
自分でエラーの出てる箇所を追ってはみたのですが、どうしても分からず困っています。
どうかよろしくお願いします。

ソースはこれです
ranobe.com/up/src/up248796.zip

675 名前:nobodyさん mailto:sage [2008/01/03(木) 16:55:06 ID:???]
sessionのキーをcookieに保持しないようにすれば?
リンクのみでキーの受け渡しを行えば多分いけるはず
あとついでだからsession_regenerate_idで
毎回sessionid変えてやればいいんでない?



676 名前:nobodyさん mailto:sage [2008/01/03(木) 17:09:46 ID:???]
>>674
21行目でエラー返ってるのに
22行目で変換しようとしてexception発生してるんじゃないかな
jp.php.net/manual/ja/function.is-soap-fault.php


677 名前:>>661 [2008/01/03(木) 17:16:44 ID:sD9SHXAa]
>>675
ユーザ側が下手しなければセキュリティ的にも一番理想的かもしれない
ちょっと試してみます

678 名前:nobodyさん mailto:sage [2008/01/03(木) 17:16:53 ID:???]
よく分からんがアマゾンからIDとかもらった?

679 名前:nobodyさん mailto:sage [2008/01/03(木) 17:17:02 ID:???]
>>674

ぐぐると色々出てくる、なんなんだろうね。
www.google.co.jp/search?hl=ja&q=amazon+soap+We+encountered+an+error&btnG=%E6%A4%9C%E7%B4%A2&lr=

680 名前:674 [2008/01/03(木) 17:52:55 ID:+JPyHTOV]
>>676>>679
色々とありがとうございます。参考になります。
もうちょい調べて頑張ってみます。

>>678
確か無くても実行できるはずなので、プログラム側の問題かと思います・・

681 名前:626 mailto:sage [2008/01/03(木) 18:21:01 ID:???]
>>660 >>628 >>632
気づかずすみませんでした
いまさらですが、getimagesizeを使わせてもらいました。
が、上手くいきません
とりあえずもうしばらく自分でがんばってみます ありがとうございました

682 名前:nobodyさん mailto:sage [2008/01/03(木) 18:23:33 ID:???]
>>675
それだとさ
セッションIDの含まれたURLを保存しといただけで
直接専用ページに入れるんじゃ?
セキュリティ敵にもよくないんでは



683 名前:nobodyさん mailto:sage [2008/01/03(木) 18:34:04 ID:???]
>>681
自分でやろうとしているところを邪魔して悪いが、うまくいくっぽい。XP/PHP5 実行はコマンドライン。

<?php
checkValidImageUrl('jp.php.net/images/php_snow.gif');
checkValidImageUrl('jp.php.net/images/php_snow2.gif');

function checkValidImageUrl($url) {
if (@getimagesize($url)) {
echo "$url is valid.\n";
} else {
echo "$url is unvalid.\n";
}
}
?>

684 名前:nobodyさん mailto:sage [2008/01/03(木) 18:35:43 ID:???]
unvalid はないな、invalidだ。恥ずかしい。うぇ。

685 名前:nobodyさん mailto:sage [2008/01/03(木) 18:39:27 ID:???]
file_existsもコケてたから、URLのwrapperをoffにしてるんだろうね。

686 名前:nobodyさん mailto:sage [2008/01/03(木) 18:45:42 ID:???]
>>685
file_exists は stat ファミリで、http/httpsはstatをサポートしてないから、onにしても動かないはず。

687 名前:>>661 [2008/01/03(木) 19:02:25 ID:sD9SHXAa]
>>682
そうなんですか
もうなんかどーにもorz

688 名前:nobodyさん mailto:sage [2008/01/03(木) 19:05:42 ID:???]
>>682
過去のセッションを適切に破棄してやればそれは無い
破棄しなくても可能な時間はセッションの有効期限内のみだし

php5.1以降であれば
session_regenerate_id(true);
とすることで自動的に破棄される
あとはリロード時のURLチェック等入れればいける


689 名前:nobodyさん mailto:sage [2008/01/03(木) 19:07:22 ID:???]
つーか専用ページに戻った時にセッション張られてると困ることって何があるの?

690 名前:>>661 [2008/01/03(木) 19:22:21 ID:sD9SHXAa]
えーとすいません。
phpゲームを開発してて、戻るボタンでNPCにまた話しかけたりとか無くしたいんです。
(でもこれってSESSION使えば二重処理とか発生することはないなそういえば・・・。)

とりあえず戻るボタン押したり、他のサイト行ったら
ページが表示されないようにできればこちらは万々歳ですから
>>675使ってみます。

691 名前:nobodyさん mailto:sage [2008/01/03(木) 19:24:01 ID:???]
>>690
phpに詳しい奴ちょっと来い
yutori.2ch.net/test/read.cgi/news4vip/1199354355/l50

692 名前:>>661 [2008/01/03(木) 19:38:02 ID:sD9SHXAa]
>>691
ちょっとみてきます



693 名前:nobodyさん mailto:sage [2008/01/03(木) 19:44:42 ID:???]
>>692
ちょっと見てきますってw
どう見てもお前って分かるから

694 名前:nobodyさん mailto:sage [2008/01/03(木) 21:56:40 ID:???]
変数に出力前の関数を代入することはできないんでしょうか
絶対に出力後が代入されてしまうのですが

695 名前:nobodyさん mailto:sage [2008/01/03(木) 22:01:34 ID:???]
出力前の関数って何

696 名前:nobodyさん mailto:sage [2008/01/03(木) 22:07:30 ID:???]
isset等の値を参照するものです。

697 名前:nobodyさん mailto:sage [2008/01/03(木) 22:08:14 ID:???]
俺用語では分からん

698 名前:nobodyさん mailto:sage [2008/01/03(木) 22:10:13 ID:???]
どういう風に呼び出したいんだよw

699 名前: ◆SHiMA//5DA [2008/01/03(木) 22:11:06 ID:DBOTcnZE]
 

700 名前:nobodyさん mailto:sage [2008/01/03(木) 22:26:00 ID:???]
渡した引数をそのまま返して欲しいということか?

701 名前:nobodyさん mailto:sage [2008/01/03(木) 22:28:23 ID:???]
>>696
どういうことなのかよく分からんが、第6感を働かせて
みたところ、「issetで存在を確認したい変数を関数の
引数に入れて処理させるだけの話じゃないのか」という
結論に達した。

もしくは関数呼ぶ前にifなりなんなりで処理してしまうとか。
……>>694が意味不明でやっぱりよく分からんな。

702 名前:nobodyさん mailto:sage [2008/01/03(木) 23:02:36 ID:???]
MySQL使ってみたんですけどこれってflockとかないんですか?
書き込み多いので変なことにならないか心配すぎる



703 名前:nobodyさん mailto:sage [2008/01/03(木) 23:04:04 ID:???]
ないが大丈夫

704 名前:nobodyさん mailto:sage [2008/01/03(木) 23:06:12 ID:???]
どもっす

705 名前:nobodyさん mailto:sage [2008/01/03(木) 23:22:41 ID:???]
トランザクション処理はやっとけ

706 名前:nobodyさん mailto:sage [2008/01/03(木) 23:48:17 ID:???]
>>702
RDBMSにはファイルのロック以上に緻密なロックの仕組みがあり、それを
知らないと意図通りの更新や読み出しができないことはある。
なのでそれはきちんと勉強した方がいい。
MySQLにどの程度実装されているかは知らないけど、ファイルロックよりは
安全にデータの更新や参照ができるはず。

707 名前:nobodyさん [2008/01/04(金) 00:52:28 ID:Qh7lpWjF]
wordpressでプラグインを自分のページ用に改造しています。
global $wpdb;→$random_idにランダムな記事のIDを指定をし、そのIDに基づいて
query_posts('page_id=urlencode($random_id)');
while (have_posts()) : the_post();
ループ
endwhile
としているのですが、どうもうまくいきません。
query_posts('page_id=urlencode($random_id)');
の部分の書き方がおかしいのかと思いますが、どうすればいいのかわからないのでおしえていただけませんか。

708 名前:nobodyさん [2008/01/04(金) 04:38:17 ID:eljYrwXk]
static変数のアクセスの仕方がよく分からないんですが

error_reporting(E_ALL);
class Hoge
{
    public static $name = 'test';
}
$obj = new Hoge;
echo Hoge::$name; //test
echo $obj->name; //Notice: Undefined property: Hoge::$name
echo $obj::name; //Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM

phpではインスタンスからはstatic変数にアクセスできないってことなんでしょうか?
他にどういう方法がありますか?
(アクセサ使えって話かもしれないけど)

709 名前:nobodyさん mailto:sage [2008/01/04(金) 04:45:07 ID:???]
まず読め→【PHP マニュアル】www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
pc11.2ch.net/test/read.cgi/php/1196511516/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで

710 名前:nobodyさん mailto:sage [2008/01/04(金) 05:30:54 ID:???]
>>708
www.php.net/manual/ja/language.oop5.static.php

711 名前:nobodyさん mailto:sage [2008/01/04(金) 07:51:10 ID:???]
php5
windows
preg_replaceでーを比較しようとしたところ
for character class at offsetというエラーがでました。
SJISだからかなとおもってEUC-JPに変換してみましたがやはり同じエラーがでました。

どうしてなんでしょうか?

712 名前:nobodyさん mailto:sage [2008/01/04(金) 08:39:34 ID:???]
>>1 >>709



713 名前:711 [2008/01/04(金) 10:02:56 ID:z4j42IHm]
お願いします

714 名前:nobodyさん mailto:sage [2008/01/04(金) 10:10:03 ID:???]
EUC-JPで保存してないんじゃないの
変換ができてないとか
SJISだとエラー吐くよ

715 名前:nobodyさん [2008/01/04(金) 10:12:04 ID:eljYrwXk]
>>710
それは勿論読んだ上の質問。
その例で言うと
print $foo::$my_static . "\n";
がパースエラーになるんだけどなんで?

716 名前:nobodyさん mailto:sage [2008/01/04(金) 10:49:17 ID:???]
>Example#1 static メンバの例
>〜中略〜
>print Foo::$my_static . "\n";

読んだ、ねぇ

717 名前:nobodyさん mailto:sage [2008/01/04(金) 11:59:14 ID:???]
>>716
質問者はインスタンス経由でstaticフィールド変数にアクセスする書式がないのか聞いてるんでしょ?


>>715
でも、

www.php.net/manual/ja/language.oop5.static.php
>static なメンバは、インスタンス化されたクラスオブジェクトから アクセスすることはできません (static なメソッドからは可能です) 。

ってはっきり書いてあるから、疑問を持つ余地はないかと。
マニュアルページのサンプルがエラーになるのは、どうかと思うが。


718 名前:nobodyさん mailto:sage [2008/01/04(金) 12:23:57 ID:???]
zendのやってることだからなぁ…
windows のセットアップバイナリは壊れたまんまだし、
.chm のヘルプファイルのキーワード文字化けも一向に直そうとしないし…

719 名前:nobodyさん [2008/01/04(金) 14:12:45 ID:KzTuE4cg]
ファイルの最終更新日取得のスクリプトについてです。
なぜか、下記スクリプトでは動きません。(結果が表示されません。echo date をはずしてもブランクが表示されます)ご教授ください。

<?php echo date("y.m.d H:i:s", filemtime("xxx.com/index.php")); ?>

サーバー:さくら
バージョン:4.4.7

720 名前:nobodyさん mailto:sage [2008/01/04(金) 14:19:29 ID:???]
>>719
外部ファイルは取得できない

721 名前:719 [2008/01/04(金) 14:23:57 ID:KzTuE4cg]
>>720

/homeからのパスに書き直したら取得できました。
ありがとうございました。

722 名前:nobodyさん [2008/01/04(金) 16:07:08 ID:WmrqhPBt]
文字列に全角スペースが含まれている時、半角スペースに変換します。
strtr($word," "," ");

これで変換出来るのですが、複数の全角スペースが含まれている時、
1つの半角スペースにしたいです。その場合、もっとも簡単な方法(関数)
はありますでしょうか?(forを使う方法は自分で試しました。)



723 名前:nobodyさん [2008/01/04(金) 17:02:46 ID:HZMzJv1w]
UTF8でPHPスクリプトを書いてます。
勉強のため、ユーザーがフォームから名前を入力して、ファイルに記録する簡単なスクリプトを書いて練習してます。
そこで名前は18バイトまでの入力を受付け、それ以上の入力はもう一度やりなおしさせるためのチェックをしてみました。
半角1文字=1バイト、全角文字1文字=2バイトとして計算したいのですが、ここで詰まっております。

UTFなため全角文字を3バイトとなってしまいます。

$_POST['name']←これがユーザーが入力した名前が入ってる変数です
ためしに、フォームより、名前「あああ」を入力してみたとして、6バイトとしてサーバで解釈したいのですが、
echo strlen($_POST['name']);←これだと半角1バイトですが、全角3バイトで9と表示されます。
echo mb_strlen($_POST['name'], "UTF8")←これは3と表示されます。

どなたかご教授お願いします。

724 名前:nobodyさん mailto:sage [2008/01/04(金) 17:16:24 ID:???]
>>723
jp.php.net/manual/ja/function.mb-strwidth.php
こいつでどないかな。

725 名前:nobodyさん mailto:sage [2008/01/04(金) 17:47:17 ID:???]
> echo strlen($_POST['name']);←これだと半角1バイトですが、全角3バイトで9と表示されます。
> echo mb_strlen($_POST['name'], "UTF8")←これは3と表示されます。

9バイトで3文字→一文字3バイト、ってわかるのなら
一文字2バイト換算で 3文字 x 2バイト = 6って計算はできるよね

ぢゃあ、strlenで10バイト、mb_strlenで4文字だったら、

「半角」の文字数を x 「全角」の文字数を y と置いて
連立二次方程式の解の公式を使って、
半角の字数と全角の字数を計算して、

x + y * 2 を求めりゃいいんじゃないの
(深く考えずに書いているので、まにうけないでください)

726 名前:nobodyさん mailto:sage [2008/01/04(金) 18:14:15 ID:???]
>>725

>>724の処理のほうがいい

727 名前:nobodyさん mailto:sage [2008/01/04(金) 18:15:59 ID:???]
つーか何でバイト数で切ろうとするのかが謎

728 名前:nobodyさん [2008/01/04(金) 19:00:42 ID:HZMzJv1w]
>>724
ありがとうございます。そのやり方で解決しました。

729 名前:nobodyさん mailto:sage [2008/01/04(金) 20:11:18 ID:???]
>>722
正規表現

730 名前:nobodyさん [2008/01/04(金) 22:13:43 ID:jY1Gv87H]
以前、フォーム入力の修正ページで、
<input type=text name=url value="$_POST['URL']" />
としたんですが、ブラウザのフォームには表示されません
$_POST['URL']にはwww.sample.com/が代入されてるのをソースでは
確認できたんですが、、 なぜでしょうか?またどうしたらいいですか?

731 名前:nobodyさん mailto:sage [2008/01/04(金) 22:14:29 ID:???]
<input type=text name=url value="<?php echo $_POST['URL']; ?>" />

732 名前:nobodyさん [2008/01/04(金) 22:49:56 ID:mPgF8z0i]
オブジェクト指向の概念はなんとなく理解できるのですが、
実際作るとなるとどうやっていいのかさっぱりで…。
色々サンプル(pukiwiki, XOOPS)を見てみたんですが、うーんと唸ってしまいます。

初心者向けのわかりやすい、また短めのサンプルコードなどありましたら教えて頂けませんか?
よろしくお願いします。



733 名前:nobodyさん mailto:sage [2008/01/04(金) 22:59:18 ID:???]
>>732
何となくではなくしっかり理解してから作りなされ

734 名前:nobodyさん mailto:sage [2008/01/05(土) 00:07:08 ID:???]
>>732
zend framework のなにか

735 名前:nobodyさん mailto:sage [2008/01/05(土) 00:43:33 ID:???]
OOP素人なら、Javaやらpythonやらrubyやらのドキュメント読んで実際に触ってみてから戻ってきた方が話が速い。確実に。
「オブジェクト指向をできるようにした言語」と「オブジェクト指向であろうとした言語」には習得効率の差がある

それで学習したら戻ってくればおk
OOPL/デザパタの各種利点・欠点を把握した上で「どうPHP上で生かそうか」という頭になりさえすればいいのだ

736 名前:nobodyさん mailto:sage [2008/01/05(土) 00:59:45 ID:???]
>>735
正論。
OOPを勉強したいならPHPじゃないほうがいいね

737 名前:nobodyさん mailto:sage [2008/01/05(土) 01:06:52 ID:???]
なんで?
PHP5は、けっこうマトモなオブジェクト指向言語だと思うけど。

738 名前:nobodyさん mailto:sage [2008/01/05(土) 01:12:16 ID:???]
理由は735にかいてあるだろ

739 名前:nobodyさん mailto:sage [2008/01/05(土) 01:15:50 ID:???]
これを理由と言うのか。( ´・∀・`)へー

740 名前:nobodyさん mailto:sage [2008/01/05(土) 01:16:12 ID:???]
( ´・∀・`)

741 名前:nobodyさん mailto:sage [2008/01/05(土) 01:17:42 ID:???]
C++のが本格的だと思うんだぜ

742 名前:nobodyさん mailto:sage [2008/01/05(土) 01:18:08 ID:???]
(・ω・)モキュ



743 名前:nobodyさん mailto:sage [2008/01/05(土) 02:12:44 ID:???]
>>741
お調子ぶっこえてんじゃねーぞ、士ね。

744 名前:nobodyさん [2008/01/05(土) 02:14:09 ID:9q7TTvct]
質問させてください。

$file = fopen("ログファイル.txt", "r");

↑のようにログファイルを読み込み、項目の抽出・判定を
行うスクリプトを作っています。
職場のLinux環境では、正常に動くのですが、
家のLinuxでは、ログファイルの読み込みが出来ず、
項目の抽出が出来ず空欄となります。
スクリプト自体にはエラーは出ずに、読み込みだけ出来ていない状態です。
家のlinuxがおかしいと思い、簡単なファイルを読み込む
テストスクリプトで試したところ、テストスクリプトでは、
家のlinuxでも正常に読み込めました。
テストスクリプトも本番用スクリプトをコピーしたもので、
スクリプトの行数が違うくらいで特に差がありません。
(テスト50行、本番700行)
同じ記述なのに、fopen出来たり出来なかったりするような
状況なのですが、解決方法等ありますでしょうか。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<264KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef