【PHP】下らねぇ質問はID出して書き込みやがれ 94
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2010/03/17(水) 23:17:41ID:???過去スレ、関連スレ、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等)・フレームワークは各該当スレへ
0002nobodyさん
2010/03/17(水) 23:18:35ID:???【PHP】下らねぇ質問はID出して書き込みやがれ 92
http://pc11.2ch.net/test/read.cgi/php/1263035502/
【PHP】下らねぇ質問はID出して書き込みやがれ 91
http://pc11.2ch.net/test/read.cgi/php/1260247989/
【PHP】下らねぇ質問はID出して書き込みやがれ 90
http://pc11.2ch.net/test/read.cgi/php/1258187482/
【PHP】下らねぇ質問はID出して書き込みやがれ 89
http://pc11.2ch.net/test/read.cgi/php/1255263534/
【PHP】下らねぇ質問はID出して書き込みやがれ 88
http://pc11.2ch.net/test/read.cgi/php/1253061577/
【PHP】下らねぇ質問はID出して書き込みやがれ 87
http://pc11.2ch.net/test/read.cgi/php/1251447028/
【PHP】下らねぇ質問はID出して書き込みやがれ 86
http://pc11.2ch.net/test/read.cgi/php/1249042741/
【PHP】下らねぇ質問はID出して書き込みやがれ 85
http://pc11.2ch.net/test/read.cgi/php/1245074032/
【PHP】下らねぇ質問はID出して書き込みやがれ 84
http://pc11.2ch.net/test/read.cgi/php/1240835951/
【PHP】下らねぇ質問はID出して書き込みやがれ 83
http://pc11.2ch.net/test/read.cgi/php/1238958898/
【PHP】下らねぇ質問はID出して書き込みやがれ 82
http://pc11.2ch.net/test/read.cgi/php/1236532468/
0003nobodyさん
2010/03/17(水) 23:19:20ID:???■本家マニュアル http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル http://pear.php.net/manual/ja/
■メーリングリスト http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル http://framework.zend.com/manual/ja/
■Smartyマニュアル http://www.smarty.net/manual/ja/
(以下英語)
■Zend本家 http://www.zend.com/
■Zend Framework http://framework.zend.com/
■php | architect http://www.phparch.com/
■Smarty http://www.smarty.net
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0004nobodyさん
2010/03/17(水) 23:20:05ID:???1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→ http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
0005nobodyさん
2010/03/17(水) 23:20:48ID:???→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
0006nobodyさん
2010/03/17(水) 23:21:30ID:???0007nobodyさん
2010/03/17(水) 23:46:36ID:???0008nobodyさん
2010/03/18(木) 00:07:27ID:???↑これは乙
0009nobodyさん
2010/03/18(木) 01:11:53ID:BU8CJWOlglobal $test と $GLOBALS['test'] 以外に方法ってないですか?
0010nobodyさん
2010/03/18(木) 01:21:12ID:???0011nobodyさん
2010/03/18(木) 01:31:11ID:???グローバル変数を返す関数を書けば、間接的にアクセスはできる
function getGlobalVar() {
global $test;
return $test;
}
そのグローバル変数が何らかのクラスのインスタンスなら、クラス変数にする。
文字列、数値なら、$GLOBALSで十分かと。
0012nobodyさん
2010/03/18(木) 09:59:41ID:???hoge.php?moji=test#hoge
のような場合、#を受け取るためにはどうすればいいですか?
$_GET['moji'];の返り値はtestです。
test#hogeを受け取ることは可能でしょうか。
001312
2010/03/18(木) 10:00:22ID:3nNsoQtD0014nobodyさん
2010/03/18(木) 10:41:43ID:???どうしても受け取りたければ「#」を「%23」に変えてみてはいかがか
0015nobodyさん
2010/03/18(木) 10:56:31ID:3nNsoQtDありがとうございます。
ひとまずは%23で対応して今のダメ仕様を修正します。
0016nobodyさん
2010/03/18(木) 13:06:03ID:TIxzPczzワンタイムトークン生成
↓
DBにinsert&入力画面にhiddenで出力
↓
submitで送信&postで受け取ったトークンが正しいか確認
↓
書き込み
って流れであってますか?
CSRFの対策についてはワンタイムトークンがいいとか、だめだとか諸説あるようですが
結局どれがいいのでしょうか?
0017nobodyさん
2010/03/18(木) 14:06:20ID:???絶対にGETは使わない
前画面からセッションの発行
書き込み動作確認画面用のトークンの発行
Cookieにトークンを埋める
送信されたアクションに対して、それらを照合するロジックをつける
他にも書き込み時に、認証コードを手作業で入力させる等の手もあるが、
利用者の手間になるような方法は嫌われるので選びたくないな
Captcha画像でクリックさせるのが関の山か
0018nobodyさん
2010/03/18(木) 14:34:05ID:TIxzPczzありがとうございます。
0019nobodyさん
2010/03/18(木) 15:12:37ID:???最も効率良く楽に作成する方法って何でしょうか?
(というか皆どの様に開発してますか?参考までにお聴かせ下さい)
自分の場合は
・form.html (入力画面)
・form_confirm.php (確認画面)
・form_ok.php (メール送信処理・完了画面)
の3ファイルを作って、confirm.phpの方に
<?=htmlspecialchars($_POST["name"])?>
<input type="hidden" name="name" value="<?=htmlspecialchars($_POST['name']?>">
という風な記述をしているのですが、これがどうも面倒で…。
入力画面と確認画面を1ファイルで済ませる様な書き方だと
どうしてもソースが乱雑になってしまいますよね。
0020nobodyさん
2010/03/18(木) 16:12:53ID:???同じURLに集約して、メインのスクリプト内でフォーム
の状況を判別して、画面ごとのテンプレートをその後
で読み込むようにしていたよ。Cookieとかリファラとか
で、正しくその画面にちゃんとブラウザから辿りついた
のかをチェックする処理も共通化できる。
00219
2010/03/18(木) 18:23:59ID:???0022nobodyさん
2010/03/18(木) 18:56:20ID:Pe46n0U8http://www.php.net/manual/ja/indexes.php
このページでリンクが付いてなくて太字のものって削除された関数でしょうか?
たとえばapd_set_socket_session_trace()とかです
0023nobodyさん
2010/03/18(木) 19:07:50ID:???0024nobodyさん
2010/03/18(木) 20:39:52ID:???その他日本語がダメです。
print"日本語"はできます。
GDをコメントすると
Warning: imagettftext() [function.imagettftext]: any2eucjp():
だそうです。
mb_convert_encoding($str,"UTF-8","EUC-JP")
としてもだめでした。
何か思い当たる事があれば教えてください。
お願いします。
0025nobodyさん
2010/03/18(木) 21:10:56ID:???自分のパソコンにインストールされている物が、必ず相手の環境にあると思ったらそれは間違いだ
開発する側は、自分の常識は他人の非常識で動こうぜ
0026nobodyさん
2010/03/18(木) 21:11:27ID:???0027nobodyさん
2010/03/19(金) 01:49:32ID:???$keyがユーザー名、$valがパスワードでユーザー名の重複チェックをして重複したらエラーを出すようにしたいのです。
どうしたらいいのでしょう・・・。
0028nobodyさん
2010/03/19(金) 02:45:50ID:???$id = 'user';
$pass = 'pass';
foreach ($IDとパスの配列 as $key => $val) {
if ($key == $id && $val == $pass) {
die("重複しています");
}
}
それとIDな。
0029nobodyさん
2010/03/19(金) 02:50:34ID:???そもそも数式に「・」なんて使うのか?
どうしてもってなら、LineToとかドットを書く関数使って
□□□□
□■■□
□■■□
□□□□
みたいな点を書けばいい。めんどくさいけどな。
0030nobodyさん
2010/03/19(金) 07:45:11ID:???ユーザ確認
if (isset($arr[$id])) {
echo "重複";
}
パス合致確認
if (isset($arr[$id]) && $arr[$id] == $pass) {
echo "パス合致";
}
0031nobodyさん
2010/03/19(金) 10:53:20ID:???ありがとうございます。
issetでいけたのですねw
あとdieでエラーさせる時にフォーム画面が消えずにそのまま下に出てしまう・・・。
なぜですかorz
perlはこんなんじゃなかった気がするのに・・・。
0033nobodyさん
2010/03/19(金) 11:12:46ID:???0034nobodyさん
2010/03/19(金) 11:43:21ID:???スクリプトの文字コードはUTF-8、受信されたメールはcharset=ISO-2022-JP、
確認画面上では正常に表示されているのですが対処法はないものでしょうか
PHP5
0035nobodyさん
2010/03/19(金) 11:46:02ID:???mailを使え
0036nobodyさん
2010/03/19(金) 12:10:20ID:???[04-Mar-2010]
The PHP development team is proud to announce the immediate release of PHP 5.3.2. This is a maintenance release in the 5.3 series, which includes a large number of bug fixes.
Security Enhancements and Fixes in PHP 5.3.2:
* Improved LCG entropy. (Rasmus, Samy Kamkar)
* Fixed safe_mode validation inside tempnam() when the directory path does not end with a /). (Martin Jansen)
* Fixed a possible open_basedir/safe_mode bypass in the session extension identified by Grzegorz Stachowiak. (Ilia)
Key Bug Fixes in PHP 5.3.2 include:
* Added support for SHA-256 and SHA-512 to php's crypt.
* Added protection for $_SESSION from interrupt corruption and improved "session.save_path" check.
* Fixed bug #51059 (crypt crashes when invalid salt are given).
* Fixed bug #50940 Custom content-length set incorrectly in Apache sapis.
* Fixed bug #50847 (strip_tags() removes all tags greater then 1023 bytes long).
* Fixed bug #50723 (Bug in garbage collector causes crash).
* Fixed bug #50661 (DOMDocument::loadXML does not allow UTF-16).
* Fixed bug #50632 (filter_input() does not return default value if the variable does not exist).
* Fixed bug #50540 (Crash while running ldap_next_reference test cases).
* Fixed bug #49851 (http wrapper breaks on 1024 char long headers).
* Over 60 other bug fixes.
0037nobodyさん
2010/03/19(金) 12:12:02ID:???0038nobodyさん
2010/03/19(金) 12:15:44ID:???安いから仕方ないがセキュリティに真剣じゃない鯖会社って
0039nobodyさん
2010/03/19(金) 17:35:42ID:SW7s0cVlUTF-8で
<?php echo strftime("%Y年%m月%d日", time());?>
とやると、%dの部分が日付(DAY)に変換されず、%dという文字列のままになってしまいます。
SJISやEUCの時は問題は起こりませんでした。
月と%dの間に、半角スペースや、何か適当な1バイト文字を置くときちんと変換されます。
マルチバイト文字によるおかしな挙動だとは思うのですが、どう修正すればきちんと動きますでしょうか?
ぐぐったところ
mb_language("uni");
mb_internal_encoding("utf-8");
こうするべきという記述を発見したので、試してみましたが症状は変わりませんでした。
また、この2つが正常終了を表すTRUEを返しているのも確認済みです。
ご教示よろしくお願いいたします。
0040nobodyさん
2010/03/19(金) 17:48:12ID:???PHP5.3.2でそのコードを実行したら2010年03月19日と表示したよ?
0041nobodyさん
2010/03/19(金) 17:55:24ID:SW7s0cVlVer5.2.6ですが、早速5.3.2に入れ替えてみます。
【OS名】windowsXP SP3
【PHPのバージョン】php5.2.6
xamppでテストしています
0042nobodyさん
2010/03/19(金) 17:57:40ID:SW7s0cVlWindowsだからですね。
strftimeはPHP上で処理せず、Cライブラリに処理を委譲しているようなので、そのCライブラリの側が原因のようです。
Linux環境にもっていったらうまく変換されました。失礼しました。
0043nobodyさん
2010/03/19(金) 21:22:54ID:bPeaTmWJUSER A が USER Bをフォローしているかを調べたいと思っています。
Service_Twitterでは戻り値がJSON形式で返ってくるようなので
$jd = new Jsphon_Decoder;
$twitter = new Services_Twitter();
$oauth = new HTTP_OAuth_Consumer(
consumer_key,
$consumer_secret,
$consumer->getToken(),
$consumer->getTokenSecret()
);
$twitter -> setOAuth($oauth);
$jd = $twitter ->friendships->exists("ユーザーAのScreenName","ユーザーBのScreenName");
のようなソースを書いていますが $jd に値が返ってきません。
TRUEもしくはFALSEが返ってくると思うのですが。
ブラウザ上では 「Not Found」 と返されていますが渡しているユーザーのScreenNameに間違いはありません。
解決方法があれば教えて下さい。
0044nobodyさん
2010/03/19(金) 23:15:41ID:h08zA6/Iソースを見るとちゃんと表示されているのですが、それがきちんと表示されなく、POSTで渡した値もとれてないようです。
ほかのphpファイルはきちんと実行出来ています。
原因はどんなことが考えられるでしょうか?
0045nobodyさん
2010/03/19(金) 23:17:31ID:???0046nobodyさん
2010/03/20(土) 00:18:00ID:???var_dump($_SERVER);
これを付け加えて
>ちゃんと表示されているのですが、それがきちんと表示されなく
日本語覚えなおして、1読んで出直してきな
0048nobodyさん
2010/03/20(土) 00:35:11ID:???http://php.net/manual/ja/function.json-decode.php
json_decode でやってみれ。
でもできなきゃ、var_dump や print_r 使って戻り値の内容を確認してみろ。
0049nobodyさん
2010/03/20(土) 00:36:06ID:???005044
2010/03/20(土) 00:37:59ID:7GREwXAKifやelseのカッコの対応があってなかったようです。
0051nobodyさん
2010/03/20(土) 04:56:02ID:???0053nobodyさん
2010/03/20(土) 05:44:54ID:W6ikhWclhttp://hoge.jp/uuu
http://hoge.jp//uuu
http://hoge.jp/ooo/././../uuu
これは同じURLと思いますが一意でないんです。
一番上のurlを求めたいです。
0054nobodyさん
2010/03/20(土) 05:55:56ID:???標準機能にはないな
http://nashruddin.com/PHP_Script_for_Converting_Relative_to_Absolute_URL
こんなん見つけたけど、
http://hoge.jp/ooo/././../uuu は解釈出来なかった
もっといいの探すか、ちょっといじって自分で作るしかないかな
0055nobodyさん
2010/03/20(土) 07:29:28ID:???http://codepad.org/Woc567uB
codepadのエラーは無視していいと思う・・
デバッグよろ^^;
0056nobodyさん
2010/03/20(土) 09:50:51ID:???005753
2010/03/20(土) 12:09:51ID:W6ikhWclよさげ
005853
2010/03/20(土) 12:10:35ID:W6ikhWcl006053
2010/03/20(土) 12:31:51ID:W6ikhWclローカルファイルを一意にしたいのですが。
C:\pppが c:///ppp などとなります。/が増えます。
0061nobodyさん
2010/03/20(土) 12:34:55ID:W6ikhWclやれば良いんでは。
カレントディレクトリを知るには、引数からでは無理なので
http付きとしていいのでは
0062nobodyさん
2010/03/20(土) 12:39:19ID:???http://jp.php.net/manual/ja/function.realpath.php
function get_absolute_path($path) {
$parts = array_filter(explode("/", $path), 'strlen');
$absolutes = array();
foreach ($parts as $part) {
if ('.' == $part) continue;
if ('..' == $part) {
array_pop($absolutes);
} else {
$absolutes[] = $part;
}
}
return implode("/", $absolutes);
}
0063nobodyさん
2010/03/20(土) 12:58:01ID:W6ikhWcl0064nobodyさん
2010/03/20(土) 15:06:42ID:???http://ideone.com/00vgxXl8
こっちならエラーでない
0066nobodyさん
2010/03/20(土) 20:44:34ID:???よくプログラムで見る$to->OAuthRequest(〜などの
->とはどのような意味があるのでしょうか
0067nobodyさん
2010/03/20(土) 20:48:03ID:cSBO/oUOタグが見つからなかったときにタグを作成するという方法はどうするのでしょうか?
タグが見つからないとgetElementsByTagName()メソッドはFatal errorを吐いてしまいます。
エラー制御演算子は負荷が高いということなので、なるべく使いたくないのですが・・・
---test.xml---
<root>
<value1>hogehoge</value1>
</root>
---test.php---
$xml = new DOMDocument('1.0', 'EUC-JP');
$xml->load('test.xml');
$root_list = $xml->getElementsByTagName('root');
$root_node = $root_list->item(0);
$value2 = $root_node->getElementsByTagName('value2'); //value2要素は存在しないのでFatal error
(理想としては、
$value2 = $root_node->getElementsByTagName('value2');
if(!$value2){
$vlaue2 = $xml->createElement('value2');
$root_node->appendChild($value2);
}
というようにしてみたい。)
0068nobodyさん
2010/03/20(土) 21:15:57ID:SPy4ZUkxprintでダブルクォート表示するのってどうやるんだっけ?
0069nobodyさん
2010/03/20(土) 21:20:00ID:???クラスのメソッドへのアクセス
class Test
{
public function method() {
print 1;
}
}
t = new Test();
t->method();
>>68
print '"';
か
print "\"";
0071nobodyさん
2010/03/20(土) 21:23:09ID:???0072nobodyさん
2010/03/20(土) 21:23:10ID:???試してないけど
try {
$value2 = $root_node->getElementsByTagName('value2');
}
catch (Exception $e) {
$value2 = FALSE;
}
if ($value2) {
//続き
}
もしくはtryの中で続きを書いちゃってもいいし
0073nobodyさん
2010/03/20(土) 21:28:29ID:???そうだね、すまん
>>66
正確には
class Test
{
static function classFunc(){}
public function objectFunc() {}
}
$t = new Test();//インスタンス(オブジェクト)生成
$t->objectFunc();//オブジェクトのメソッド
Test::classFunc();//こっちがクラスのメソッド
かな
0074nobodyさん
2010/03/20(土) 21:37:38ID:???クラスをインスタンス化したのがオブジェクト
0075nobodyさん
2010/03/20(土) 21:38:19ID:cSBO/oUOすみません
完全な自分の勘違いでした。
Fatal errorが発生するのは、getElementsByTagName()メソッドを使った時ではなく、
返り値のDOMNodeListから取り出したDOMNodeを使った時にFatal errorが発生するということでした。
$root_list = $xml->getElementsByTagName('root');
$root_node = $root_list->item(0);
$value2_list = $root_node->getElementsByTagName('value2');
$value2_node = $value2_list->item(0);
$node = $value2_node->getElementsByTagName('string'); //$value2_nodeは存在しないオブジェクトなのでFatal error
お騒がせして誠に申し訳ございませんでした。
0076nobodyさん
2010/03/20(土) 22:28:44ID:???0077nobodyさん
2010/03/20(土) 22:32:30ID:???0078nobodyさん
2010/03/20(土) 22:38:33ID:???0079nobodyさん
2010/03/20(土) 22:48:18ID:???と思った瞬間に止まる
0080nobodyさん
2010/03/20(土) 23:32:12ID:???// ヒアドキュメント
echo <<<EOF
"
EOF;
// NowDoc (PHP5.3以降)
echo <<<'EOF'
"
EOF;
0081nobodyさん
2010/03/20(土) 23:34:33ID:???0082nobodyさん
2010/03/20(土) 23:41:52ID:???0083nobodyさん
2010/03/20(土) 23:53:48ID:???0084nobodyさん
2010/03/20(土) 23:56:07ID:???0085nobodyさん
2010/03/21(日) 01:43:30ID:5ebOvBjC値を返さないechoのほうが速いはずなんですが。
それはそうと質問があります。
【OS名】xp
【PHPのバージョン】最新
【質問内容】リファラを取得できません。
テストしたブラウザのバージョンも最新。
$ref = $_SERVER['HTTP_REFERER'];
echo $ref;
FireFoxやChromeだと正しく表示されますが、IEだとNULLでした。なぜ?
0086nobodyさん
2010/03/21(日) 01:56:46ID:???0087nobodyさん
2010/03/21(日) 02:25:16ID:5ebOvBjC特にリファラ偽装などは設定していないのですが。
0088nobodyさん
2010/03/21(日) 02:53:05ID:???IE8で再現出来ないから、
http://www.vector.co.jp/soft/winnt/net/se308001.html
こういう感じのソフトで生のHTTPヘッダーを確認してみてくれい
0089nobodyさん
2010/03/21(日) 02:55:41ID:???0090nobodyさん
2010/03/21(日) 03:15:54ID:CFDZ8J9i<?php
include("../scripts/conf.inc.php");
$conndatabase = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or trigger_error(mysql_error(),E_USER_ERROR);
$db = "$mysql_database";
$user = user("username");
$id = addslashes($_POST["id"]);
$title = addslashes($_POST["title"]);
$text = addslashes($_POST["text"]);
$url = addslashes($_POST["url"]);
$id_from=maketransid();
$sql = "SELECT * FROM whitead WHERE id = '$id'";
$rs = mysql_db_query($db,$sql);
while($row=mysql_fetch_array($rs)){
$point = $row[4] * 100;
$sql = "insert into email_ads(emailid,id,description,site_url,ad_text,run_quantity,run_type,value,vtype,timer,login,hrlock,cheat_link,creation_date)
values('".$id_from."','".$user."','".$title."','".$url."','".$text."','".$row[2]."','".clicks."','".$point."','".points."','".$row[3]."','".0."','".0."','".0."','".date('Y-m-d-H-i-s')."')";
}
$res = mysql_query($sql) or die(mysql_error());
?>
0091nobodyさん
2010/03/21(日) 03:18:21ID:???0092nobodyさん
2010/03/21(日) 03:40:11ID:CFDZ8J9iありがとう!うまくできた。
↓動作はしても半端なくおもいの・・・・or2
<script language="php"> include("setup.php");</script>
<center>
<?php
include("../scripts/conf.inc.php");
$conndatabase = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or trigger_error(mysql_error(),E_USER_ERROR);
$db = "$mysql_database";
$id = addslashes($_POST["id"]);
$title = addslashes($_POST["title"]);
$text = addslashes($_POST["text"]);
$text = nl2br($text);
$url = addslashes($_POST["url"]);
$sql = "SELECT * FROM whitead WHERE id = '$id'";
$res = mysql_query($sql) or die(mysql_error());
$tr = "<tr>";
$trs = "</tr>";
while($row=mysql_fetch_array($res)){
$point = $row[4] / 1000;
0093nobodyさん
2010/03/21(日) 03:40:56ID:CFDZ8J9iprint("<input type=\"hidden\" name=\"id\" value=\"$id\">");
print("<input type=\"hidden\" name=\"title\" value=\"$title\">");
print("<input type=\"hidden\" name=\"text\" value=\"$text\">");
print("<input type=\"hidden\" name=\"url\" value=\"$url\">");
?>
<input type="hidden" name="user" value="<script language="php"> user("username");</script>">
<?php
print("<TABLE border=1>");
print("<TBODY>");
print $tr;
print("<TD>test:</TD>");
print("<td>".$row[1]."</td>");
print $trs;
print $tr;
print("<TD>test:</TD>");
print("<td>".$row[2]."</td>");
0094nobodyさん
2010/03/21(日) 03:41:53ID:CFDZ8J9iprint $tr;
print("<TD>test:</TD>");
print("<td>".$row[3]."</td>");
print $trs;
print $tr;
print("<TD>test:</TD>");
print("<td>".$point."</td>");
print $trs;
print $tr;
print("<TD>test:</TD>");
print("<td>".$row[5]."</td>");
print $trs;
print $tr;
print("<TD>test:</TD>");
print("<td>".$row[6]."</td>");
print $trs;
print $tr;
print("<TD>test:</TD>");
print("<td>$title</td>");
print $trs;
0095nobodyさん
2010/03/21(日) 03:46:11ID:CFDZ8J9iprint("<TD>test:</TD>");
print("<td>$text</td>");
print $trs;
print $tr;
print("<TD>test:</TD>");
print("<td>$url</td>");
print $trs;
print $tr;
print("<th colSpan=2><input type=\"submit\" value=\"送信\" class=\"send\"></th>");
print $trs;
print("</TBODY>");
print("</TABLE>");
}
mysql_close();
?>
</center>
0096nobodyさん
2010/03/21(日) 10:58:13ID:TTlWvHhB0097nobodyさん
2010/03/21(日) 11:24:28ID:???0098nobodyさん
2010/03/21(日) 11:43:30ID:???関数ってのは用務員
クラス内の関数(メソッド)は給食係とか保健係
0099nobodyさん
2010/03/21(日) 11:57:19ID:???クラスっていうのは板の名前(Webプログラミング)
関数っていうのはスレの名前(【PHP】下らねぇ質問はID出して書き込みやがれ 94)
0100nobodyさん
2010/03/21(日) 11:59:05ID:???0101nobodyさん
2010/03/21(日) 12:00:18ID:???echo $obj->【PHP】下らねぇ質問はID出して書き込みやがれ 94;
0102nobodyさん
2010/03/21(日) 12:28:59ID:Pf4rphJX例えば完成したシステムAがあるとして、
そこから一部分だけ追加・変更したいとします。
しかし、Aはそれだけで完成しているから、
余計な機能を付けてバグが出た時に困る。
かといってAをコピーしてA"にして変更していくのも非効率な気がして・・・
0103nobodyさん
2010/03/21(日) 12:30:41ID:???・コメントしとく
・継承する
0104nobodyさん
2010/03/21(日) 12:33:39ID:sYkTdyYJ公開用としてweb上にでも置いておけば安心。
0105nobodyさん
2010/03/21(日) 12:35:36ID:sYkTdyYJ複数ファイルを更新した場合どれとどれの組み合わせだと動作するのか
わからなくなる。zip固めが安心。失敗したらzip復元すればいい。
0106nobodyさん
2010/03/21(日) 12:37:46ID:???0107nobodyさん
2010/03/21(日) 15:11:03ID:???svnなら、タグ付けたり、ブランチ切っておけばいいんじゃないの
安定してることが確認出来たら、トランクにマージ。
リリースはタグやブランチでエクスポートすればいいし。
ほかのSCMはシラネ。
0108102
2010/03/21(日) 16:44:08ID:Pf4rphJXSVNは使っていますが、「このclassファイルだけ修正したい」
と言う時にちょっと不便なんですよね。。
そのファイルを使いながらバグが見つかったりする時もあるし、
実際は1ファイルで済まない時が多くて、どう管理するか迷います。
まだあまり使いこなせていないだけなのかも知れませんが。
とりあえず、zip固めにして何か修正・追加加えたい時は
コピーしてファイルを修正するようにします。
0109nobodyさん
2010/03/21(日) 16:55:09ID:6nW4u3iTif(isset($_COOKIE['checkCookie'])){return 1;}
else{
$expire = time() + 86400*14;
if(setcookie("checkCookie",time(),$expire)){return 1;}
else{return 0;}
}
}
このような関数でクッキーが有効かチェックしているのですが、機能してないようです。
もちろんブラウザの設定でクッキーを無効にしてテストしてます。
問題点はどこでしょうか?
0111nobodyさん
2010/03/21(日) 17:11:19ID:G7Ek1+ISwindowsです
0112nobodyさん
2010/03/21(日) 17:23:37ID:???そんなうまいこと設計できないけど
0113nobodyさん
2010/03/21(日) 17:24:12ID:???そのくらい、自分で調べろw。
http://kuronuko.com/web/subversion.html
0114nobodyさん
2010/03/21(日) 17:30:55ID:67bsJ4U+ありがとうございます。
var_dumpでやってみた結果、bool(false)という結果が返ってきてました。
ずっと、print_rで見ていたのでなにも表示されずでした。
しかし、どのIDを使っても false が返ってきます。
フォローしている場合は true が返ってくるはずなのですが。
var_dump(($twitter->friendships->exists("ユーザーAのScreenName","ユーザーBのScreenName")));
こんな感じでソースは書いております。
なにが原因でしょうか?
ご教授下さい。
0115nobodyさん
2010/03/21(日) 17:31:31ID:G7Ek1+ISありがとうございます
トータスSVNっていうのを入れるとフォルダに変なマークが付いたのでやめて、svn.exeだけをインストールしました
あと、個人でPHPスクリプトを書く場合でもSNVの導入は便利でしょうか?
あと、PHPだけじゃなくてHTMLとかにも使えますでしょうか?
上記のURLは便利で大変重宝しており感謝して折ります
宜しくお願いいたします
0116nobodyさん
2010/03/21(日) 18:12:50ID:6nW4u3iTsetcookieの引数が正しければtrueが返って来るのでしょうか?
0117nobodyさん
2010/03/21(日) 18:16:53ID:???ブラウザでクッキーを有効にしていたらtrueが返ってくるとかどこかで書いてあったの?
ちゃんとマニュアルくらい読んだほうがいいよ
0118nobodyさん
2010/03/21(日) 18:28:42ID:6nW4u3iTfunction checkCookie(){
$expire = time() + 86400*14;
if(!setcookie("checkCookie",time(),$expire)){return 0;}
else{
if(!isset($_COOKIE['checkCookie'])){return 0;}
else{return 1;}
}
}
こうすればよいですね!ありがとうございます。
0120nobodyさん
2010/03/21(日) 19:32:29ID:???0121nobodyさん
2010/03/21(日) 20:43:30ID:???0122nobodyさん
2010/03/21(日) 21:47:22ID:???0123nobodyさん
2010/03/21(日) 22:10:24ID:???>個人でPHPスクリプトを書く場合でもSNVの導入は便利でしょうか?
便利です。
エンバグ恐れずに手を入れられます。
何か新しい機能を入れる場合でも、ブランチで存分に試せます。
使ってるのが自分ひとりでも、こういうのを覚えてしまうとかなり気楽になる。
>PHPだけじゃなくてHTMLとかにも使えますでしょうか?
テキストファイルなら何にでも使えます。
(オフィスのファイル等のバイナリファイルにも使えるけど)
0124nobodyさん
2010/03/21(日) 22:27:11ID:sYkTdyYJ挑戦するときにzipにしておく、完成したらzipにしておく。
管理ツールは重いし、常駐するし良くない。
0125nobodyさん
2010/03/21(日) 22:28:35ID:sYkTdyYJ0126nobodyさん
2010/03/21(日) 22:53:54ID:???VisualStudioとかw
0127nobodyさん
2010/03/22(月) 00:04:02ID:rMqH0aHxファイルアップロード中に同じサーバー上で apc_fetch() を呼べば、
引数さえあってれば進捗状況が見れるという解釈で合っていますか?
下ソースのtest.phpをブラウザから二つのウィンドウ(A、B)で開き、
Aでアップロード中に、Bで表示しようとしたんですが、apc_fetch()による結果が空です。
ですが、Aでのアップロードが終わった時に、Aに>>128のような結果が表示されました。
【環境】
APC Version 3.0.19
PHP Version 5.2.12
Server Software : Apache/1.3.42 (Unix) mod_ssl/2.8.31 OpenSSL/0.9.8e
-----------------------------
test.phpソース
-----------------------------
<?php
print_r(apc_fetch('upload_abc'));
?>
<form action="test.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="APC_UPLOAD_PROGRESS" value="abc" />
<input type="file" name="upload_file" />
<input type="submit" />
</form>
0128nobodyさん
2010/03/22(月) 00:05:31ID:rMqH0aHx表示結果
-----------------------------
Array
(
[total] => 16982
[current] => 16982
[rate] => 616952.19311244
[filename] => 91b9b7998269669e83a94bc5cd95de8b_400.jpg
[name] => upload_file
[temp_filename] => /var/tmp/phpZtvdO8
[cancel_upload] => 0
[done] => 1
[start_time] => 1269183432.2302
)
0129nobodyさん
2010/03/22(月) 00:33:03ID:POFKX9jJネット上にあまりないのですが
0130nobodyさん
2010/03/22(月) 01:33:18ID:???PHP特化では、見つからないかもしれんね。
比較的syntaxが似てるC#やJava+デザインパターンで検索するといいかも。
ちなみに自分は、今は亡きCマガの連載で勉強した。
あと、デザインパターン勉強するなら、クラス図やシーケンス図が読めないとつらいかも。
ほかには、多態や継承がバンバンでるから気をつけてね。
0131nobodyさん
2010/03/22(月) 03:15:45ID:a2delEMyreport-slow-request 100% 3725 3.6KB/s 00:00
find-junk 100% 5385 5.3KB/s 00:00
convert-db 100% 7548 7.4KB/s 00:00
upgrade 100% 3379 3.3KB/s 00:00
0132nobodyさん
2010/03/22(月) 04:38:32ID:Rk6TrDyIhttp://www.imagecheese.com/gallery/ee.jpg
上記のような配列で、array[0]['Keyword']['name'] の部分だけをユーザーごとに取り出したいです。
例えば、
address が"test@test.com" は "授業"、"テーマスタティ"
address が"test2@test2.com" は "エクササイズ","オープン"
といったような形でループ処理をしたいのですが、よい方法はないでしょうか?
0133nobodyさん
2010/03/22(月) 04:46:45ID:???foreach ($array as $row) {
foreach ($row['keyword'] as $keyword) {
$result[$row['address']][] = $keyword['name'];
}
}
0134nobodyさん
2010/03/22(月) 04:51:22ID:Rk6TrDyIありがとうございます!
ありがたく参考にさせて頂きたいと思います。
0135nobodyさん
2010/03/22(月) 05:04:04ID:Rk6TrDyI0136nobodyさん
2010/03/22(月) 05:27:50ID:???最近のyoutubeのAPIに対応したソースがあるサイトってありませんか?
どれも動かないんです
0137nobodyさん
2010/03/22(月) 05:33:45ID:???0138nobodyさん
2010/03/22(月) 06:07:13ID:???0139nobodyさん
2010/03/22(月) 07:23:28ID:QPPKsgL4ボタンを押すごとにその数値が増えていくというものはPHPで作れますか?
0140nobodyさん
2010/03/22(月) 08:20:58ID:Rk6TrDyI1 プロバイダのメールサーバを使う?? (さくらとOCNとgmailのアカウントあり)
2 メールサーバをローカルで立てる?
とりあえず
ini_set( "SMTP", "adminname.sakura.ne.jp" );
とさくらメールのSMTPをいれて試したけどダメでした。。
0141139
2010/03/22(月) 10:40:17ID:???0143nobodyさん
2010/03/22(月) 13:16:58ID:???ごめん、142は読み間違えた・・。
ini_setじゃなくて、php.iniに直接書けば?
あと、さくらの場合、smtp_portを587にしないと駄目だよ。
0145nobodyさん
2010/03/22(月) 13:25:55ID:???0146nobodyさん
2010/03/22(月) 13:26:43ID:???0147nobodyさん
2010/03/22(月) 13:41:15ID:???fetchメソッドのoffsetが効かなくて困ってます。
$sth->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, 10);
こんな感じでやると検索結果の10行目から取得し始めると思ってたんですけど
間違ってますか?
0148nobodyさん
2010/03/22(月) 20:51:06ID:r5y42//hRewriteEngine On
RewriteRule ^search\/([A-Z0-9]{10})$ http://example.com/dev/search.php?q=$1
これをdevに置いて、http://example.com/dev/search/ABCDEFGH10
にアクセスしても、ABCDEFGH10をgetできてないようです。
PHP側の処理に問題があったりするのでしょうか?
0149nobodyさん
2010/03/22(月) 20:54:45ID:???0151nobodyさん
2010/03/22(月) 21:09:38ID:r5y42//h練習かどうかは分からないが、便利
http://www.rubular.com/
>>150
ありがとうございます。
ですが、やってみると500エラーになってしまうようです。
レンタルサーバーの共用プランではログは取れないのでしょうか?
0152nobodyさん
2010/03/22(月) 21:11:06ID:???今度からスレタイをちゃんと読めよ。
ttp://www.rider-n.sakura.ne.jp/regexp/regexp.php
0155nobodyさん
2010/03/23(火) 00:51:02ID:unctT7f6UTF-8の環境でmb_strcut("あいうえお",0,7)とした時、"あい"と表示された後次の文字が文字化けしてしまいます。
原因は"う"の1バイト目までしか出力されないからのようですが、このように余った時"あい"までの出力で止めるようにすることはできるのでしょうか?
試した環境、win32 PHP 5.3.0
0156nobodyさん
2010/03/23(火) 00:57:32ID:???>encoding パラメータには文字エンコーディングを指定します。省略した場合は、内部文字エンコーディングを使用します。
とマニュアルに書いてあったので文字コードの指定を省略したのが原因でした。
0157nobodyさん
2010/03/23(火) 09:43:05ID:???0158nobodyさん
2010/03/23(火) 15:23:09ID:ssmJpUwMこの度、WinからcentOS5.4へ移行し、PHPを実行しようと思ったのですがどうにもうまくいきません
まず、Apacheを入れようとしたら、make installの所でエラーが出、しかもエラー内容が分からなかった為
centOSに標準で入っているApache(2.2.3)、Mysql、PHP(5.1.6)をインストールしました
例えばyum install phpとか、yum install http-serverとかを実行しました
で、centOSでApacheの公開フォルダ(Winではhtdocs)が/var/www/html/だと知ったので、そのフォルダ内にphpのファイルを置きました
phpinfo.phpとか、index.htmlのようなファイルをhttp://localhost/phpinfo.phpと実行するとちゃんとブラウザに内容が表示されます
しかしながら、/var/www/html/フォルダ内にtestやphpMyAdminのようなフォルダを入れると、
The requested URL /test was not found on this server
のようにエラーが出てしまいます
これはどうしてなのでしょうか?
どのようにすれば意図したようにきちんと表示されるのでしょうか?
php.ini、http.confはデフォルトのままですが、phpinfoで確認した所、php.iniの場所はちゃんとなっておりました
また、/etc/httpd/conf/httpd.confを調べてみた所、
ServerRoot "/etc/httpd"
DocumentRoot "/var/www/html"
<Directory "/var/www/html">
のように特におかしいような気もしませんでした
0159nobodyさん
2010/03/23(火) 15:42:58ID:???0160nobodyさん
2010/03/23(火) 15:46:17ID:???0161nobodyさん
2010/03/23(火) 16:01:08ID:???0162nobodyさん
2010/03/23(火) 16:12:28ID:ssmJpUwM一応Readと実行権限はあると思います
Apacheのエラーログは今見てみます
0163nobodyさん
2010/03/23(火) 16:24:05ID:ssmJpUwM[Tue Mar 23 14:46:48 2010] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Mar 23 14:46:48 2010] [notice] Digest: generating secret for digest authentication ...
[Tue Mar 23 14:46:48 2010] [notice] Digest: done
[Tue Mar 23 14:46:48 2010] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations
[Tue Mar 23 14:48:48 2010] [notice] caught SIGTERM, shutting down
[Tue Mar 23 14:51:22 2010] [notice] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
[Tue Mar 23 14:51:22 2010] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Mar 23 14:51:23 2010] [notice] Digest: generating secret for digest authentication ...
[Tue Mar 23 14:51:23 2010] [notice] Digest: done
[Tue Mar 23 14:51:24 2010] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations
[Tue Mar 23 15:14:13 2010] [error] [client 127.0.0.1] File does not exist: /var/www/html/test
[Tue Mar 23 15:14:13 2010] [error] [client 127.0.0.1] File does not exist: /var/www/html/favicon.ico
[Tue Mar 23 15:48:31 2010] [notice] caught SIGTERM, shutting down
[Tue Mar 23 15:51:07 2010] [notice] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
[Tue Mar 23 15:51:07 2010] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Mar 23 15:51:08 2010] [notice] Digest: generating secret for digest authentication ...
[Tue Mar 23 15:51:08 2010] [notice] Digest: done
[Tue Mar 23 15:51:09 2010] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations
のようになっております
0164nobodyさん
2010/03/23(火) 16:41:20ID:???0165163
2010/03/23(火) 16:49:36ID:???どういう事でしょうか?
例えばtestフォルダを表示したい時にhttp://localhost/testではなく、http://localhost/test/でアクセスということでしょうか?
それともtest内にtest.phpとか入れてって事でしょうか?
どちらもやはりエラーになってしまいました
もしやと思い、testフォルダの名前をtest/と変えてみましたが、/は含められないとLinux側でエラーが出ました
0166nobodyさん
2010/03/23(火) 16:58:21ID:???いまちょっとググってみたんだけど
もしかして/etc/httpd/conf.d/welcome.confとか読み込まれてない?
0167nobodyさん
2010/03/23(火) 16:58:26ID:???スレ違いだし、なにをしたいんだ一体
表示させたいページ用意してないだけと違うかと
0168nobodyさん
2010/03/23(火) 17:25:09ID:ssmJpUwMwelcome.confは、ErrorDocument 403 /error/noindex.htmlと、noindex.htmlを表示するのだと思うのですが、それとは違うようです
良く分からないのですが
>>167
すみません
例えばtest.phpという
<?php echo"test";
ファイルを/var/www/html下に置くとブラウザ上にtestと表示されます
しかし、これがディレクトリ構造を持つようになると、途端にエラーが出てしまいます
例えば、/var/www/html/test/test.phpとかになると、上記のように存在しないとエラーになります
>testフォルダを表示したい
Winの頃は、htdocs下にtest/test.phpを置き、localhost/testとすると、そのディレクトリ構造が表示されましたが、という事を言いたかったのです
今まではApacheのhtdocs下にphpMyAdminを入れて使っていたのですが、Linuxで同じように公開されているフォルダ内に入れたらそのフォルダと中身が認識されないので困ってしまって
0169167
2010/03/23(火) 17:28:29ID:???あとtestディレクトリでアクセスしてtest/と補完されないならmod_dirモジュールがApacheに組み込まれてないとかか
0170168
2010/03/23(火) 17:53:08ID:???何が理由かわかりませんが、急にtestフォルダを読み込むようになりました
今までと同じ状態だったのですが・・・
ただ、phpMyAdminは何故かパーミッションでアクセス拒否が入っておりますが
お手数お掛け致しました
0171nobodyさん
2010/03/23(火) 18:20:57ID:Gn31sNCxphp初心者です。
一つのバリューサーバーで全ドメイン管理しています。
ドメイン取得もバリューでしました。
AのドメインのファイルにB、C、Dというドメインから直接書き込みを行いたいのですが
上手く行きません。
Aドメイン内のファイルをB、C、Dから読み込みは出来ます。(ちなみに)
パーミッションの設定はいじってみましたが、解決しません。
その問題ではないようです。
どなたかご教授いただけませんでしょうか。
よろしくお願いいたします。
0172nobodyさん
2010/03/23(火) 18:22:36ID:???0173nobodyさん
2010/03/23(火) 18:25:49ID:/hsQzdjS0174nobodyさん
2010/03/23(火) 18:38:27ID:a2W0beeP或いは「死刑には凶悪事件の抑止力がある」と思ってませんか
或いは「掲示板で不愉快になったらその原因は発言者にある」と思ってませんか
これらの考えの根っこは、実は同じです(※善悪の話ではありません)
これまで当たり前だと思って、深く考えなかったこと・・・
周りに言われるままに、何の疑問も抱かなかったこと・・・
それらが本当に正しいのか、ちょっと立ち止まって考えてみませんか
いじめに関するよくある勘違い
http://mamono.2ch.net/test/read.cgi/youth/1268212962/
死刑制度に関するよくある勘違い
http://society6.2ch.net/test/read.cgi/court/1268212298/
外界は内界を映し出す鏡だって言ってたようちの嫁も
http://academy6.2ch.net/test/read.cgi/philo/1264845494/
0176nobodyさん
2010/03/23(火) 18:49:27ID:???0177nobodyさん
2010/03/23(火) 19:34:09ID:Gn31sNCx環境はどのあたりを書けばよいでしょうか?
このあたりでしょうか?
バリューサーバーの環境
PHP Version 5.2.5
Directive Local Value Master Value
==============================
allow_call_time_pass_reference On On
allow_url_fopen On On
allow_url_include Off Off
always_populate_raw_post_data Off Off
arg_separator.input & &
arg_separator.output & &
asp_tags Off Off
他にどの部分を書けばいいのかよければ教えて下さい。
初心者ですみません。
0178nobodyさん
2010/03/23(火) 19:45:35ID:???自前のサイトからCIAのサイトを書き換えようみたいなこと考えてるなら>>172
0179nobodyさん
2010/03/23(火) 19:49:12ID:???0180nobodyさん
2010/03/23(火) 21:26:41ID:???0181nobodyさん
2010/03/23(火) 22:10:26ID:???ファイルI/Oは減少しそうだけど、便利ですか?
0183nobodyさん
2010/03/23(火) 23:00:49ID:RFIu07UKグーグルで調べて、何回が試してみました。
<?php
$rndtxt[0] = 'テキスト1';
$rndtxt[1] = 'テキスト2';
$rndtxt[2] = 'テキスト3';
$rndtxt[3] = 'テキスト4';
$rndtxt[4] = 'テキスト5';
$length = count($rndtxt) - 1;
srand( (double)microtime()*1000000 );
$num=round( rand(0,$length) );
print("$rndtxt[$num]");
?>
でphpファイルを作成してアップ
<!-- PHPランダム広告 ここから -->
<? include("/rndtxt.php"); ?>
<!-- PHPランダム広告 ここまで -->
をファイルに入力して読み込みを行うようにする。
こんな感じでやってみたのですが、アップロードすると表示部分が下のようになってしまいます。なにが悪いのか教えてください。
Warning: main(/pph/ttt.php) [function.main]: failed to open stream: No such file or directory in (ファイル位置の表示) on line 25
Warning: main() [function.include]: Failed opening '/pph/ttt.php' for inclusion (include_path='.:/usr/local/php4/share/pear') in (ファイル位置の表示)on line 25
0184nobodyさん
2010/03/23(火) 23:20:40ID:???0185nobodyさん
2010/03/23(火) 23:22:15ID:/hsQzdjS0186nobodyさん
2010/03/24(水) 00:55:17ID:???がエラー。
ファイルがその場所にないんだろ。
同じディレクトリなら
include 'rndtxt.php';
で十分
0187nobodyさん
2010/03/24(水) 00:58:45ID:dTWj0PObどうすればいいのでしょうか?
0188nobodyさん
2010/03/24(水) 01:46:02ID:X47Xx9mp(スレ違いの場合はお手数ですが誘導の方お願いいたします。)
風俗のリンク集なんかで「本日出勤中」というようなサイトをみかけますが
これはどのような仕組みで表示しているのでしょうか?
ttp://www.delihels.com/main.php
(このようなサイトです)
0191nobodyさん
2010/03/24(水) 01:58:58ID:???0192nobodyさん
2010/03/24(水) 02:05:37ID:???0194nobodyさん
2010/03/24(水) 06:13:51ID:X47Xx9mpお答え頂いた方々、どうもありがとうございました。
各お店の専用ページのようなものがあり、そこからお店側が更新して、
サーバに反映されてるんですね!!・・・?
これってRSSなんかじゃできないですよね・・・
勉強が必要ですね・・・
ありがとうございました。
0196nobodyさん
2010/03/24(水) 11:03:40ID:WEWtuFeV>>178さん
同じユーザで管理しています、もちろん。
ですが、ドメインが変わると書き込みが出来ないんです。(呼び出しは出来ます)
書き込み用のファイルの設定を変えなければならないのでしょうか?
0197nobodyさん
2010/03/24(水) 11:13:42ID:???だからドメイン関係ないって
www.omae.comからwww.google.comにおいてあるファイルを書き換える事できないだろ?
フォームにPOSTして書き込むかローカルで書き込むファイルのパス指定しないと。
どういう関数使おうとしてるとかもっと詳しく書かないとこれ以上わからんよ。
0198nobodyさん
2010/03/24(水) 12:25:32ID:WEWtuFeVFORM METHOD="POST" action="
action="
↑の続きに別のドメインを書けば書き込めるということでしょうか?
0199nobodyさん
2010/03/24(水) 12:29:13ID:???システムコールで弄ればいいじゃない
0200nobodyさん
2010/03/24(水) 12:34:28ID:???0201nobodyさん
2010/03/24(水) 13:18:49ID:???<?php
$file = 'add.txt';
touch($file);
chmod($file, 0666);
if(isset($_GET['add'])){
file_put_contents($file, $_GET['add']);
}
echo htmlspecialchars(file_get_contents($file));
?>
B鯖/input.php:
<form action="A鯖/view.php" method="get">
<textarea name="add"></textarea>
<input type="submit">
</form>
B鯖から入力してA鯖に書き込んで表示できる。
こんな感じか?
0202nobodyさん
2010/03/24(水) 14:32:22ID:???0203nobodyさん
2010/03/24(水) 14:49:46ID:WEWtuFeV>>201さん
ありがとうございます。
できました。
0204nobodyさん
2010/03/24(水) 14:52:04ID:JopdS9PVfunction h($str){
0205204
2010/03/24(水) 14:54:44ID:JopdS9PV途中送信すまん。
function h($str){
return htmlspecialchars($str);
}
で
h($_GET['add'])とした方が良い。
あと、CSRF的に危ないかも。。
0207nobodyさん
2010/03/24(水) 15:05:05ID:JopdS9PVXSS危なくね?
0208nobodyさん
2010/03/24(水) 15:18:03ID:???>>201はサンプル程度のつもりだろうからセキュリティ対策がどうとかは別として
そこを関数にしたところで変数の中身は変わらないとおもうんだが。。
0209nobodyさん
2010/03/24(水) 15:25:39ID:JopdS9PV0210nobodyさん
2010/03/24(水) 15:57:47ID:???0211nobodyさん
2010/03/24(水) 16:00:03ID:???XSSでも喰らってろ
0212nobodyさん
2010/03/24(水) 16:00:56ID:???0213nobodyさん
2010/03/24(水) 16:26:29ID:???0214nobodyさん
2010/03/24(水) 16:35:12ID:???0215nobodyさん
2010/03/24(水) 16:38:42ID:???CakePHPにもh()あるしな
0216nobodyさん
2010/03/24(水) 16:38:46ID:???0217nobodyさん
2010/03/24(水) 16:47:12ID:9W7AG8ph現在作成中のWebサイト上で、ユーザー登録をするページを作成中なのですが、
登録ページ内で入力されたユーザーIDが既に登録されている物と重複しないかの確認をさせたいと思っています。
この場合、どのようにすればよいのでしょうか?
データベースにはMySQLを使用しています。
0219nobodyさん
2010/03/24(水) 17:55:47ID:???0220nobodyさん
2010/03/24(水) 17:57:11ID:JL5BpxOEhttp://douseidoumei.com/phpman1/
0223nobodyさん
2010/03/24(水) 19:51:05ID:K69tMWx3例えばmysqliを例にすると、
http://jp2.php.net/manual/ja/book.mysqli.php
mysqli::method
mysqli->method
の2種類の書き方がありますが、
これは前者がstaticメソッドで後者がインスタンスメソッドであることを意味するのでしょうか?
もしその場合mysqliのコンストラクタはstaticコンストラクタということでよろしいでしょうか?
あとmysqli_queryのパラメータは、
mixed mysqli::query ( string $query [, int $resultmode ] )
となってますが、[, int $resultmode]って書いてるとこはどういう意味なのでしょうか?
string $query, int $resultならわかるのですが、この[]の意味はなんなんでしょう?
よろしくお願いします。
0224nobodyさん
2010/03/24(水) 20:23:03ID:???0225nobodyさん
2010/03/24(水) 20:30:43ID:???0226nobodyさん
2010/03/24(水) 20:40:37ID:???>これは前者がstaticメソッドで後者がインスタンスメソッドであることを意味するのでしょうか?
おk
>もしその場合mysqliのコンストラクタはstaticコンストラクタということでよろしいでしょうか?
これはよくわからない
>string $query, int $resultならわかるのですが、この[]の意味はなんなんでしょう?
関数呼び出し時、省略できます
0227nobodyさん
2010/03/24(水) 21:00:31ID:FLvwWD9bみたいな日時の文字列を
2010-03-24 20:38:04.686
のように変形するコードを、短く格好よく書いて!
preg_match( '/(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/',$time, $m )
これ使う長くてダサいので、もxも
0228nobodyさん
2010/03/24(水) 21:07:49ID:???0229nobodyさん
2010/03/24(水) 21:09:05ID:???0230nobodyさん
2010/03/24(水) 21:12:12ID:K69tMWx3どうもありがとうございます。
省略可能とのことですが、これを自分で定義する場合はどうするのでしょうか?
function hoge($a, $b=NULL)のようにデフォルト値を入れるのでしょうか?
またfunction hoge($a, $b=NULL, $c=NULL, $d=NULL)のようになっていて、
$aと$dにパラメーターを入れたい場合、中間にある$bと$cは省略できないという認識であってますか?
つまりhoge("a", "d")ではdが$bになってしまうのでhoge("a", NULL, NULL, "d")としないといけませんか?
0231nobodyさん
2010/03/24(水) 22:52:07ID:+UL/zmjAphp.iniに登録していない独自の拡張モジュールを使いたいのですが
0232nobodyさん
2010/03/24(水) 22:54:44ID:???$datetime = '20100324203804686';
$format = '0000-00-00 00:00:00.000';
$result = '';
for ($i = 0, $j = 0, $len = strlen($format); $i < $len; ++$i) {
$result .= $format[$i] === '0' ? $datetime[$j++] : $format[$i];
}
var_dump($result);
あんまかっこよくないしループもホントはしたくない。もxも
0233nobodyさん
2010/03/24(水) 23:01:02ID:???DLLということはWIN?
ならextとかextensionフォルダに突っ込めばいい。
無理ならdl();
それも実行時のディレクトリにphp.iniを置く。ってできたっけ
0234nobodyさん
2010/03/24(水) 23:06:00ID:+UL/zmjAサーバーで動くバイナリ用意すれば非対応の機能もうごかせるってことですか。
0235nobodyさん
2010/03/24(水) 23:09:23ID:+UL/zmjAhttp://php.net/manual/ja/function.dl.php
0236nobodyさん
2010/03/25(木) 01:08:46ID:???ダサく書いてみた。
$datetime = '20100324203804686';
$t = sscanf( $datetime , "%4s%2s%2s%2s%2s%2s%3s");
print sprintf ("%s-%s-%s %s:%s:%s.%s",$t[0],$t[1],$t[2],$t[3],$t[4],$t[5],$t[6]);
0237nobodyさん
2010/03/25(木) 01:14:05ID:slfY8WwGこういう使い方は間違ってますか?
■インスタンスメソッドの場合
$check = new Check();
$result = $check->checkInput($hoge);
■クラスメソッドの場合
$result = Check::checkInput($hoge);
クラスメソッドのほうはnewしなくていいから便利かなと思ったのですが、、、
よろしくご教示お願いします。
インスタンスメソッドとクラスメソッドの使い分けの考えかたも教えていただければと存じます。
0238nobodyさん
2010/03/25(木) 01:47:34ID:???「入力が同じであれば、出力も同じとなる」の様な場合は、クラスメソッドを使う。
内部の状態(インスタンスフィールドの値)に応じて、「入力が同じでも、出力が異なる」ような場合、
または、メソッド実行した結果、内部の状態が変化する場合はインスタンスメソッドを使う。
これを踏まえて、
> phpで、繰り返し出てくるチェック処理を、staticメソッド(いわゆるクラスメソッド)で実装しようと思うのですが、
> こういう使い方は間違ってますか?
内部の状態に依存しないのであれば、クラスメソッドで問題なし。依存するならインスタヌメソッドとなる。
0240nobodyさん
2010/03/25(木) 03:14:08ID:wY11EtqUソースファイルの文字コードは何にするのがスタンダードですか?
0241nobodyさん
2010/03/25(木) 03:38:10ID:p6Ic0f1/0242nobodyさん
2010/03/25(木) 04:11:36ID:???0243147
2010/03/25(木) 04:26:53ID:???どうやらPDOのSQLiteはスクロール可能なカーソルをサポートしていないので
offsetが使えないんだとか。
↓のURLで外人が書いてくれてた。つーか情報これだけかよ。
http://www.php.net/manual/ja/pdostatement.fetch.php
0244nobodyさん
2010/03/25(木) 04:58:11ID:???合州国?
反日サヨクか?
合衆国をわざわざ合州国なんて書くのはサヨクだけだぞ。
「合衆国」は“United States”の対訳語ではなく、「共和制」(Republic=君主のいない、民衆から元首を選ぶ制度。合衆国の保守本流)
ないしは「民主主義」(democratic 合衆国左派) の古い訳語であり、「合衆制度により治められる国」という意味だぞ。
本当に日本で教育受けてんのか?
日教組の左翼教師に捏造史の教科書丸暗記させられただけだろお前の地域は。
英語の"state"は日本語の「州」とは全く異なる概念であり、“United States”の訳語であるならば「連邦」と書くのが正しい。
サヨク同士でやり取りする辞書とネット工作に使う辞書は分けとかないとこういう所で簡単にボロが出るんだよ。
0245nobodyさん
2010/03/25(木) 10:16:49ID:???0246227
2010/03/25(木) 10:18:55ID:???ありがとう!でもダサいよね。
strftimeとstrptimeを使えばいいかな? と思ったんだけど
PHPだとstrftimeの引数ってUNIXTIMEなんだよね。
はっきりいって、これを設計したやつはアホだと思う。
なんで往復できるように作らないんだよ、氏ねよ、ほんとに。
0247nobodyさん
2010/03/25(木) 10:53:22ID:3VlbO4alこれはどういう風に使うのでしょうか?
PHP5.3.1で
$text = "HelloWorld!!";
XMLWriter::text($text);
としてもエラーになります。
どなたかご教示お願いします
0248nobodyさん
2010/03/25(木) 11:10:45ID:???0249nobodyさん
2010/03/25(木) 11:18:58ID:3VlbO4alURLは正しくはhttp://www.php.net/manual/ja/function.xmlwriter-text.phpになります
使い方にbool text ( string $content )と書いてありますがこれはどのように書くのでしょうか?
0250nobodyさん
2010/03/25(木) 11:22:23ID:???classの使い方をわかってないと厳しいと思うよ
「php XMLWriter」で検索してでてくるサイトのサンプルを見たほうが良い
0251nobodyさん
2010/03/25(木) 11:24:08ID:???Linuxのリの字も消えてるというか・・・
後Xammp
0252nobodyさん
2010/03/25(木) 11:25:47ID:???持っているやつが多い方むきになるだろ
0253nobodyさん
2010/03/25(木) 11:35:07ID:???0254nobodyさん
2010/03/25(木) 11:35:49ID:???linuxから教えてたらページ足りないし初心者混乱するし
0255nobodyさん
2010/03/25(木) 11:43:21ID:3VlbO4al$obj = new XMLWriter();
$obj->openMemory();
echo $obj->text("test");
とすることで動作を確認できました。
一つ疑問があるのですが>>4に
>→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
とあるのですが
XMLWriter::textという風に書くことはできないのでしょうか?
0256nobodyさん
2010/03/25(木) 11:54:58ID:???OS WindowsXP
PHP php5.2.6
にて、XAMPPで勉強中なのですが、1点分からない挙動がありました。
require_once('MDB2.php');
とこのようにPEARのPHPを指定しているのですが、ふとini_get('include_path')を出力してみたところ、PEARにパスは通っていませんでした。
(Eclipse上で、デバッグ起動しました)
なぜinclude_pathが通っていないのに、読みこめてしまうのでしょうか?
PHPの仕様で「PEARには勝手にパスが通ってることになるんだ」というのであれば良いのですが、
XAMPPが勝手に裏でごにょごにょだと、いざLinuxに移行した際などにハマりそうで…。
0257nobodyさん
2010/03/25(木) 11:56:15ID:Irf8TYh60258nobodyさん
2010/03/25(木) 11:57:32ID:???WAMPで導入しなされどうせ一回インストールすればいいんだから
0259nobodyさん
2010/03/25(木) 11:58:59ID:???0261nobodyさん
2010/03/25(木) 12:08:00ID:???どうパニくるの?
例えばcentOSであれば標準で入っているものをyumすればいいだけだけど、個別に入れる時とか、>>256のようにパス設定等の問題でって事かな?
それともパーミッションだとか文字コードって事かな?
0262nobodyさん
2010/03/25(木) 12:08:55ID:???(Eclipse上で、デバッグ起動しました)
同じXAMPPのPHP5.2.6で
include_pathを空にして試してみたら普通にエラー吐くよ
0263nobodyさん
2010/03/25(木) 12:11:14ID:???0264nobodyさん
2010/03/25(木) 12:12:26ID:???0265nobodyさん
2010/03/25(木) 12:13:37ID:fXHFk6pNデフォルトでEuc-jpを使用しているサーバーで、
スクリプト上で
mb_internal_encoding("Shift_JIS");
header ("Content-Type: text/html; charset=Shift_JIS");
Htmlのメタタグで
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
という処理をやっても文字化けします。
もちろんファイルもShift-jisで保存してます。
なのにPCから閲覧して表示の文字コードをEuc-jpにすると普通に見えるんです・・・。
他に修正すべきところってあるんでしょうか?
0267nobodyさん
2010/03/25(木) 12:23:52ID:???0268nobodyさん
2010/03/25(木) 12:26:13ID:???0269nobodyさん
2010/03/25(木) 13:04:14ID:???空っぽはともかく、
ini_set('include_path', ini_get('include_path'));
これでも動かなくなりましたね。
XAMPPが裏でこっそり。なのでしょうか・・?
0270nobodyさん
2010/03/25(木) 13:06:49ID:Irf8TYh6失礼しました。269の奴は私の勘違いでした。(コマンドライン実行してました)
>>256の件は相変わらず起こる状態です。
0271nobodyさん
2010/03/25(木) 13:34:36ID:???phpinfo()で読み込んでる設定ファイル確認してみ
0272nobodyさん
2010/03/25(木) 13:55:57ID:???0273nobodyさん
2010/03/25(木) 18:14:37ID:???0274nobodyさん
2010/03/25(木) 18:32:25ID:???0275nobodyさん
2010/03/25(木) 18:34:08ID:???0276nobodyさん
2010/03/25(木) 18:35:24ID:???0277nobodyさん
2010/03/25(木) 18:36:02ID:???ほとんどの鯖に入ってて覚えやすいものといったらPHPかPerlしかないし
モバイル分野が活発でSNSアプリが流行っててクライアントサイドが熱いといっても
サーバ処理部分は結局PHPとか使わざるをえないわけであって
スレの活気が昔よりないのは初心者が減ってるのと運営が暴走して最近アク禁しまくってるせい
ブログやSNSがなかった時代はHTML覚えて自分でいろいろ作りたいなんてのもあったが
今は用意されてるのが多いしそういう意欲をもつやつが昔ほど少ない
0278nobodyさん
2010/03/25(木) 19:05:53ID:???0279nobodyさん
2010/03/25(木) 21:45:57ID:oHiCs4cCfile_existsを使って事前チェックすればPHP側のエラーを出さずにすみますが
同じようにDBが繋がるかを事前にチェックする方法はないでしょうか?
@で制御して繋いでみるしかないでしょうか?
0280nobodyさん
2010/03/26(金) 06:27:03ID:dSbdTEMe内容はファイルの作成とディレクトリの作成です。
無事作成出来ましたが、権限が鯖の?アパッチにあるようで、FTPでいじれません…
削除したいのですが、方法ありますか?
削除cgiなども試しましたがダメでした。
6.ql.bzの鯖つかってます。
0281nobodyさん
2010/03/26(金) 07:50:59ID:???それともPHPで作成したファイルが削除できないの?
後者ならPHPのchmod関数で権限を変えてから消すか、直接PHPで消せると思うよ
0282nobodyさん
2010/03/26(金) 07:51:28ID:???まあどうしても駄目なら、PHP通してchownとかchmodしてみれば?
0283nobodyさん
2010/03/26(金) 08:08:19ID:dSbdTEMe後者です。
ホント初心者なんで、まさかこんな事になるとは。。。
>281,282
chmodとchown関数調べてみます。
0284280
2010/03/26(金) 08:30:25ID:dSbdTEMe麓cgi-bin](上に同じく)
こっから下は試行錯誤して出来て消えなくなったものです。こんな感じの構成です。
麓test_dir]
麓test]
和aaa(アパッチ権限のファイルがあります。消えません。)
test_
和aaa
user
という構成になってるのですが、
ググって出てきたchmodとchown関数のソースをどこに置いて、実行すればいいのかが分からないです。
出来ればこれをここに置いてアクセスしろ!みたいな感じでソース下さればありがたいです…
ttp://www.phppro.jp/phpmanual/php/function.chown.html
ここ見たんですがファイルのパスをどうすればいいのか?ユーザー名ってなんぞ?ってな状況です><
0285280
2010/03/26(金) 08:32:57ID:dSbdTEMeとにかくいっぱい消せないってことです…
0286nobodyさん
2010/03/26(金) 08:40:22ID:???<?php
chmod('aaaa', 0777);
chmod('test_', 0777);
chmod('user', 0777);
?>
みたいにすればいいと思われます
んで、適当な名前付けて、サーバに上げてブラウザからアクセス
0287280
2010/03/26(金) 09:11:16ID:dSbdTEMeありがとうございます!
ちなみにそのphpソースはどこに置けばいいでしょう?
0288280
2010/03/26(金) 09:15:30ID:dSbdTEMe<?php
chmod('aaaa', 0777);
?>
とするとして、aaaaというディレクトリにアパッチ権限のファイルがあるとすれば、それも同時に消せるでしょうか
それとも、中身も一個ずつchmodしないといけませんか?
聞きっぱなしですみません。
0289nobodyさん
2010/03/26(金) 09:17:34ID:???0290280
2010/03/26(金) 09:27:23ID:dSbdTEMechmodでパーミッションを変更するんですよね?
そしたらFTPから削除出来るのではなく、unlinkでまた削除しないといけないのでしょうか・・・
0291nobodyさん
2010/03/26(金) 09:34:03ID:???0292280
2010/03/26(金) 09:37:04ID:dSbdTEMeありがとうございます。
<?php
chmod('消えないファイル名', 0777);
?>
のソース実行してもパーミッション644のままです…
0293nobodyさん
2010/03/26(金) 09:38:29ID:???フルパスで指定してみ
0294280
2010/03/26(金) 09:41:10ID:dSbdTEMe消したいファイルがあるディレクトリにソース置いて実行しました。
フルパスとはURLのことですか?
それともFTPから見たフォルダ/フォルダ/消したいファイルということですか?
0298280
2010/03/26(金) 09:50:09ID:dSbdTEMeクソったれ初心者に優しくありがとうございます。
ttp://apxxxn.6.ql.bz/user/WS000005.JPG
こんな感じになってます。
フルパスの意味は理解しましたが
homeとは?>>294とは?ってな感じです。
0299nobodyさん
2010/03/26(金) 09:54:52ID:???Windowsしか知らない世代だからね
WindowsでのDocuments and Settingsだよ
0300nobodyさん
2010/03/26(金) 09:59:53ID:???0301280
2010/03/26(金) 10:22:35ID:dSbdTEMeDocuments〜って言ったらHDD内のデータの事ですよね?
鯖に置いてるファイルが消したいのですが、連携?してるのでしょうか…
>>300さんは私へのレスでしょうか…日本語で…お願いします><
0302nobodyさん
2010/03/26(金) 10:32:36ID:???FFFTPを使ってるなら
ttp://www.hereticanthem.com/webtips/215/
これで消えると思うよ
0303nobodyさん
2010/03/26(金) 10:36:11ID:???0304nobodyさん
2010/03/26(金) 10:37:22ID:???0305280
2010/03/26(金) 10:45:54ID:dSbdTEMeありがとうございます、でもNextFTP使ってます…
>>304
cgi使いましたが、無理でした。
なぞです…
0306nobodyさん
2010/03/26(金) 10:47:22ID:???【php】4.4.8
【GD】2.0.28
黒のドット絵を、赤に塗りなおそうと
imagecolortransparent(imagecolorclosest($im, 0, 0, 0));
$out = imagecolorallocate($im, 0, 0, 0);
$in = imagecolorallocate($im, 255, 0, 0);
imagefilltoborder($im, 0, 0, $out, $in);
こんな感じでやってみたのですが、赤単色にしかなりません。
どうすればいいですか?
0307nobodyさん
2010/03/26(金) 10:48:37ID:5PFtTpzk【os】SuSE 9.1 x86_64
【php】4.4.8
【GD】2.0.28
黒のドット絵を、赤に塗りなおそうと
imagecolortransparent(imagecolorclosest($im, 0, 0, 0));
$out = imagecolorallocate($im, 0, 0, 0);
$in = imagecolorallocate($im, 255, 0, 0);
imagefilltoborder($im, 0, 0, $out, $in);
こんな感じでやってみたのですが、赤単色にしかなりません。
どうすればいいですか?
0308nobodyさん
2010/03/26(金) 12:30:11ID:???http://jp2.php.net/manual/ja/function.unlink.php
ここからお借り
実行できるならpublic_htmlに適当な名前でUPする
でブラウザから実行
"./test_dir"は消したいディレクトリを書く
例えばtest_dir/testだけなら"./test_dir/test"
<?php
recursiveDelete("./test_dir");
/**
* Delete a file or recursively delete a directory
*
* @param string $str Path to file or directory
*/
function recursiveDelete($str){
if(is_file($str)){
return @unlink($str);
}
elseif(is_dir($str)){
$scan = glob(rtrim($str,'/').'/*');
foreach($scan as $index=>$path){
recursiveDelete($path);
}
return @rmdir($str);
}
}
?>
UPするファイルをcgi-binに置くならパスは
"../test_dir"と書く
実行するときはバックアップを取ってからね
0309nobodyさん
2010/03/26(金) 13:19:37ID:???0310nobodyさん
2010/03/26(金) 14:05:06ID:hlkI0cqoそれ以上かかる処理についてはスルーする方法ってないでしょうか?
今作っているプログラムは、forでデータをチェックして
問題なければ書き込み用の配列に代入し、
forが完了したらfopenでデータを書き込んでいます。
0311nobodyさん
2010/03/26(金) 14:09:32ID:???0312280
2010/03/26(金) 14:10:34ID:dSbdTEMeありがとうございます。
URLをうpして実行したらPHPリファレンスかな?が表示されました。
cgi-binでもpublic_htmlで実行しても、真っ白な画面(404ではなかったです)で
FTPから確認しても、消せずでした…
<?php
recursiveDelete("./test_dir/test/aaaa/");
以下そのままのPHPファイルをうpし、アクセスしました。
cgiのディレクトリで実行する場合はピリオドをひとつ増やしました。
何か間違っているのでしょうか…;;
0313280
2010/03/26(金) 14:12:16ID:dSbdTEMe自分でうpしたファイル、ディレクトリの権限は4012ですが
phpで作成したファイルは48でした。
名前の変更、消えないディレクトリへのうp、権限の変更ともに
「削除できませんでした。権限があるか、フォルダの中は空かどうか確かめてください。 」
とはじかれます。
0314310
2010/03/26(金) 14:14:30ID:hlkI0cqoそう言う事って出来るんですか?
forしながら時間チェックって。
0315310
2010/03/26(金) 14:16:03ID:hlkI0cqo$start_time = time();
for(){
$check_time = time();
if($check_time > $start_time+600){
break;
}
}
こんな感じですね。勉強になりました。
0316nobodyさん
2010/03/26(金) 14:24:59ID:???0317nobodyさん
2010/03/26(金) 14:26:46ID:???ロリポ最高だよ
0320280
2010/03/26(金) 14:54:01ID:dSbdTEMePHPの練習に使ってるだけなので、有料じゃなければいいのですが…
とりあえず鯖管に連絡してみます。
みなさんご親切にありがとうございました!
0321nobodyさん
2010/03/26(金) 14:55:38ID:???何でlocalhost使わないんだろう
0322nobodyさん
2010/03/26(金) 15:16:35ID:???0323nobodyさん
2010/03/26(金) 15:16:38ID:???今の子に共有という言葉はありません。
0324nobodyさん
2010/03/26(金) 15:21:51ID:???しかも事件のきっかけがしょうもないきっかけとかなw
0325nobodyさん
2010/03/26(金) 15:24:00ID:???ゆとるのもいい加減にしろよ
0327nobodyさん
2010/03/26(金) 15:53:36ID:???0328nobodyさん
2010/03/26(金) 16:43:44ID:???0329nobodyさん
2010/03/26(金) 17:06:33ID:???0330nobodyさん
2010/03/26(金) 17:06:55ID:edKl/0SZ0331nobodyさん
2010/03/26(金) 17:13:07ID:???0332nobodyさん
2010/03/26(金) 17:14:27ID:???0334nobodyさん
2010/03/26(金) 20:05:21ID:DpRkdepWdefine("HOGE_B", 2);_
if ($test == "A") {
echo HOGE_A;
} elseif ($test == "B") {
echo HOGE_B;
}
こんな感じの定数がいっぱいあるのですが
上の呼び出し方だと非効率なのでイメージとして
echo HOGE_$test;
ということをやりたいのですができません
文字列を定数で評価できればいいのですが
何か方法はないでしょうか?
よろしくお願いします
0335nobodyさん
2010/03/26(金) 20:14:31ID:???0336nobodyさん
2010/03/26(金) 20:19:34ID:???echo $hoge($test);
これでいいんじゃね
0337nobodyさん
2010/03/26(金) 20:20:29ID:???0338nobodyさん
2010/03/26(金) 20:21:49ID:DpRkdepWどうもありがとうございます!
マニュアルに書いてないと思って見なかったのですがdefineの関連に思いっきり書いてましたね
反省してきます
>>336さんもレスありがとうございます
今回は定数項目なのでハッシュは見送りたいと思います
0339nobodyさん
2010/03/26(金) 20:24:16ID:???0340nobodyさん
2010/03/26(金) 22:24:01ID:VBrvLXHVデータを加工して出力させたいと思っていて調べた所
php reviserかphp excelreaderが良さそうと思ったのですが
どちらがオススメでしょうか?
また良い解説サイトはあるでしょうか?
0341nobodyさん
2010/03/26(金) 23:07:50ID:???はじめからデータ場所わかっていれば
例 googleキャッシュ
0342nobodyさん
2010/03/26(金) 23:11:48ID:???0343nobodyさん
2010/03/26(金) 23:59:44ID:nTGjIJ+3前の方と似た質問ですが別人です。
PHPでエクセルを読み込んでウェブページとして表示したいと思っています。
ttp://etoh.seesaa.net/article/36670358.html
↑このサイトのこのページ↓のようなイメージです。
ttp://iscp.jp/Excel_to_HTML/test/SoftBank_2007.php?t=0
エクセルの行ごとにhtml整形されたデータをphpで
このようにパラメータで呼び出したいです。
このソフトをインストールしてみたのですが
私の環境はオープンオフィスのため動作しませんでした。
同じようなphpスクリプトはありませんでしょうか?
このスクリプトで生成されたソースが分かればいいのですがorz
アドバイスお願いします。
0344nobodyさん
2010/03/27(土) 00:01:49ID:???0345nobodyさん
2010/03/27(土) 00:09:57ID:???PHPはその用途に向いてるでしょうか?
それともC++が良いでしょうか?
0346nobodyさん
2010/03/27(土) 00:13:54ID:???0348nobodyさん
2010/03/27(土) 00:49:39ID:???0349nobodyさん
2010/03/27(土) 01:16:59ID:???0350nobodyさん
2010/03/27(土) 01:39:19ID:???昔やってたDragon of Floorのイメージです。知ってる人いるかな?
0351nobodyさん
2010/03/27(土) 01:41:12ID:???0352nobodyさん
2010/03/27(土) 02:05:58ID:???Cでトムキャットを超えるものをゴリゴリ書くのもあり
しかしそんな質問するようならPHPで済ませた方が無難だろう
0353nobodyさん
2010/03/27(土) 02:11:35ID:???一台のPCで出来るゲーム。
構想としてネットワーク考えるのは良いけど。
0354nobodyさん
2010/03/27(土) 02:12:46ID:???キーボードの「と」が押しにくい。初期不良か。
0355nobodyさん
2010/03/27(土) 02:34:45ID:???本格的にやるとまずインフラが無理
安いレン鯖じゃまず許可されない
0356nobodyさん
2010/03/27(土) 02:45:07ID:???0357nobodyさん
2010/03/27(土) 02:50:37ID:???0358nobodyさん
2010/03/27(土) 03:04:56ID:???0359nobodyさん
2010/03/27(土) 09:51:18ID:???ttp://www.zend.com/en/company/news/press/zend-to-collaborate-with-adobe
0360nobodyさん
2010/03/27(土) 11:35:40ID:mKFS7c+RApacheのログを取得するのって、fopenを使うのでしょうか?
ググっても、PHPからApacheのログに任意の文字列を追加することしか
紹介しているサイトが無くて、どうすればいいか悩んでいます。
0362nobodyさん
2010/03/27(土) 12:29:55ID:badDEIlDテキストエディタで上書き更新するたびにバックアップみたいなのが増えていくのでしょうか?
0363nobodyさん
2010/03/27(土) 13:04:11ID:???0365nobodyさん
2010/03/27(土) 13:34:19ID:w96ELak8今2chを騒がせてるスクリプト荒らしの対策スレッドや
それに準ずる避難場所しらんかね?
0366nobodyさん
2010/03/27(土) 13:39:00ID:???0367nobodyさん
2010/03/27(土) 13:46:48ID:w96ELak80368nobodyさん
2010/03/27(土) 13:48:35ID:w96ELak8被害を受けている板
ニュース速報 , ニュー速VIP , YouTube , ハード・業界 , ソフトウェア , Download , プロ野球 , ポケモン , 番組ch(NHK) , ネトゲ実況 , アニメ , アニメ2 , シャワートイレ・トイレ
0369nobodyさん
2010/03/27(土) 15:00:19ID:???セキュ板あたりにでもいけばいいんじゃね
0370nobodyさん
2010/03/27(土) 15:45:42ID:???ウイルスコードを書き込むとか?
0371nobodyさん
2010/03/27(土) 15:47:47ID:???なぜか質問者は該当スレ貼ってくれないし
0373nobodyさん
2010/03/27(土) 15:56:19ID:???連投まとめ
perlのスプリクトみたいっすよ
あと有料の●が必要
金払って何がしたいんだが
0374nobodyさん
2010/03/27(土) 16:04:13ID:???俺はブラウザゲームに需要があると予測してるから
いろいろゲームやって勉強してるよ
ドラゴンクルセイドとか三国志とか英雄の城とかな
俺がやってるのは英雄の城だ
0375nobodyさん
2010/03/27(土) 16:22:48ID:???0376need
2010/03/27(土) 16:30:14ID:BLNff2FT掲示板みたいなのやチャットやらメルマガやらの機能ってつけれますか?
0377nobodyさん
2010/03/27(土) 16:35:08ID:???0378need
2010/03/27(土) 16:37:21ID:BLNff2FT0380need
2010/03/27(土) 16:41:56ID:BLNff2FT僕もですけどみんなそういうの詳しくなくて・・・
ヒント的なのくださいw
0381nobodyさん
2010/03/27(土) 16:44:11ID:???0382nobodyさん
2010/03/27(土) 16:45:53ID:???0383need
2010/03/27(土) 16:47:00ID:BLNff2FT0384nobodyさん
2010/03/27(土) 16:49:53ID:???ttp://joomla.jp/
0385nobodyさん
2010/03/27(土) 16:50:08ID:???0386need
2010/03/27(土) 16:55:09ID:BLNff2FTまたみんなと相談してみますでわでわノシ
0387nobodyさん
2010/03/27(土) 18:09:59ID:???$result = mysql_query($sql);
mysql_queryのレスポンスでn秒以上かかったら、強制的に中断したいのですが
どうすれば出来ますか?
0388nobodyさん
2010/03/27(土) 18:12:47ID:hCQYGWPc0389nobodyさん
2010/03/27(土) 18:14:16ID:???0390nobodyさん
2010/03/27(土) 18:48:45ID:???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:fkziy9mv0392nobodyさん
2010/03/27(土) 20:31:37ID:h7pdGwVRこれ本当に覗かれる心配はないって断言できるの?
あと拡張子を .cgi ではなく .php にした場合はどう?
これでもログを覗かれずに済む?
0393nobodyさん
2010/03/27(土) 20:33:31ID:???ご自身の環境でお試しあれ
0394nobodyさん
2010/03/27(土) 20:42:02ID:???.cgiにしたらサーバの設定次第だけど
とにかく実行とか、怖い設定になっていたら
うまくすればログのフリして実行できるんじゃないかな。
あと、phpにしていたら上の問題プラス、
下手い設定でも筒抜けになるな。こえぇーーー
0395nobodyさん
2010/03/27(土) 20:46:53ID:???バーミッションって意味あんの?
書き換え不可にしたって
同じサーバーの奴から参照されてる時点で
バーミッションも変えられてしまうのでは?
0397nobodyさん
2010/03/27(土) 21:01:35ID:h7pdGwVR> とにかく実行とか、怖い設定になっていたら
> うまくすればログのフリして実行できるんじゃないかな。
だよね(´・ω・`)
ログのフリしてコード実行とか考えるだけで末恐ろしい・・・
やっぱログは .log ファイルに格納して .htaccess でそのファイルに
アクセスできないようにした方がいいよね( ´・ω・)
0398nobodyさん
2010/03/27(土) 21:56:20ID:m9Aaq+Yx0399nobodyさん
2010/03/27(土) 22:00:57ID:???include "header.php";
include "menu.php";
include "body.php";
include "footer.php";
0400nobodyさん
2010/03/27(土) 22:46:02ID:m9Aaq+Yx皆さんありがとうございました
0401nobodyさん
2010/03/27(土) 23:49:17ID:???04022ヶ月
2010/03/28(日) 01:43:36ID:/hrsIc1c各サイトに画像を割り当てて表示したいと思っています。
RSSは時間順に表示されるのですが、画像の順番が固定されています。
画像には時間情報がないので、画像とサイトを関連付ければ表示できる
ようになると思いますが、その部分が作れません。
よろしくお願いします。
0403nobodyさん
2010/03/28(日) 01:51:39ID:???ハッシュ.jpgでサイト画像を用意
それか重複するドメインがなければ
ドメイン名.jpgとかでもいいんじゃない?
04042ヶ月
2010/03/28(日) 03:38:35ID:/hrsIc1cドメイン名.jpgでhttpやら抜いてできました!
ありがとうございます。
0405nobodyさん
2010/03/28(日) 10:25:11ID:???IPアドレスで初回訪問時、2回目以降の訪問のページをわけたいのですがPHPで実現できますでしょうか?
出来るのなら参考に出来るサイトなど教えていただければ幸いです
よろしくお願いします
0407405
2010/03/28(日) 10:26:34ID:afRJ3+O70408nobodyさん
2010/03/28(日) 10:28:01ID:???0409405
2010/03/28(日) 10:44:47ID:afRJ3+O7初回訪問時にIPアドレス、名前を登録して次回以降
こんにちは 名前 さん のような感じで表示したいんです・・・
0410nobodyさん
2010/03/28(日) 10:51:26ID:???レベル3以降はころころ変わるからその方法は厳しいん
じゃないの
0411nobodyさん
2010/03/28(日) 10:56:50ID:???初回訪問フォームでnameを入力させてsubmit
↓
クッキーにname,IP,訪問時間,訪問回数なんかセット
クッキーにこれらの情報が登録されていたら、変更すべき項目をクッキーにセットしつつnameを表示
なんでクッキーでできない?
>>410
クッキーがあれば前回訪問していることがわかるのでIPは関係ない
というかIPを記録する意味がわからないから何とも言えないが
0412nobodyさん
2010/03/28(日) 11:00:32ID:???そこまで気にするならnameとpasswordで取り扱うしかないかと。
0414nobodyさん
2010/03/28(日) 15:40:46ID:???IP→固定IPでない限り常に流動的、よって×
同一人物特定可能な機器の固有情報→ないわけではないが機器がない人もいるしセキュリティ的にもやってはいけない、よって×
IDとパスを登録してもらって鯖側で管理する→会員制サイト向け、もっとも現実・実用的
ログイン後にユーザ別に操作する情報があるなら話は別だが「こんにちは名前さん」のためだけにログインさせるのはアフォ
結論、動的ページに感動して初心者にはありがちな行為だがやめたほうがいい。
俺も最初はうれしくてついついサイトのトップにJavaScriptで時計表示したり、
むやみに訪問者のIP出してみたりしたっけなぁ。
今思えば痛々しい。
0415nobodyさん
2010/03/28(日) 15:54:28ID:???yahooとか
0416nobodyさん
2010/03/28(日) 16:24:20ID:???>>414のクッキーってのは初回訪問時(orクッキーが消えた次の訪問時)に
名前を入力させてそれをクッキーに入れるということでしょ。
でもまークッキーが見つからなかったら結局何かを入力するという点では一緒なわけだから、
普通にクッキーが見つからなかったら名前入力させて食わせるでいいと思うけどな。
ただそんなめんどくさいのをユーザーは望まないし、
作り手の自己満足だからやめたほうがいいとは思うが。
0417nobodyさん
2010/03/28(日) 17:16:58ID:I5spPOJrベリサインのグローバルIDは高すぎるので他の安いものを探しているのですが、
たとえば、ベリサインのセキュアIDにして、
対応している端末はSSL通信を行い、非対応の機種はなんらかの判別処理をして
非SSL通信にしてしまうなんて、都合の良い方法はあるでしょうか?
0418nobodyさん
2010/03/28(日) 17:18:04ID:LnmjTtuZ0419nobodyさん
2010/03/28(日) 18:32:25ID:???金払わずに取り繕うなんて馬鹿じゃないの
0420nobodyさん
2010/03/28(日) 19:00:28ID:I5spPOJrおっしゃることはごもっともです。
ただ、利用者がセキュリティを気にする層と気にしない層がいて、
古い機種を所有している人に特に気にしない層が当てはまるんです。
なので、古い機種を使用しているあまりセキュリティを気にしない人は非SSLで運用を考えているんです。
0421nobodyさん
2010/03/28(日) 19:03:21ID:???自分がケチなのを利用者のせいにするな
0422nobodyさん
2010/03/28(日) 19:09:19ID:???営利目的でない為、運用の都合上、コストがそのまま利用者にかかるんですよ・・・。
コストが上がっても、私の腹は痛みません・・・。
扱う情報がメールアドレスと氏名くらいなので、できれば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:???0426nobodyさん
2010/03/28(日) 20:40:56ID:???無料
0427nobodyさん
2010/03/28(日) 20:42:07ID:???0428nobodyさん
2010/03/28(日) 20:49:55ID:???SSL、非SSLのリンク並べた方が楽じゃね
使いたい奴は使えと、使いたいけど非対応の端末は買い換えろと
0429nobodyさん
2010/03/28(日) 21:04:02ID:???0430nobodyさん
2010/03/28(日) 21:04:33ID:???0431nobodyさん
2010/03/28(日) 22:54:42ID:rVlISy+X0432nobodyさん
2010/03/28(日) 22:56:57ID:I5spPOJrそういうことです。
>>428
やっぱり、それが賢明ですかね。
>>426
携帯サイトなので、たしかauは通信できなかったように思います。
実機がないのでわからないのですが、そういった記事を目にしたことがあるので。
0434nobodyさん
2010/03/28(日) 23:01:51ID:rVlISy+Xありがとうございます><
0435nobodyさん
2010/03/29(月) 09:47:34ID:4cY5kwZWcentOS環境にて、公開フォルダ下に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:???0437nobodyさん
2010/03/29(月) 10:11:49ID:???ハイそうです
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:FXTZBx7Y0442nobodyさん
2010/03/29(月) 13:51:48ID:Th+hpH2Zこれからphpを学ぼうと、Amazonでphpの本を探してみたのですが、どれも高くて気軽に買えません。
phpというと、Wikiなどを見ながらApacheでrep2を一週間かけて動かしたぐらいしか経験無いのですが、
そんな初心者にオススメのphpの本を教えていただけませんでしょうか。
0443nobodyさん
2010/03/29(月) 13:55:43ID:???0444nobodyさん
2010/03/29(月) 14:09:14ID:???今までにCとかC++とかPerlとかJavaとか、まあそのあたりの言語でのプログラミングを
してたなら、「PHP 入門」とかでぐぐって出てくる適当なサイトで十分いけるよ。
それでどういうものなのか、とりあえずどう使うのかを掴んだら、後は>>443を随時参照でおk。
0445nobodyさん
2010/03/29(月) 15:10:31ID:???ttp://pc11.2ch.net/test/read.cgi/php/1269841264/
0446nobodyさん
2010/03/29(月) 15:12:34ID:???0447nobodyさん
2010/03/29(月) 17:20:21ID:1Ehd5H1b0448nobodyさん
2010/03/29(月) 17:27:58ID:???0449447
2010/03/29(月) 17:44:03ID:???0450nobodyさん
2010/03/29(月) 18:12:06ID:???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【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
$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:???$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
0460nobodyさん
2010/03/29(月) 23:03:19ID:???ありがとうございます。
完成型は下を単純に入れ換えてこうなるのですか?
<?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:???上のほうはたぶんそんなんでいけると思うけど、
下の方は別のやり方で
$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];
}
0463nobodyさん
2010/03/30(火) 01:48:09ID:vJQ1xggIたとえば、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:wKtmg6ou0467nobodyさん
2010/03/30(火) 02:51:17ID:???正の値しか受け付けないコンストラクタに何かのミスで負の値を渡された時には
コンストラクタ内で例外を投げて止めるが、
正負どちらの値も有り得るのならstaticなメソッドを用意した方が行儀がいい
class Klass { public static function create($c) { return $c ? new self() : null; }}
0468nobodyさん
2010/03/30(火) 03:02:58ID:vJQ1xggIありがとうございました。
メソッドのほうでnullを返すようにさせますm(_ _)m
0469nobodyさん
2010/03/30(火) 05:50:51ID:g1YqBDS1$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:???0471nobodyさん
2010/03/30(火) 07:28:31ID:???0472nobodyさん
2010/03/30(火) 10:36:09ID:???右から評価される
$bar = "My name is $bar"; // $barを変更...
ここは
$bar = "My name is Bob";
という動作になる。
0473nobodyさん
2010/03/30(火) 17:36:46ID:dG8PavZ2[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:???http://jp.php.net/manual/ja/function.natsort.php
0475473
2010/03/30(火) 18:00:50ID:dG8PavZ2こんな関数あるの知りませんでした。
ありがとうございます。
0476nobodyさん
2010/03/30(火) 18:19:22ID:???0477nobodyさん
2010/03/30(火) 18:41:47ID:jgFCVhFfhttp://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の場合?
0478nobodyさん
2010/03/30(火) 18:47:09ID:???★1つ目:fopenに成功した時
★2つ目:flockでの書き込み禁止ロックが成功した時
★3つ目:flockでのロックを開放する
0479nobodyさん
2010/03/30(火) 18:50:45ID:???$fp = fopen();
でファイルを正常に開くと$fpはファイルへのポインタになって、失敗するとfalseになる
if ($fp) は if ($fp != false) と同じ
flock($fp, LOCK_EX)は戻り値で成功したらtrue、失敗したらfalseを返す
if (flock($fp, LOCK_EX)){
は
$succeed = flock($fp, LOCK_EX);
if ($succeed){
と同じ
0480nobodyさん
2010/03/30(火) 18:53:51ID:???そのほかの型については、
http://php.net/manual/ja/types.comparisons.php
例えば、$x = 0;のboolean項目はFALSEとなっているので、
if ($x)は通らないがif(!$x)は通る。
0481477
2010/03/30(火) 19:03:25ID:???ひとつづつ噛み砕いてみます!
0482477
2010/03/30(火) 19:14:26ID:???$fp = fopen($counter_file, 'r+');
★if ($fp){
ここでr+にして、まず読み書き許可しますよね?
★2つ目 flockでの書き込み禁止ロック
ここで、どうしてすぐに書き込み禁止にしてしまうのでしょうか・・?
イメージとして、読み込んだテキストから数字8を取り出して、1つ足して数字9にして
ファイルを閉じる、というのがあるのですが、書き込み可能にしてすぐ書き込み禁止にする
行為がイメージつきません・・・だもんで、★2つ目から下の文の内容もよくわからんのです・・・
0483477
2010/03/30(火) 19:16:55ID:???0486nobodyさん
2010/03/30(火) 19:43:54ID:???$counter_file = 'counter.txt';
//カウンターの最大桁数
$counter_lenght = 8;
//ファイルオープン成功時リソースを$fpにセット失敗時は$fp = false;
$fp = fopen($counter_file, 'r+');
//オープン成功してたら
if ($fp){
//他の訪問者と処理かぶった時にデータが狂わないようにロック
if (flock($fp, LOCK_EX)){
//カウンター数を桁数分読み込む
$counter = fgets($fp, $counter_lenght);
//読み込んだカウンター数に1足す
$counter++;
//ファイルを上書きするためにファイルポインタを先頭にもっていく
rewind($fp);
//新しい数値(足した数値)を上書きする
if (fwrite($fp, $counter) === FALSE){
//失敗時
print('ファイル書き込みに失敗しました');
}
//ロックを解放し他の人が処理できるようにする
flock($fp, LOCK_UN);
}
}
fclose($fp);
0487nobodyさん
2010/03/30(火) 19:47:02ID:???0488nobodyさん
2010/03/30(火) 21:24:19ID:???0490nobodyさん
2010/03/30(火) 23:11:49ID:PJO3T1x9wordpressテーマみたいに、PHPでソースを吐き出させるPHPと
アプリを作ったりするPHPは別物なんでしょうか?
まずはブログのテーマを作って、その後は検索システムとか掲示板とか作りたいなって
思ってるんですが、書籍を見てても、ブログ系はブログ。アプリはアプリみたいにわかれてるんで、
同じものなのか自信がなくなってしまいました。
0491nobodyさん
2010/03/30(火) 23:21:21ID:???Webアプリケーション
デスクトップアプリケーション(ただし向いてはいない)
コンソールアプリケーション(コマンドラインから使うやつ)
んでブログやらブラウザでサーバにアクセスして動かすものはみなWebアプリケーションだ
0492nobodyさん
2010/03/30(火) 23:43:46ID:PJO3T1x9ありがとうございます。
これですっきりしたんでwordpressのテーマ作成の本でも探してみます。
0493nobodyさん
2010/03/30(火) 23:53:27ID:???0494nobodyさん
2010/03/31(水) 00:09:51ID:???段階でそれより右側の判別式の判別は中止されるとおもってよろしいですか?
たとえば
if ( 5 < 0 && 2 < 5)
という判別式の場合、最初の 5 < 0 でfalseが返ってきた時点で残りの 2 < 5 の評価は放棄されると
思ってよろしいですか?
0495nobodyさん
2010/03/31(水) 02:01:29ID:???WEB上にあるPHPはダウンロードすることは可能ですか?
とあるスレで外人が親切にfixedしてくれて、ほれこれで動くぞ持ってけ
いわれてるけど名前をつけてリンク先を保存にしてもドキメントしか落とせなくて困ってます。
http://www.arrastheme.com/forums/post5050.html#p5050
wordpressのプラグインget-the-image.phpです
0496nobodyさん
2010/03/31(水) 02:16:32ID:???0497nobodyさん
2010/03/31(水) 05:34:24ID:1040mT1O本番サーバのCentOS5/64bitで、escapeshellcmdを通すと日本語(たとえば「てすと」)が
消失する現象が出ています
文字コードはUTF-8です
どうしたものでしょうか
0498nobodyさん
2010/03/31(水) 05:44:45ID:???0499nobodyさん
2010/03/31(水) 08:26:19ID:???cliだと問題ないなど謎ですが
strtrで自前エスケープするようにしました・・
ちなみに5.2.13です
64bitだからかなぁ・・
0500nobodyさん
2010/03/31(水) 09:09:20ID:???0501nobodyさん
2010/03/31(水) 09:19:16ID:???こんな関数はじめてみました
ありがとうございました
0502477
2010/03/31(水) 15:20:08ID:???みなさん遅れてすみませんありがとうございました!
テクニックがあるんですね知りませんでした。
理解できました!
0503nobodyさん
2010/03/31(水) 16:03:31ID:qgSssQGeerror_reporting(1)を最初に追記しました。
PHP Notice: Undefined offsetはでなくなりましたが、error_reporting(1)は
追記したファイルにのみ有効という解釈でいいんでしょうか?
test1.phpとtest2.phpでエラーで発生していて、test1.phpにだけerror_reporting(1)を追記した場合
test1.phpはエラーは出なくなりtest2.phpではエラーは出るという事で大丈夫でしょうか。
0504nobodyさん
2010/03/31(水) 16:20:45ID:???<?php
error_reporting(1);
include './test2.php';
0505nobodyさん
2010/03/31(水) 16:49:51ID:???そもそも、どうやって指示すれば良いのかもわかりません。
hoge.ttfと0×0050とかで指示できたりしますか?
0506nobodyさん
2010/03/31(水) 19:21:18ID:???記号のフォントってのがいまいちだけど、文字コードと出力される字形は別モンなので単純に
chr(0x50)
でいいんじゃ?
0507nobodyさん
2010/03/31(水) 22:34:38ID:5rD6sntL0508nobodyさん
2010/03/31(水) 22:42:26ID:F5ZddSdm一括して行う方法というのは無いでしょうか(オブジェクトの表記を省略したい)。
(VBScriptのWithステートメントのようなモノを考えています)
$object->method1();
$object->method2();
$object->method3();
これを
With($object){
->method1();
->method2();
->method3();
}
こういう風に省略できたら見た目にもすっきりしていいなーと思うのですが。
また、無いとしたら何か他に何か、良い短縮方法というのはありますか?
因みに間違えてプログラム板でこの質問をしてしまったんですが
「短縮は可読性を下げる」と言われてしまいました。
やはり短縮しないで書いた方がいいんでしょうか。
0509nobodyさん
2010/03/31(水) 22:49:36ID:???0511497
2010/04/01(木) 02:38:01ID:H0tjueQL動作は教えていただいた方法で解決できたのですが、
「PHPで使われるロケール設定」はどこで設定したものが使われているのでしょうか?
テスト・本番の両環境で、
/etc/sysconfig/i18n
にてja_JP.UTF-8をロケールに設定しており、
シェル上のlocaleコマンドでも確認できますが、
それはPHP内では使われていないようです。
まともに動いていたテスト環境でも、
LC_CTYPE=en_US.UTF-8;等と設定されており、
これもどこに由来するのか分かりません。
「偶然うまく動いていた」に過ぎないようです・・
0513nobodyさん
2010/04/01(木) 03:12:48ID:???apacheユーザの環境変数っぽいですね
デーモンの環境変数なんて考えたことなかったなぁ・・
0514nobodyさん
2010/04/01(木) 10:33:51ID:???baz
bna
test: hoge
hage: new
hoge
これらの文字を
foo: barbazbna
test: hoge
hage: newhoge
に置換したいのですが何か良い方法はないでしょうか?
0515nobodyさん
2010/04/01(木) 10:34:49ID:???foo: bar
baz
bna
test: hoge
hage: new
hoge
0516nobodyさん
2010/04/01(木) 10:58:43ID:???質問はIDを出しましょう
それとその問題が解けないなら、そもそもプログラミングをする意味が無いと思うよ
まず日本語で処理内容を書き出してみてからPHPに変換してみたら?
0517nobodyさん
2010/04/01(木) 20:31:38ID:8+z5A+wF0518nobodyさん
2010/04/01(木) 20:37:49ID:???でもなんかパラメータ渡したいだけなら、requireの前に変数を定義すればそのまま使えるよ
0519nobodyさん
2010/04/01(木) 20:52:22ID:8+z5A+wFありがおう!
0520nobodyさん
2010/04/01(木) 22:05:34ID:X1UHe/PEものすごく重いです。自作だとそんなものですか?
無料サービスのはサクサク動くのに、すごく微妙です。
0521nobodyさん
2010/04/01(木) 22:18:00ID:???自作したの?それとも有り物を設置しただけ?
自作ならソースみないとなんとも言えん
http://ideone.com/
0522nobodyさん
2010/04/01(木) 22:28:41ID:X1UHe/PE拾ってきたソースを加工したものです。
http://ideone.com/GyBDpmCC
0524nobodyさん
2010/04/01(木) 22:46:44ID:???13個もURLを読み込んでるの?
だとするとページを13個開くのと一緒だから重くなるで
対策としては、一度ダウンロードしたRSSをキャッシュすればいいんだけど、
XML_RSSにキャッシュ機能はなさそうだから
$r =& new XML_RSS($rssurl);
の前に、自前でRSSのキャッシュチェックして、キャッシュがなければダウンロード、あればそのままキャッシュをfopen
まとめると
//URLに対して固有のキャッシュパスを設定
$cache_path = 'cache/' + md5($rssurl);
if (!file_exists($cache_path) || filemtime($cache_path) < time() - (60 * 60 * 6)) {
//キャッシュファイルが存在しない、もしくは6時間以上経過
$f = $fopen($rssurl);
}
else {
//キャッシュを使う
$f = fopen($cache_path);
}
$r =& new XML_RSS($f);
つかれた
0525nobodyさん
2010/04/01(木) 22:50:18ID:???マルチスレッド化した方が早くなる
0526nobodyさん
2010/04/01(木) 23:00:45ID:???cakephpに習って管理用カラムをidのauto_incrementとし、
英字のカテゴリ名と日本語のカテゴリ名を設定したいです。
以下のような感じにしようと思いましたが、keyが予約語なので、嫌な感じがします。
一般的に英字と日本語をひとつのテーブルに設定する場合、このようなカラム名にするといいよ
というのが、ありましたら教えて欲しいです。
create table category(
id int not null auto_increment primary key,
key varchar(10),
name varchar(20)
)
0528nobodyさん
2010/04/01(木) 23:23:50ID:???で
0529nobodyさん
2010/04/01(木) 23:24:15ID:X1UHe/PE(´;ω;`)$fopenのところだけ@にしましたが、動きません。
>>525
マルチスレッドですか。ぐぐって見ましたが、概要だけしかわかりませんでした。
ソースが置いてある所があればありがたいです。
0531nobodyさん
2010/04/01(木) 23:38:44ID:X1UHe/PEありがとうございます。以下に変更しましたが、
$cache_path = 'cache/' + md5($rssurl);
の部分のキャッシュを作れていないようで、動作はしますが重いままです。
foreach ($rdf as $k=>$rssurl) {
//URLに対して固有のキャッシュパスを設定
$cache_path = 'cache/' + md5($rssurl);
if (!file_exists($cache_path) || filemtime($cache_path) < time() - (60 * 60 * 6)) {
//キャッシュファイルが存在しない、もしくは6時間以上経過
$r =& new XML_RSS($rssurl);
}
else {
//キャッシュを使う
$r =& new XML_RSS($cache_path);
}
if (PEAR::isError($r)) continue;
$r->parse();
if ($r->getChannelInfo()) $ch[$k] = $r->getChannelInfo();
$ch[$k]['items'] = $r->getItems();
}
usort($ch, "cmp");
0532nobodyさん
2010/04/01(木) 23:45:14ID:???・キャッシュ表示とキャッシュ作成を別にする
・・キャッシュ作成は定時処理にする
・個々を取得するphpを作成する
・・ajaxで読み込むurlをリクエストし、表示する。
0533nobodyさん
2010/04/01(木) 23:45:55ID:???存在しなければ新規作成したうえで読み書きモードでファイルオープンさせたいと思っています。
出来る限りスマートに記述するとしたらどういう方法をとるべきですか?
0534nobodyさん
2010/04/01(木) 23:48:57ID:???0535nobodyさん
2010/04/02(金) 00:09:05ID:cOHYaj0gはい、初めて作るのでその通りです。
1から書くのは不可能なので、なんとか今の技術で作りたいです。
0537nobodyさん
2010/04/02(金) 00:50:45ID:cOHYaj0gはい、cacheフォルダ作りました。ローカルapacheでエラーになります。
Warning: fopen() expects at least 2 parameters, 1 given in
0538526
2010/04/02(金) 00:53:20ID:dljz4vKA0541nobodyさん
2010/04/02(金) 02:10:49ID:cOHYaj0gはい、w+モードにしました。
$f = fopen($cache_path,"w+"); を
$f = fopen($rssurl); の上に持ってきたりとか、いろいろしてみましたが
キャッシュを読み込まないです。
なぜかキャッシュフォルダじゃなく同じフォルダにキャシュらしきものが出来たので
無理矢理それをフォルダに詰めても動かないままです。
0543nobodyさん
2010/04/02(金) 03:08:21ID:???ダメだろこいつ
0544nobodyさん
2010/04/02(金) 03:42:47ID:???そうやって生成したファイルは所有者が"99"とか"nobody"となっていて
パーミションが rw-r--r-- となっている。
まあこの状態でPHPから追記なり上書きなり自由に書き込めるわけだが
レンタルサーバーのコントロールパネル上から
「全ファイルの所有者をユーザーに変更する」
を実行すると所有者は確かに俺のアカウントになるんだがパーミションが
rw-r--r-- のままだから今度はPHPからそのファイルに書き込みができなく
なるんだよ。再度書き込みがしたければログファイルのパーミションを片っ端から
rw-r--rw- に変更していかなければならない。それも手動で(´・ω・`)
手動だから当然変更し忘れてしまうログファイルだって出てくるしそうなると
PHPスクリプトの動作に支障を来してしまう。
PHPでファイル生成時に最初から rw-r--rw- というパーミションのファイルを
生成できれば悩まずに済むんだけどそういう方法って無い?
みんなはこの問題に対してどう折り合いを付けている?
0545nobodyさん
2010/04/02(金) 03:48:26ID:???0546nobodyさん
2010/04/02(金) 03:52:43ID:???確かにログファイルの所有者変更なんてやる必要もないが、他のファイルの所有者変更をしたくなったとき
ログファイルも含めた全てのファイルが道連れに所有者変更されてしまうんだよ。
特定のファイルだけ選んで所有者変更できればこんな質問してない。
0548nobodyさん
2010/04/02(金) 04:08:48ID:???0549541
2010/04/02(金) 06:21:13ID:cOHYaj0gそこで以下に変更したらエラーが出てしまいました。syntax error, unexpected T_ELSE
$rはRSSの中身だと思って、それを書き込むために$rをfopenの前に持ってこないと
ダメだと思ってif文の中に2つ$rを定義する文を入れたのですが・・・考え方として間違っていますか?
foreach ($rdf as $k=>$rssurl) {
//URLに対して固有のキャッシュパスを設定
$cache_path = 'cache/'.md5($rssurl);
if (!file_exists($cache_path) || filemtime($cache_path) < time() - (60 * 60 * 6)) {
//キャッシュファイルが存在しない、もしくは6時間以上経過
$f = fopen($rssurl);
$r =& new XML_RSS($f);
if (PEAR::isError($r)) continue;
$r->parse();
if ($r->getChannelInfo()) $ch[$k] = $r->getChannelInfo();
$ch[$k]['items'] = $r->getItems();
}
$f2 = fopen($cache_path,"w+");
fputs($f, $r);
fclose($f);
}
else {
//キャッシュを使う
$f = fopen($cache_path);
$r =& new XML_RSS($f);
if (PEAR::isError($r)) continue;
$r->parse();
if ($r->getChannelInfo()) $ch[$k] = $r->getChannelInfo();
$ch[$k]['items'] = $r->getItems();
}
usort($ch, "cmp");
}
0550nobodyさん
2010/04/02(金) 09:18:47ID:BmqWcFAu1時間ごとにcronで休講情報発表サイトを巡回し、条件にマッチした場合指定のアドレスに休講お知らせメールを送ります。
この時、一度お知らせメールを送った後は、24時間たたないと同じ条件がマッチしてもメールを送らないようにしたいのです。
このような場合、PHP,mySQL,Cronの設定、どの部分でどのように制御すればよいのでしょうか?
ヒントだけでも教えてもらえればありがたいです。
キーワードをサイト情報とマッチさせてメールを送るスクリプトは下記です。
http://www.imagecheese.com/gallery/jpg.jpg
環境:
さくらレンタルサーバ:スタンダード PHP 5.2.12
Cronの設定期間は1時間ごと:
サーバはmySQL
CakePHPで開発です。
0551nobodyさん
2010/04/02(金) 10:09:56ID:???http://pc11.2ch.net/test/read.cgi/php/1268874059/
メールを送った相手と、送る条件と、送信時刻
この3つが鍵なわけだからそれを管理すればいいのでは?
0552nobodyさん
2010/04/02(金) 10:16:53ID:???メール送付した時にDBに送付日時を入れておいて
次のメール送付時に前回メールの送付日時を確認して24時間たってなければ送付しなければいい
余談だは24時間という計算はDBにやらせたほうが楽
(now() - INTERVAL 1 DAY とか)
0553550
2010/04/02(金) 10:41:15ID:BmqWcFAuCakeのスレの話題かちょっと悩みました。。
>>552
ありがとうございます。
現在は
【usersテーブル】 id, address, hash
【keywordsテーブル】 id,name,user_id
といったデータベース構成なので、keywordsテーブルに mail_sent_date というフィールドを
追加するといった形で試してみようかと思います。
0554nobodyさん
2010/04/02(金) 12:46:44ID:???ダメだorz・・・
chownもchmodも効かない・・・
最初にchownでファイル所有者を自分に変更して、そのあとにchmodで0646に変えてやろうと思ったんだが・・・
たぶんレンタルサーバーの管理人以外はchownできないような仕組みになってるんじゃないかな?
そしてchownできない限りchmodも無力化されてしまうと・・・
0555nobodyさん
2010/04/02(金) 12:51:24ID:???超能力者なら分かるかもしれないけど。
0556nobodyさん
2010/04/02(金) 12:57:28ID:???0557nobodyさん
2010/04/02(金) 13:01:17ID:???0558nobodyさん
2010/04/02(金) 13:18:04ID:H+Jv7Iis【PHPのバージョン】php5.26
全文の中から、最初の一致分「あいうえお」だけ削除したいのです。
$hoge = "あいうえお、かきくけこ、さしすせそ、たちつてと、あいうえお、かきくけこ";
$aiueo = "あいうえお";
$date = str_replace($aiueo,"",$hoge);
これだと、全ての「あいうえお」が消えてしまいますので、
$aiueo = "あいうえお";
$sakujo = "^.*?$aiueo";
このような最短マッチみたいなのを使って削除したらいんだと思いますが、
どうやればいいのか分かりません。教えて下さい。お願い致します。
0559nobodyさん
2010/04/02(金) 13:24:43ID:???0560nobodyさん
2010/04/02(金) 13:27:11ID:???0561nobodyさん
2010/04/02(金) 13:51:33ID:???【PHPのバージョン】php5.26
【PHPのバージョン】php5.26
【PHPのバージョン】php5.26
【PHPのバージョン】php5.26
【PHPのバージョン】php5.26
【PHPのバージョン】php5.26
0562nobodyさん
2010/04/02(金) 15:39:52ID:H+Jv7Iis僕がやりたいパターンの場合だとうまくいきません。
$hoge = "あいうえお---かきくけこ---さしすせそ---あいうえお---かきくけこ---さしすせそ"
みたいなランダムな文章になってて、
$pattern = "^.*?---";
mb_ereg($pattern,$hoge,$honbun);
を使って、最初の「---」までを抽出しています。
この抜き出した文章を使って
$hoge = preg_replace("/$honbun[0]/","",$hoge,1);
というプロセスを経ると、全く抜けなくなります。
forの中で実行してるので、無限ループに陥って困ってます(汗)
原因を教えて頂けませんでしょうか。
0563nobodyさん
2010/04/02(金) 15:43:09ID:???0564nobodyさん
2010/04/02(金) 15:48:48ID:H+Jv7Iis吐き出すものがずっと同じものなので、抜けないのです。
例を上げますと
hoge ="あえ@えれ---れれあえ@れ---あえ@えれ---あえい@れえれ---えあら@れえ"
のようになってて、@マークがなくなるとwhileを抜けるようにしてるのですが、
最初の「---」までが抜けていないので、@マークが減らずに無限ループに陥るのです。
上の例の$honbun[0]は確実に、抜き出したい文章を抜き出しているのですが、
教えて頂いた構文に入れると、その該当する文章が抜けないのです。
0565nobodyさん
2010/04/02(金) 16:07:46ID:???テストしてるソース張り付けられない?
0566nobodyさん
2010/04/02(金) 16:31:04ID:H+Jv7Iisこんな感じです。
メールアドレスを「---」で区切って格納しているものがあって、
それを上から1つずつ抜き取りたいのだけれども、全部の羅列の中に
同じアドレスが2つ以上あった場合でも、上から1つずつ抜き取りたいのです。
で、一番上のメールアドレスを「---」までで抜き取ったやつを、
$hoge = preg_replace("/$honbun[0]/","",$hoge,1);
教えて頂いた↑で抜き取ると、抜き出せないのです。
ちなみに最初は
$hoge = str_replace($honbun[0],"",$hoge);
これでうまくいっていたのですが、複数ある場合に
全部が抜き出されてしまって、困ってしまって、質問させて頂いたわけです。
0567nobodyさん
2010/04/02(金) 16:35:17ID:???0568nobodyさん
2010/04/02(金) 16:40:04ID:???というか文字列を --- で区切ればいいんじゃないの?
explode使って。
0569nobodyさん
2010/04/02(金) 16:41:37ID:???0570nobodyさん
2010/04/02(金) 16:48:58ID:H+Jv7Iisとりあえずこれを入れると、簡単なソースでは成功しました。
ありがとうございました。
これから実際に使ってるプログラムの方に導入してみて、
ちゃんと動くか実験してみます。ありがとうございました。
0571nobodyさん
2010/04/02(金) 17:07:28ID:???> PHPでファイル生成時に最初から rw-r--rw- というパーミションのファイルを
> 生成できれば悩まずに済むんだけどそういう方法って無い?
umask
でも大抵はchmod。
0573nobodyさん
2010/04/02(金) 20:09:21ID:???> umask
> でも大抵はchmod。
ありがとう、できたわ(゚∀゚)
http://www.phppro.jp/phpmanual/php/function.umask.html
↑のサイトを参考にして
$old = umask(0);
chmod("file.log", 0646);
umask($old);
でできたわ。所有者が99だったりnobadyであってもumaskつかえばchmod出来ちゃうんだね。
強力なコマンドなぶん、使い方誤るとセキュリティ的にやばそう・・・
ところで冒頭の umask(0) の引数"0"って何を意味してるんだろう?
0574nobodyさん
2010/04/02(金) 20:58:12ID:peh3ZVn3phpスクリプト以外からアクセスすると(正確にはサーバ外のファイルから)
アクセスが弾かれるようにするにはどうすればいいんでしょうか?
0575nobodyさん
2010/04/03(土) 00:10:03ID:???ファイルへのURLを直接入れたら表示したくないってことかな?
権限を上手いこと設定するか、.htaccessあるいはapacheの設定ファイルで
その特定ファイルへのアクセスを禁止する
詳しくは「htaccess アクセス制御」等で検索するかApacheスレへ
0576nobodyさん
2010/04/03(土) 10:14:00ID:dm+pMn6c..
...
....
return $str;
}
この戻り値を
print <<<HTML
hogehoge{returnstr($a['test'])}hogehoge
hogehoge
HTML;
のように出力の中に書きたいのですがどのように書くのが正しいのでしょうか?
0577nobodyさん
2010/04/03(土) 10:17:07ID:???0578nobodyさん
2010/04/03(土) 10:18:58ID:dm+pMn6cとしてそれを入れるしかないってことですね。
ありがとうございます。
0580nobodyさん
2010/04/03(土) 13:31:38ID:???($hoge == "foo") で $hoge に 0 が入って true になってた。
比較演算子の問題はちゃんと把握してるつもりだったけど
やっぱりよく注意してコーディングしてないとハマるね
0582nobodyさん
2010/04/03(土) 16:17:13ID:???0583nobodyさん
2010/04/03(土) 18:45:24ID:???"hoge" は数字にすると0(数値に相当するものが入ってない)だから。
$hogeに数字が入ってると、自動的に数値で比較してくれる便利機能がついてる。
警告の一つも出してくれりゃいいのになぁ。
0584nobodyさん
2010/04/03(土) 22:10:28ID:???のように画像を開くときは画像ファイルへのパスを指定する必要があるわけですが
絶対パス(realpath()で得られるパス)は受け付けてくれません。
代わりにドキュメントルートからのパス(多くの場合はpublic_htmlから)を指定する必要があるわけですが
/zettai/path/public_html/pic/1.gif
のように絶対パスで与えられているファイル名をドキュメントルートからのファイル名
/pic/1.gif
に変えるにはどういう方法を使えばいいでしょうか?
0585nobodyさん
2010/04/03(土) 23:17:14ID:???0586nobodyさん
2010/04/04(日) 01:01:02ID:???しかも>>55でもうやってるしwせっかく作ったんだし公開しておこう
http://ideone.com/QMVoQhKL
0587nobodyさん
2010/04/04(日) 11:32:33ID:VKZUtm2V【PHPのバージョン】PHP 5.2.12
【連携ソフトウェア】
【質問内容】
(sakuraレン鯖使用です)
ttp://www.abe-tatsuya.com/web_prog/php/mail2php.phpのサイトを参考にして
メールを受信してtwitterに投稿するPHPを作っています。
受信したものをそのまま投稿するのは上手くいくのですが、
アドレスに応じて名前を追加しようとするとうまくいきません。
(というより別関数で本文に内容を付加するのがうまくいかないです。)
原因は何でしょうか?
(使用しているファイルを次に投稿します)
0588nobodyさん
2010/04/04(日) 11:40:00ID:VKZUtm2V[.mailfilter]
to "| /usr/local/bin/php -q /home/user/www/tweet/mail.php"
[mail.php]
<?php
#-- PEAR の Mail/mimeDecode.php を読み込む
require_once '../../pear/php/Mail/mimeDecode.php';
require_once("post.php");
require_once("xml.php");
#-- メールデータ取得
省略:参考サイト通りstdinで取得
#-- From フィールドの取得
$from = $mail_data->headers['from'];
#-- To フィールドの取得
$ToAddress = $mail_data->headers['to'];
#-- Subject フィールドの取得
$Subject = $mail_data->headers['subject'];
$Subject = mb_convert_encoding($Subject,"UTF-8","JIS");
#-- 本文の取得
$MailBody = $mail_data->body;
$MailBody = mb_convert_encoding($MailBody,"UTF-8","JIS");
//アドレス処理はあとでやる
$fff = "mail";
$aaa = add_name($fff,$MailBody);
$MailBody = $MailBody.$aaa;
//twitter投稿
Post($MailBody);
?>
0589nobodyさん
2010/04/04(日) 11:44:58ID:VKZUtm2V連投スミマセン;;
改行が多すぎるって怒られました><
[xml.php]
<?php
function add_name($from,$body){
$xml = simplexml_load_file('document.xml');
foreach($xml->person as $person){
if($person->mail == $from ){
$body = $person->name . $body;
return $body;
}
}
}
?>
[document.xml]
<?xml version='1.0'?>
<data>
<person>
<mail>mail</mail>
<name>たろう</name>
</person>
</data>
0590nobodyさん
2010/04/04(日) 18:50:22ID:z61eZwKM0591nobodyさん
2010/04/04(日) 19:51:07ID:???0592nobodyさん
2010/04/04(日) 20:06:00ID:???本当に JIS なのか?
mb_language('uni'); // unicode
とかになってないかい?
ちなみに、mb_detect_encoding では正しく JIS が判断できないよ。
バグじゃないけどね。
0593587
2010/04/04(日) 21:40:37ID:VKZUtm2V>>590
質問内容が悪かったですね(汗
メール送信したときに、add_name()など関数を使うと値が返ってきません。
mail.phpをブラウザで叩いたときは値が返ってきます(echoで確認しました)
>>592
文字コードはとりあえず文字化けしなかったのであんまり気にしていませんでした><
コンバートしなくても良いといいことですか??
0594nobodyさん
2010/04/05(月) 06:07:53ID:uTolPHHQ【PHPのバージョン】php5.2.13
【連携ソフトウェア】Apache2.2.15
【質問内容】
a.htmlからa.phpを呼び出しています。
a.htmlには、
<input type="checkbox" name="cb_op3" value="1">
とデフォルトでチェックがされていません。
a.phpでは、
$cb_op3 = $_POST['cb_op3'];
の様に参照しています。
チェックボックスがチェックされていない場合、
PHP Notice: Undefined index: cb_op3 in D:\htdocs\a.php on line XX
のようにPHP Noticeが出力されます。
これが出ないようにするには、どうすれば良いですか?
よろしくお願い致します。
0595nobodyさん
2010/04/05(月) 06:53:11ID:???$cb_op3 = (isset($_POST['cb_op3'])) ? $_POST['cb_op3'] : "";
0596nobodyさん
2010/04/05(月) 06:58:11ID:uTolPHHQご回答、ありがとうございます。
$cb_op3 = htmlspecialchars(@$_POST['cb_op3']);
とすることで、自己解決しました。
0597nobodyさん
2010/04/05(月) 07:06:44ID:uTolPHHQ【PHPのバージョン】php5.2.13
【連携ソフトウェア】Apache2.2.15
【質問内容】
phpのエラーをapacheのエラーログに出力したいのですが、
出来ません。
php.iniのerror_logには何も指定していません。
phpinfo()で確認すると、C:\WINDOWS\temp\php-errors.logとなっています。
試しに、
error_log = "L:\logs\php.log"
error_log = "L:\\logs\\php.log"
等を指定しても、
phpinfo()で確認すると、C:\WINDOWS\temp\php-errors.logと変わりません。
知っている方、よろしくお願い致します。
0598nobodyさん
2010/04/05(月) 07:37:57ID:???phpinfo() の Loaded Configuration File と別の php.ini を書き換えたりしてない?
0599nobodyさん
2010/04/05(月) 07:51:41ID:uTolPHHQ;;;;;;;;;;;;;;;;;;
; Fopen wrappers ;
;;;;;;;;;;;;;;;;;;
の項に
error_log="C:\WINDOWS\temp\php-errors.log"
の記述が。。。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
の項の
error_log = filename
ばかり変更していました。
でも、紛らわしいよ。。。
ありがとうございました。
0600nobodyさん
2010/04/05(月) 22:18:52ID:afFcX18l【PHPのバージョン】php5.10
【連携ソフトウェア】なし
【質問内容】
csvでやっていた処理を、拡張性を見据えてxmlにしようと思って実験中ですが、疑問ができたので質問させて頂きます。
SimpleXMLElementを使っているのですが、
これは読み出し及び項目追加には便利だとは思います。
しかし、<data></data><data></data>などの配列化した項目を消したりしようとすると途端に不便になりました。
こういうものなのでしょうか?
popやshiftに相当するものを使用し、最後にasXMLで書き出せるというのが理想なのですが、
一度全部読み出し、もう一つオブジェクトを生成し、そちらにプロパティを移して新しいオブジェクトから書き出す
というのはどうも違和感があります。
0601nobodyさん
2010/04/05(月) 22:23:23ID:???foreach($xml->hoge as $foo){
if ($foo->updatedate+(24*60*60) < time()){
$foo = null;
}
}
$xml->asXML($filepath);
例えばこういった組み方をすると、空のゴミタグが残ってしまいますが、ゴミタグも消したいのです。
何か代換手段は無いものでしょうか
0602nobodyさん
2010/04/05(月) 22:29:17ID:afFcX18l現在はこうやっていますが、最初のnewxmlの定義が面倒です
$xml = simplexml_load_file($filepath);
$newxml = new SimpleXMLElement("<?xml version='1.0' ?>\n<root></root>");
$newxml->addChild("bar1",$xml->bar1);
$newxml->addChild("bar2",$xml->bar2);
$newxml->addChild("bar3",$xml->bar3);
foreach($xml->hoge as $foo){
if ($foo->updatedate+(24*60*60) >= time()){
$newxml->addChild("hoge",$foo);
}
}
$newxml->asXML($filepath);
0603nobodyさん
2010/04/05(月) 22:30:47ID:afFcX18l0604nobodyさん
2010/04/05(月) 22:36:54ID:???【PHPのバージョン】php5.3
【連携ソフトウェア】sqlite3
PHP5に標準搭載されているSQLite3 拡張モジュールで質問です。
close()は必須なのでしょうか? たとえば
$db = new SQLite3("hoge.sqlite");
try {
$result = $db->query("select ...");
$row = $result->fetchArray();
return $row["hoge"];
} catch (Exception $e){
die();
}
$db->close();
なんていうサンプルを時々見かけますが、これって僕のPHP文法の
理解が正しければclose();は通りませんよね?また
$db = new SQLite3("hoge.sqlite");
try {
$result = $db->query("select ...");
$row = $result->fetchArray();
$hoge = $row["hoge"];
$db->close();
return $hoge;
} catch (Exception $e){
die();
}
だったとしても例外時にはclose()されませんよね? これは
} catch (Exception $e){
$db->close();
die();
}
とかいちいちやるものなんでしょうか?
0605nobodyさん
2010/04/05(月) 22:58:06ID:???不要になったときに自動で解放される
0606nobodyさん
2010/04/05(月) 23:08:13ID:???ということは明示的にcloseしたい理由がなければ放置でもOKってことですか?
上記の例では1番は論外としても2番か、それか記述せずでもOKと?
0607nobodyさん
2010/04/06(火) 00:32:21ID:???$db = new SQLite3("hoge.sqlite");
たとえばこの変数に
$db = null; とか
$db = array(); とか
$db = new SQLite3("hoge.sqlite"); とか
のように上書きしてしまってもう使えなくなってもデストラクタが動く
0608nobodyさん
2010/04/06(火) 00:34:24ID:???サンクス。
0609nobodyさん
2010/04/07(水) 02:22:36ID:DRQlFq+Murldecodeは必要ですか?
$_GET[] の時点で既にurldecodeされてるのでしょうか?
0610nobodyさん
2010/04/07(水) 02:59:21ID:???echo print_r($GET);
?>
してみなよ
0611nobodyさん
2010/04/07(水) 03:12:56ID:???0612nobodyさん
2010/04/07(水) 06:13:24ID:dfs6oC5Wif($_COOKIE['checkCookie']){return 1;}
else{
$expire = time() + 86400*14;
if(setcookie("checkCookie",time(),$expire)){return 1;}
else{return 0;}
}
}
このような関数を作ってクッキーが有効かチェックしたいのですが、オフにしても0が帰ってこないようです。
原因わかりますか?
0613nobodyさん
2010/04/07(水) 06:17:39ID:???if(setcookie("checkCookie",time(),$expire)){return 1;}
ブラウザの設定でOFFにしてもサーバから送信は可能だから
ここがとりあえず成功しちゃうんだと思われる
0614nobodyさん
2010/04/07(水) 06:27:00ID:dfs6oC5Wありがとうございます。
ということは、
セットする→セットしたクッキーが存在するか否か
という処理だと行けるってことですよね?
0615nobodyさん
2010/04/07(水) 06:32:37ID:???一度の処理中での確認はできない
一回送信して次回のリクエストで帰ってくるかどうかでのチェックが必要。
俺がたまにやるのは、ページでセットして、JSでチェックする
index.php
<?php
setcookie("checkCookie",time(),$expire);
?>
<html>
<head>
<script type="text/javascript" src="check_cookie.php"></script>
</head>
</html>
check_cookie.php
<?php
if (!isset($_COOKIE['checkCookie'])) print "alert('no cookie!')";
?>
0616nobodyさん
2010/04/07(水) 06:39:12ID:dfs6oC5Wわかりました。
さんくすです
0617nobodyさん
2010/04/07(水) 07:56:30ID:3KWYoUnh【PHPのバージョン】php5.2.13
【連携ソフトウェア】Apache2.2.15
【質問内容】
php5.2.13に対応しているeAcceleratorのバイナリを配布しているサイトはありますか?
0618nobodyさん
2010/04/07(水) 08:03:06ID:???http://www.sitebuddy.com/PHP/Accelerators/eAccelerator_windows_binaries_builds
「eAccelerator 0953 for PHP 5.2.10」とかでいいんじゃないかな
0619nobodyさん
2010/04/07(水) 12:05:21ID:qoBEK7gJ0620nobodyさん
2010/04/07(水) 12:12:46ID:???5秒後にnext.htmlへ飛ばす
header( 'refresh: 5; url=next.html' );
ちなみにHTMLのタグでも可能
<head>
<meta http-equiv="refresh" content="5;URL=next.html">
</head>
0621nobodyさん
2010/04/07(水) 12:28:57ID:???0622nobodyさん
2010/04/07(水) 12:37:23ID:qoBEK7gJ0623nobodyさん
2010/04/07(水) 13:29:34ID:3KWYoUnh5.2.13に対応していますか?
0625nobodyさん
2010/04/07(水) 14:33:07ID:W7cZb24v同意して書き込む際に、hiddenで送る内容ですが、仕様上<br>などのタグをhiddenに含めるとエラーに成ります。
なので、hiddenには<br>などで置換していない状態の書き込みを入れたいのですが、この場合、改行文字がhtmlソースで働いてhtmlソースが乱れてしまいます。
何かで改行文字を置換したいのですが何がいいでしょうか?2chの場合「?」で置換されているようです。
0626nobodyさん
2010/04/07(水) 14:47:15ID:???bbb">
みたいな感じでそのままでもいいと思うけど、どうしても変えるなら
<input type="hidden" value="aaa\n\nbbb">
とかかな
0627nobodyさん
2010/04/07(水) 14:50:15ID:W7cZb24v2chの改行文字の&#10;は全角のはてな。
全角のはてなだったら問題ないですね!
これでいきます。
0628nobodyさん
2010/04/07(水) 14:52:19ID:???0629nobodyさん
2010/04/07(水) 15:06:59ID:W7cZb24v↓
&#10;を<br>に置換する。
全角のはてなを「&#10;」の実体表記で書かれる、それは&amp;#10になるはず・・・
0630nobodyさん
2010/04/07(水) 15:45:55ID:OLVUqXLtで飛ばす時に一緒にPOSTで値などを渡したりする方法はありますか?
0631nobodyさん
2010/04/07(水) 15:46:59ID:???0632630
2010/04/07(水) 16:04:23ID:OLVUqXLtありがとうございます。
携帯でもセッション使えるかどうか試してみます。
0633630
2010/04/07(水) 17:11:09ID:OLVUqXLt#index.php
session_start();
$_SESSION['riremito']='ばしるーら';
header("Location: ./test.php");
#test.php
session_start();
echo $_SESSION['riremito'];
としているのに表示されないのですが、書き方間違ってますでしょうか?
0634nobodyさん
2010/04/07(水) 17:16:17ID:3KWYoUnhいいえ、ありがとうございます。
0636nobodyさん
2010/04/07(水) 17:33:46ID:3GsFBU25if(mb_ereg( "[a-z]*",$string))
てすると全部TRUE返ってくるんですが
アルファベットのみの文だけ拾いたいのです
NoEditorというエディタだと拾ってるんですが
どういう事なんでしょうか?
0638nobodyさん
2010/04/07(水) 18:01:53ID:???0639nobodyさん
2010/04/08(木) 01:08:32ID:bQ9+sypi外部サイトの画像をリサイズしてキャッシュして表示する
スクリプトかAPIのようなものを探してるんですが、
探してる途中にgoogle app engineで作ったと思われる
以下のようなもの(image-resize.appspot.com)を発見いたしました。
ttp://groups.google.co.jp/group/google-appengine/browse_thread/thread/56ba9c4e8fa23d4a
これを画像URLを入れ替えて勝手に自分のサイトで使うと怒られたりしますか?
ちなみに当方英語は読めません
0640sage
2010/04/08(木) 09:23:03ID:???0641625
2010/04/08(木) 09:41:24ID:L4uu4ArYなにか他の考え方がある方はいますでしょうか?
0643nobodyさん
2010/04/08(木) 09:59:22ID:L4uu4ArY調べてみたら「&#10;」って改行文字だったんですね。
2chに書くと全角のはてなになったので勘違いしてました。
2chのように、
フォームから入力してPOSTで送信
↓
確認画面
↓
書き込み
という仕組みなんですが、確認画面で表示するのは改行文字を<br>に置換しますが、書き込み用にhiddenに入れるのを
<br>で置換するとサーバー側の仕様(タグの受信がNGなのです)でエラーを吐いてしまいます。
0645nobodyさん
2010/04/08(木) 10:08:00ID:???0646nobodyさん
2010/04/08(木) 10:09:44ID:L4uu4ArYhiddenにいれるのが\nのままだとhtmlソースに変な改行が入ってしまうのが気になってるからです。
0647nobodyさん
2010/04/08(木) 10:13:24ID:???0648nobodyさん
2010/04/08(木) 10:59:42ID:???試してないけど\nを\\nに置き換えればいけるかも
//変換
$text = strtr($text, array("\\" => "\\\\", "\n" => "\\n"));
print $text;
//復元
$text = strtr($text, array("\\\\" => "\\", "\\n" => "\n"));
print $text;
ただ置き換えたい理由を未だ理解できない・・
0649nobodyさん
2010/04/08(木) 11:30:09ID:???0650nobodyさん
2010/04/08(木) 12:07:50ID:???0651nobodyさん
2010/04/08(木) 12:12:27ID:bQ9+sypi翻訳ぐらいしてるわボケ
お前はコードまで一緒に訳される機械翻訳で意味分かったのか?
0652nobodyさん
2010/04/08(木) 12:22:38ID:???htmlに余計な改行が入ってソースが気になるなら、そもそもがhiddenなんかに持たせずにphpのsessionに保存すれば?
どうせ、確認画面で表示だけだと値をpost出来ないからhiddenに持たせようとかそんな程度の話でしょう?(勝手な妄想だから、違っても気にするな)
textareaタグを使って、見た目をただの表示っぽく調整するとか、方法はいろいろあると思うけどね。
やりたい事の実現方法案を自分で決めてしまって、その案に対しての技術的な質問をしてもなかなか解決しない場合があるよ。
何のためにhiddenで値を保持しようとしているのか、まずはそこから話さないとアドバイスしにくいんじゃね?
0653nobodyさん
2010/04/08(木) 12:25:35ID:???たぶんやりたいのは投稿内容の確認画面ではないかとエスパー。
0654nobodyさん
2010/04/08(木) 12:27:24ID:???640じゃないが、機械翻訳したうえで、オリジナルサイトと両方見ながら読む努力しろよ。
コンピュータ用語なんてまともに翻訳できなくて当たり前なんだから。
そもそも、コードが翻訳された部分なんて、
>これを画像URLを入れ替えて勝手に自分のサイトで使うと怒られたりしますか?
こんなことを知るうえでは無関係な場所だから読む必要ないだろ。
0655nobodyさん
2010/04/08(木) 12:59:45ID:bQ9+sypi要約するとグーグルのリソースだからつかってもオッケイと言う解釈でオッケイですか?
プログラミングのプロのみなさんのコンプライアンス・ガバナンスの見地に基づいた意見を求めております
0656nobodyさん
2010/04/08(木) 13:01:53ID:???>要約するとグーグルのリソースだからつかってもオッケイと言う解釈でオッケイですか?
こう解釈する奴では、何を教えて貰っても無駄だろ。
0657nobodyさん
2010/04/08(木) 13:06:01ID:???0658nobodyさん
2010/04/08(木) 13:06:24ID:bQ9+sypi0660nobodyさん
2010/04/08(木) 13:09:35ID:bQ9+sypiこれは良いサイト教えてもらったわ
俺も使っちゃおうとか思ってないか?
とんでもない奴らだな・・・
0662654
2010/04/08(木) 13:17:40ID:???すげーガッカリです。
> コンプライアンス・ガバナンス
こんな言葉を使ってるくせに、ソースに使用条件が書かれてると思ってるやつの相手をした自分が馬鹿だったね。
>>657
それは開発とは言わん・・・けど
昔後輩として入ってきたやつもそんなことやってたな・・・・
で、一つの関数内で、一つの値を異なった変数名で扱って、まともな動作をしなかったり・・・・
プログラムに向いてない頭としか思わなかったけど。
0663nobodyさん
2010/04/08(木) 13:23:27ID:fqmdAirfとあるPHPファイルをincludeして、その中で停止してあるクラスのインスタンスを取得したいとします。
(それを、2〜3回行います)
$name = 'hoge';
require_once($name . ".php");
$c = new $name; // ファイル名と、そのファイルで定義されているクラス名が同じというルールとします。
ただ、こうするとファイル名がかぶった時(別フォルダに、同じ名前のPHPファイルがある)に、クラス名が二重定義になってしまいます。
そこで次は、パスも含めるとします。
$name = 'hoge/are';
require_once($name . ".php");
$c = new str_replace('/', '_', $name); // スラッシュをアンダーバーに置換したものを、クラス名とします。
ただ、これをするとPHPファイルの配置場所が変わった時に、クラス名も変更する必要があり面倒です。
また、そもそもクラス名をいちいちルールにのっとって書かせるのも面倒くさがられるでしょう。
・無名クラスはつくれないのでしょうか?(調べた限り発見できず)
-------$name .php の中身---------
return class{
function hoge(){}
};
---こんな感じでインスタンスを返す---
・一度定義したクラスを、無効にすることはできないでしょうか?
クラス名を全て統一し、2度目、3度目のrequireの前に以前のクラス定義を無効化する
・クラス名を、ファイルパスなどから自動的に生成することはできないでしょうか?
class str_replace('/', '_', __FILE__){} のようなことはできませんでした
0664nobodyさん
2010/04/08(木) 13:24:07ID:bQ9+sypi>他サイトキャプチャなんて過去スレで既出
外部画像リサイズです。全然違います。
>ライセンスにはGPLって書いてあるだろ
それはコードのライセンスでしょ。
0665nobodyさん
2010/04/08(木) 13:25:27ID:fqmdAirf{
require($name . ".php");
$c = new $name;
$name = $c->run(); // 正常終了したら "" を返す。他のクラスに処理をおまかせしたかったら、そのクラス名を返す
}
こんな感じで使うことを想定しています。
0666nobodyさん
2010/04/08(木) 13:26:04ID:???お前の知識が乏しすぎるだけ。
そもそも、誰も上から目線じゃねーだろ。
お前が努力していないのを指摘してるだけ。
普通にそういうの理解してる連中は、読む努力、理解する努力をしてるの。
お前みたいに「英語嫁ねー」「機械翻訳よみずれー」なんて程度で「教えて」って騒ぐやつに細かく答えてたらきりがないんだよ。
0667nobodyさん
2010/04/08(木) 13:28:43ID:bQ9+sypiリソースとソースを勘違いしてないか?
俺が言ったのは「グーグルのリソース」でソースコードの事じゃないよ
0668nobodyさん
2010/04/08(木) 13:29:06ID:???>・ 質問者として、態度をわきまえること。
これが読めない奴は消えろ
0669nobodyさん
2010/04/08(木) 13:36:41ID:???そもそもがPHPの質問でもない
0670nobodyさん
2010/04/08(木) 13:37:48ID:bQ9+sypi663さんを一致団結して支えてください
それまでに俺の答えを用意しとくように
0671661
2010/04/08(木) 13:42:48ID:???>>670
コード読んで無かった、すまんね。
http://image-resize.appspot.com/?url=http://image.gsfc.nasa.gov/image/image_launch_a5.jpg&width=200&height=200
このurl=の部分を変えてimage-resize.appspot.com上で動かすって意味か
そのURLはあくまでもサンプルで、それ用のAPIを公開しているわけではないから一般的にNG。
使い続けても平気かもしれないけど、そもそもそのサイトが存続する保証はないからやめとけ
他サイトの画像を取得してリサイズなんてphpで簡単にできる。
file_get_contentsで画像とってきてGDかimagemagickでリサイズかければいい
リサイズ部分は「class.image.php」とか使うとさらに楽
0672nobodyさん
2010/04/08(木) 13:56:29ID:???0673nobodyさん
2010/04/08(木) 16:15:03ID:???0674nobodyさん
2010/04/08(木) 16:38:25ID:???クラスの名前とクラスのファイル名を結ぶところと
実際のクラスのインクルードしてインスタンスを返すクラスを作ったらどうですか。
あと、クラス名がダブる問題は、パス含めれば解決するというのは間違いだと思うけどな。
0675nobodyさん
2010/04/08(木) 17:18:57ID:fqmdAirfレスありがとうございます。
ちょっとおっしゃっていることが理解できないのですが…。推測で。
ファクトリークラスを作ればよい。ということでしょうか。
それでも結局クラス名をユニークにする必要がありませんか?
どんな階層(includeした中でincludeされたファイルとか)でクラスが定義されても、結局グローバル空間で定義したのと同じ扱いになってしまうようなので。
>あと、クラス名がダブる問題は、パス含めれば解決するというのは間違いだと思うけどな。
a/b_c.php
a_b/c.php
が同じになってしまうので、厳密には解決しませんね。
(ということですよね?)
0676nobodyさん
2010/04/08(木) 17:21:47ID:???そういや、return new require class();でnew require($path);とか出来ないのだろうか、
あとで試してみよっと。
0677nobodyさん
2010/04/08(木) 19:19:04ID:QzEBA4Atmysql関数を使用し、使いやすく穴もないライブラリを作成したとします。
この状態でpdo_mysqlを使用する利点はありますでしょうか?
DBはpgsqlなどに変更せず、mysql一択とします。
0679nobodyさん
2010/04/08(木) 21:36:49ID:i++uHGbD登録用フォームを作っていて、入力欄が空の時に入力を促すために
if文の中でexit("〜を入力して下さい。<a href=hoge.php<戻る</a>";としています。
ブラウザでは特別問題なく表示されていますが、ソースを見ると、当然exitのところで終了しているので、
ヘッダ部分</body></html>などはごっそり抜けてしまいます。
対象が携帯向けなのですが、exitを使用した場合なにか支障が起きますでしょうか?
0680nobodyさん
2010/04/08(木) 23:29:39ID:Ypj7nZm8ためしに作った以下のカウントスクリプトが動きません。何ででしょうか?
<?php
session_start();
if(!isset($count)) $count=0;
session_register("count");
$count++;
?>
<html>
<body>
セッション名は<?php echo session_name() ?> です。<br>
セッションIDは<?php echo session_id() ?> です。<br>
あなたは <?php echo $count ?> 回目の訪問です。
<a href="<?php echo $PHP_SELF ."?PHPSESSID=".$PHPSESSID ?>">カウントを増やす</a>
</body>
</html>
0681nobodyさん
2010/04/08(木) 23:57:17ID:???ただしsession_registerが先々使えなくなるので使わないのが吉。
検索してマニュアルに目を通せば1分で解決する。
0682nobodyさん
2010/04/09(金) 00:19:32ID:???不安なら
ob_start('footer');
function footer(){
echo '</body></html>';
}
0683677
2010/04/09(金) 00:54:25ID:2yEYSOQoプリペアド・ステートメントのキャッシュは盲点でした。
が、1コネクション毎のようなので、今のところ使う機会がほとんどなさそうです…
あえてpdo_mysqlを使う必要はないということですね。
ありがとうございました。
0685l
2010/04/09(金) 02:43:58ID:CD4rw/LK$code = mb_detect_encoding($str);
$str_out = mb_convert_encoding($str,"UTF-8",$code);
とすると「m」「l」があるところで
Warning: mb_convert_encoding() [function.mb-convert-encoding]: Illegal character encoding specified in
となります。見た目同じなんですがコピペ検索すると互いに一方はヒットしないです。
FireFoxのアドレスバーにコピペすると□になります。
何なん?なぁ何なん?もう分からへんわ
です。教えてください。
0686nobodyさん
2010/04/09(金) 05:43:46ID:???リクエストで複数行のcookieを送ることはできないんでしょうか?
会員サイトで一度ログインしたセッションを使って再度内容を取得したいのですが、
レスポンスはcookieが2行で返ってくるのにリクエストでは1行しか送れないようでセッションが継続できず困っています。
0687nobodyさん
2010/04/09(金) 05:44:38ID:q/M4MThCリクエストで複数行のcookieを送ることはできないんでしょうか?
会員サイトで一度ログインしたセッションを使って再度内容を取得したいのですが、
レスポンスはcookieが2行で返ってくるのにリクエストでは1行しか送れないようでセッションが継続できず困っています。
age忘れたのでageます
0688nobodyさん
2010/04/09(金) 06:26:28ID:???エラーはエンコーディングの検出に失敗してるせい
毎行 mb_detect_encoding() をする意味が分からないが…
>>686
HTTP_Request2#addCookie() を2回呼ぶだけで良さそうよ
http://pear.php.net/package/HTTP_Request2/docs/0.5.1/__filesource/fsource_HTTP_Request2__HTTP_Request2-0.5.1Request2.php.html#a505
0689nobodyさん
2010/04/09(金) 06:36:59ID:q/M4MThC言葉足りず申し訳ないんですがそれだと
set-cookie: name=value; name=value
になってしまうんです
0690nobodyさん
2010/04/09(金) 06:50:36ID:???なぜHTTPリクエストに Set-Cookie が出てくる
Cookie: name1=value; name2=value なら仕様通りの動きだが
0691nobodyさん
2010/04/09(金) 06:54:45ID:q/M4MThC0692nobodyさん
2010/04/09(金) 08:12:43ID:???リクエストの際も2行で送りたいのです
現状のaddCookieに2行分を詰め込む方法などはあるのでしょうか?
0693nobodyさん
2010/04/09(金) 08:54:04ID:???nameがcookienameの話ならならname=valueを独自変換して取り扱えばいい
0694nobodyさん
2010/04/09(金) 10:20:04ID:???0695680
2010/04/09(金) 11:11:26ID:1iWtWM0xエスパー先生有難うございます。
3分かかっちゃいましたけど解決しました〜;;
0697nobodyさん
2010/04/09(金) 13:48:56ID:???0698nobodyさん
2010/04/09(金) 14:13:35ID:???えらいぞ俺
0699nobodyさん
2010/04/09(金) 15:29:21ID:Mp0D6Mthif($_SERVER['REQUEST_METHOD'] == "POST" && $_POST["text"] != "")
みたいな方法を知り合いから「するべき」と言われたのですが、
これって別にREQUEST_METHODを付けなくても良いのではないでしょうか?
if($_POST["text"] != "")
だけあれば、十分「POST[text]に値が存在するか)を調べられると思うのですが・・・
なにか理由があってREQUEST_METHODを付ける場合は、その理由を教えてください。
0700nobodyさん
2010/04/09(金) 18:35:51ID:???0701nobodyさん
2010/04/09(金) 18:40:19ID:???if( isset($_POST['example'][1]) ){
}
0703nobodyさん
2010/04/09(金) 19:35:30ID:???ほんと自由な言語だわ
0704699
2010/04/09(金) 20:04:18ID:Mp0D6Mth少し疑問に思ったのですが、>>700のってどういう場合に起こりえるのでしょうか?
外部フォームからPOSTされたとしても通らないと思うし。
「POSTされてないとき」の場面が想像できません。
0705nobodyさん
2010/04/09(金) 20:15:57ID:???0706nobodyさん
2010/04/09(金) 20:22:33ID:???クライアントからどういうデータがくるかなんてわからない
メソッドなんて自由に変えられるし、
HTML改ざんして$_POST["text"]に該当するフォームを消すこともできる
0707nobodyさん
2010/04/09(金) 20:33:09ID:???0708nobodyさん
2010/04/10(土) 09:26:10ID:3YvP476Nand でつなげられる場合、出来る限りネストを使わないほうが
処理は速くなるのでしょうか?
0709nobodyさん
2010/04/10(土) 10:14:52ID:???0710nobodyさん
2010/04/10(土) 14:30:13ID:???http://gimpo.2ch.net/test/read.cgi/nendai/1269784099/
0711nobodyさん
2010/04/10(土) 14:54:51ID:3YvP476Nありがとうございます。
同じだったとは。。
ループは重くなりやすいけど、ifのネストは関係ないのですね。
0712nobodyさん
2010/04/10(土) 15:02:37ID:3YvP476Nmb_strpos($allInfo, $key) !== FALSE
mb_strpos($allInfo, $key) == TRUE
上と下は同じと考えてよいでしょうか?
可視性から下にしたいのですが、サンプルコードが上のやり方で
書いてあることがよくあるのです。
0713nobodyさん
2010/04/10(土) 15:09:07ID:???0714nobodyさん
2010/04/10(土) 15:14:07ID:???関数の戻り値を調べれば何故そう書いているのかわかると思うんだがな
TRUEと同等値が戻ってきた時とFALSE以外が戻ってきた時
0715nobodyさん
2010/04/10(土) 15:32:22ID:3YvP476Nありがとうございます。
mb_strpos
文字列 haystack の中で needle が最初に現れる位置を数字で返します。 needle が見付からなかった場合、FALSE を返します。
と書いてあるので、trueを返すのはでく、数字で返すからこのような書き方じゃないといけないわけですね。
勉強になりました。
0716nobodyさん
2010/04/10(土) 16:58:06ID:+kV5bvKp無いならこのまま使うんですが元々あるならそっち使いたいと思いまして。
function test($arr,$str){
foreach ($arr as $a){
if( strpos($str,$a) !== FALSE )
return TRUE;
}
return FALSE;
}
0717nobodyさん
2010/04/10(土) 17:20:07ID:Q/DxsTmSWarning: 〜 in /home/aaaa/aaaa.php on line 337
みたいにエラーが表示されますが、これを隠すことは出来ますか?
例えば、「エラーが発生しております」のような別の文言にカエルのでもOKです。
0718nobodyさん
2010/04/10(土) 17:29:37ID:???strpos(implode($arr), $a)
でいいんじゃない?
>>717
エラー制御演算子
error_reporting
display_errors
trigger_error
とか
0719nobodyさん
2010/04/10(土) 17:31:25ID:???0720nobodyさん
2010/04/10(土) 17:41:00ID:Q/DxsTmSエラー制御演算子初めて知りました
ありがとうございます
0721nobodyさん
2010/04/10(土) 19:18:53ID:+kV5bvKpそれは結果が違ってくると思います。
おそらく preg_match('/'.implode('|',$arr).'/',$str) > 0 もできないことはないですが
正規表現使わず配列で解釈させたいので>>716のような関数がないのならあのまま使うことにします。
0723nobodyさん
2010/04/11(日) 02:16:00ID:???function test($arr,$str){
foreach ($arr as $a){
if( strpos(implode($arr),$a) !== FALSE )
return TRUE;
}
return FALSE;
}
じゃわけわからんし
function test($arr,$str){
if( strpos(implode($arr), $str) !== FALSE )
return TRUE;
return FALSE;
}
のつもりだったとしてもおかしいだろう
0725nobodyさん
2010/04/11(日) 02:29:55ID:???0726nobodyさん
2010/04/11(日) 02:37:29ID:???$arr[0] = 'ab'
$arr[1] = 'bc'
で、abを検索するとマッチしちゃうようになると思うよ。
0728nobodyさん
2010/04/11(日) 02:49:16ID:???$arr = array('AA','AB','AC');
var_dump(
// AA,AB,ACのどれかが ABC内にあれば真→○
test($arr, $str),
// AAABAC が ABC内にあれば真→×
strpos(implode('',$arr),$str)!==FALSE
);
function test($arr,$str){
foreach ($arr as $a){
if( strpos($str,$a) !== FALSE )
return TRUE;
}
return FALSE;
}
求めてるのは上の機能であって下のではないんでないの。
配列の値から文字列探索すんなら in_array array_search 使えばいいだけだし。
0729nobodyさん
2010/04/11(日) 03:45:47ID:???配列の中身を全部連結したものに対して検索すればいいんでない?っていう。
0730nobodyさん
2010/04/11(日) 07:03:55ID:???パラメータが逆だし
strpos(implode($arr), $str)だと境界がなくなるので結果が変わるっていうことでしょ
絶対に使いそうもない文字をはさんで文字列を作ればOK
strposはバイナリデータOKなので例えば
strpos(implode(0x00,$arr), $str)
0731nobodyさん
2010/04/11(日) 08:06:03ID:???注意: implode()は、歴史的な理由により、引数をどちら の順番でも受けつけることが可能です。
0732nobodyさん
2010/04/11(日) 10:01:49ID:3X2bc6FOいちいち設定ファイル以外のメインスクリプトでdefinedで定数をチェックして、
なかったら定義したりしてますが、
あれはユーザーが定数を設定するとき削除したりコメントアウトしたり、
予期せぬことをしたときの対策にやっているのでしょうか?
もしそうなら個人的にはそんな勝手にいじるなら動かなくて当たり前ですよ的なスタンスでいいと思うのですが、
何か他に意味はあるのでしょうか?
0734nobodyさん
2010/04/11(日) 10:39:38ID:???DB基礎本読んで正規化を学んだんですが、
PHPのサイトや最近流行のPHP+MYSQL本を読んでも、外部キーや参照の話って全くありません。
重複した値があるフィールドは別テーブルにするとか、正規化しても
外部キーとかつかった実例が紹介されてないので、実装していいものか悩みます。
PHP+MYSQLで外部キーや参照を使わない理由ってあるのでしょうか?
0735nobodyさん
2010/04/11(日) 10:40:06ID:xQs0jEVq0736nobodyさん
2010/04/11(日) 11:25:37ID:???0737nobodyさん
2010/04/11(日) 11:49:58ID:xQs0jEVqたぶんわかってません。
0738nobodyさん
2010/04/11(日) 12:36:15ID:???0739nobodyさん
2010/04/11(日) 12:58:23ID:???MySQLのデフォルトストレージエンジンMyISAMが外部キー制約をサポートしなかったり、
制約自体がデータの不整合を減らすための仕組みなだけなので
面倒くさがりな入門書なら省いちゃうかもね
パフォーマンスのためにあえて使わないケースもあるけど
よく分からないから使わない、はNGだねぇ
0740nobodyさん
2010/04/11(日) 13:11:36ID:???0741nobodyさん
2010/04/11(日) 14:11:50ID:8e9aaJ3F0742nobodyさん
2010/04/11(日) 14:12:44ID:???0743nobodyさん
2010/04/11(日) 14:13:09ID:???0744nobodyさん
2010/04/11(日) 14:20:27ID:???0745nobodyさん
2010/04/11(日) 14:33:37ID:xQs0jEVq10年手ばっかり動かして学んでこなかった結果、場当たり的なプログラミングしかできない奴に育ってしまったので
基礎学んでます。
>>739
RDBなのに全然リレーショナルしない話ばっかで、なんか使わない理由あるのかな?ってすごい不思議です。
DB本だとかならず正規化するといいよ!って話がでるのに。
入門書だけでなく、本屋にあるPHP本全部みても話題にでてないし、ぐぐっても解説してるところがほとんどないもので・・・
参照してるやつは消せないとか、具体的な実装例とかそういうのみたかったのですが、自分で試すしかない感じです。
>>741
strposとかpreg_matchとか
0746nobodyさん
2010/04/11(日) 14:43:20ID:???DB本で正規化のこと学んで、PHP本でAPIの使い方学べば、あとは自分で正規形のDBを操作するPHPアプリ作れるだろ
0747nobodyさん
2010/04/11(日) 14:47:32ID:xQs0jEVq0748nobodyさん
2010/04/11(日) 14:51:14ID:???ここの連中はバカとはさみは使いようって感じで情報聞き出せればおk程度に思っといたらいいよ
丁寧に聞いてるとなかなか言わないからな、天邪鬼だから。
例えば間違いをわざと誇張するとかオススメ。
自信満々なアホが釣られて正しく答えてくれる。
0749nobodyさん
2010/04/11(日) 14:53:59ID:???0750nobodyさん
2010/04/11(日) 14:57:52ID:???自分で調べた方が速いよ。
>>746とかいい例。
質問の意味を理解してない。
0751nobodyさん
2010/04/11(日) 15:01:52ID:???0755nobodyさん
2010/04/11(日) 16:17:08ID:???0756nobodyさん
2010/04/11(日) 16:21:46ID:???0757nobodyさん
2010/04/11(日) 16:24:07ID:???0759nobodyさん
2010/04/11(日) 18:01:14ID:xnCsJMSAなんかセキュリティがどうとか、本番では使わないとかいってるんだが
0761nobodyさん
2010/04/11(日) 18:10:02ID:???0762nobodyさん
2010/04/11(日) 18:12:05ID:???> 昨日からPHPの勉強はじめたんだがなんでXAMPPじゃ駄目って言う人多いの?
俺もそこらへん知りたい。
EclipseでPHPを実装しようと思ってるんだけど
実行環境やデバッグ環境はどれを選んだらいいんだろう?
XAMPPでPHP・Apache・MySQLを一式インストールして実行・デバッグ環境を構築するのが今のトレンド?
0763nobodyさん
2010/04/11(日) 18:18:17ID:???勉強で使うなら好きにすればいいと思うけど
そもそもなんでDBがMySQLって固定されてるんだ?
俺はPostgreSQL派なのでw
自分用のカラオケ(リクエスト番号)リストのwebアプリを作ったときは、
普通のエディタでつくったけどね
テストは、外部に出てるサーバにあげて、そのまま本番運用w
自分用だしね
0764nobodyさん
2010/04/11(日) 18:38:02ID:xnCsJMSA0765nobodyさん
2010/04/11(日) 18:42:10ID:???なってるんだよ。
それだけだから気にするな
0766nobodyさん
2010/04/11(日) 18:44:10ID:???仕事で使うときは必ずしも自分が好きな環境が使えるわけじゃないよ
IDEごときに振り回されるようじゃやってられません
0767nobodyさん
2010/04/11(日) 18:55:49ID:???0768nobodyさん
2010/04/11(日) 20:15:20ID:???0769nobodyさん
2010/04/11(日) 20:37:42ID:???0770nobodyさん
2010/04/11(日) 22:35:31ID:???後で困ったらその時また勉強出来ていいじゃまいか
0771nobodyさん
2010/04/11(日) 23:28:59ID:???それでやった考え方は言語や環境変わっても役には立つ。
0772nobodyさん
2010/04/11(日) 23:36:45ID:???0773nobodyさん
2010/04/11(日) 23:49:11ID:???0774nobodyさん
2010/04/11(日) 23:53:42ID:???ここの通りインスコした場合セキュリティ的にはどう?
0776nobodyさん
2010/04/11(日) 23:58:09ID:???いや、それは慣れててスムーズに出来ても面倒なことに変りないだろ。
「俺は面倒じゃないぜ!」なんてかっこつけにもなっとらんぞ。
手間かけなくて良いときはかけないほうが賢い。
0777nobodyさん
2010/04/12(月) 00:02:10ID:???0778nobodyさん
2010/04/12(月) 00:04:20ID:???決して知識の無い初心者でも手軽に鯖環境を構築できるための物じゃないんだよ
0779nobodyさん
2010/04/12(月) 00:06:13ID:???0780nobodyさん
2010/04/12(月) 00:16:27ID:???0781nobodyさん
2010/04/12(月) 00:18:34ID:???0782nobodyさん
2010/04/12(月) 00:19:31ID:???0784nobodyさん
2010/04/12(月) 01:26:18ID:???意味のあるデリミタにするなら"\x0"かchr(0)じゃないと。
しかしどっちにしろ>>716の関数だと探索するのは$arrのどれか1つであって
$strじゃなくね?
0785nobodyさん
2010/04/12(月) 02:08:32ID:???要素またいでいても引っかかっちゃう。
0786nobodyさん
2010/04/12(月) 02:10:30ID:???いくらなんでもあれそのままグローバルに公開する人いないでしょ。
0787nobodyさん
2010/04/12(月) 02:12:51ID:???与えられた特定の環境でしか使えない人間が言いそうだよね。
0788nobodyさん
2010/04/12(月) 02:18:52ID:???そんなのプログラムの勉強とサーバの勉強切り分けりゃいいんじゃねーの?
Linuxメインで開発してる身からするとWindowsは開発環境構築めんどくせーなと
思ってたからXAMPP出たときは便利になったなーと思ったけどな。
0789nobodyさん
2010/04/12(月) 02:55:47ID:???0790nobodyさん
2010/04/12(月) 03:58:34ID:???0791nobodyさん
2010/04/12(月) 06:45:02ID:???楽になる面も多々あるよ
0792nobodyさん
2010/04/12(月) 07:22:04ID:???本でもネットでも掲示板でもそう
0793nobodyさん
2010/04/12(月) 07:47:23ID:???0794nobodyさん
2010/04/12(月) 08:09:50ID:???0795nobodyさん
2010/04/12(月) 08:43:40ID:???0796nobodyさん
2010/04/12(月) 09:03:59ID:???信者がうぜえし
0797nobodyさん
2010/04/12(月) 09:06:43ID:???好きなもん使えばいいだろ
0798nobodyさん
2010/04/12(月) 10:02:04ID:???A.LANからはアクセスできますがポートが開いてないとWANからはアクセスできないので平気です
Q.xamppの利点を教えてください
A.設定ほぼ不要ですぐに使えるphpの開発環境が整えれます
Q.このスレではxamppが嫌われてるようですが?
A.そんなことはありません
Q.肯定派と否定派は存在しますよね?
A.そのようですね
Q.肯定派の意見を聞かせてください
A.我々はプログラムをしてるのであってサーバの構築をしているのではないといったところでしょうか
Q.否定派の意見を聞かせてください
A.各個設定できないと問題に対処しきれないといったところでしょうか
Q.具体的にはどういうことでしょうか?
A.開発環境と本番環境では必ずしも環境が同じではないので動く保証がないということです
Q.もう少し具体的に教えてください
A.OSやPHPのバージョンによっては使えなかったり動作が異なる関数があります
バージョン条件は満たしていてもモジュールがインストールされてなかったり無効になっていて使えない関数もあります
直接関係ありませんがDBやhtaccessを絡める場合それらのバージョンにも留意する必要があります
Q.本番環境でつまづかないためにはどうしたらいいですか?
A.本番環境にあわせた開発を心がけましょう
モジュールがインストールされていてかつ有効にされていないと使えない関数はphpinfoを見て使えるか調べましょう
OS・バージョンを確認してPHPマニュアルで使いたい関数がそのバージョンで使えるか確かめます
直接は関係ないですがDBを使う場合やhtaccessを内包する場合等それらのバージョンも関係してきます
Q.結局xamppは使うべきですか?
A.本番環境にあわせた開発を心がけるべきですがそれら環境を整えるのは限界があります
PHPをやるために慣れないOSをいじって挫折したら本末転倒です
なので自信のない人はxamppでもいいと思います
困るケースとしては本番環境で使いたいモジュールが開発環境(xampp)で使えない場合ぐらいです
xampp該当モジュールを有効にするだけでいい場合は調べればすぐに解決できるでしょう
解決に至らない場合でもモジュールに頼らない書き方があればそれを採用すればよいでしょう
xamppユーザは柔軟に対応しましょう
0799nobodyさん
2010/04/12(月) 10:04:28ID:???消したつもりだったのにッ
大事なことなので2回言いましたってことで許してね(はぁと
0800修正
2010/04/12(月) 10:09:25ID:???A.LANからはアクセスできますがポートが開いてないとWANからはアクセスできないので平気です
Q.xamppの利点を教えてください
A.設定ほぼ不要ですぐに使えるphpの開発環境が整えれます
Q.このスレではxamppが嫌われてるようですが?
A.そんなことはありません
Q.肯定派と否定派は存在しますよね?
A.そのようですね
Q.肯定派の意見を聞かせてください
A.我々はプログラムをしてるのであってサーバの構築をしているのではないといったところでしょうか
Q.否定派の意見を聞かせてください
A.各個設定できないと問題に対処しきれないといったところでしょうか
Q.具体的にはどういうことでしょうか?
A.開発環境と本番環境では必ずしも環境が同じではないので動く保証がないということです
Q.もう少し具体的に教えてください
A.OSやPHPのバージョンによっては使えなかったり動作が異なる関数があります
バージョン条件は満たしていてもモジュールがインストールされてなかったり無効になっていて使えない関数もあります
直接関係ありませんがDBやhtaccessを絡める場合それらのバージョンにも留意する必要があります
Q.本番環境でつまづかないためにはどうしたらいいですか?
A.本番環境にあわせた開発を心がけましょう
モジュールがインストールされていてかつ有効にされていないと使えない関数はphpinfoを見て使えるか調べましょう
OS・バージョンを確認してPHPマニュアルで使いたい関数がそのバージョンで使えるか確かめましょう
Q.結局xamppは使うべきですか?
A.本番環境にあわせた開発を心がけるべきですがそれら環境を整えるのは限界があります
PHPをやるために慣れないOSをいじって挫折したら本末転倒です
なので自信のない人はxamppでもいいと思います
xamppで困るケースとしては本番環境で使いたいモジュールが開発環境で使えない場合ぐらいです
開発環境で該当モジュールを有効にするだけでいい場合は調べればすぐに解決できるでしょう
解決に至らない場合でもモジュールに頼らない書き方があればそれを採用すればよいでしょう
xamppユーザは柔軟に対応しましょう
0801sage
2010/04/12(月) 10:41:30ID:???Windowsでは使えない関数があったり、セキュリティとかエラー関係がゆるく設定されていることがあるから
いざ本番のLinux環境で使うと、動かなかったりエラーを吐いたりするってだけ。
最初から本番に近い環境でやってればそういう心配が減るってだけだと思う。
0802nobodyさん
2010/04/12(月) 10:44:07ID:???簡単なことでも注意すべき点が多いってことじゃないかなぁ
デフォでセキュアにしたらSELinuxとかVistaのUACとかで初心者が参っちゃったじゃん。
なれてればどちらも有効にしておくのが楽になるけども。
0803nobodyさん
2010/04/12(月) 11:04:25ID:???0811nobodyさん
2010/04/12(月) 11:49:29ID:???0812nobodyさん
2010/04/12(月) 11:50:16ID:???使わない方がいいの?
0813nobodyさん
2010/04/12(月) 11:56:05ID:???0818nobodyさん
2010/04/12(月) 12:23:07ID:???0820nobodyさん
2010/04/12(月) 12:32:39ID:???0821nobodyさん
2010/04/12(月) 12:39:25ID:???0822nobodyさん
2010/04/12(月) 12:42:32ID:???プロはxubuntu一択
0823nobodyさん
2010/04/12(月) 12:54:35ID:???どこがプロだw
0825sage
2010/04/12(月) 13:07:38ID:???会社がRedhat使ってるってのも理由だけど。
0826nobodyさん
2010/04/12(月) 13:11:29ID:???そういう心配するやつはフレームワークで開発すればいいよ
共通化しまくってるからあえて環境選ぶ書き方しない限り問題ないだろう
0827nobodyさん
2010/04/12(月) 13:12:28ID:???>>824
作業用マシンの事を言ってるの?サーバの事をいってるの?
作業用マシンの事なら、仮想環境上でわざわざ作業するの?
サーバの事なら、debian系って珍しいね、CentOS使わないの?
0828nobodyさん
2010/04/12(月) 13:13:45ID:???windows持ってない人なのかな?w
0829sage
2010/04/12(月) 13:25:15ID:???俺だけかもしれんが。
0830nobodyさん
2010/04/12(月) 13:32:31ID:???ゲームとかグラフィックス系の事やらないならwindowsより使いやすいと思ってる
開発はNetbeans使ってるからOS差はそんなに関係ないし
やっぱシェルが大きい、細かい事をコマンドでさくさくできるのがいい
あとはサーバと作業用PCのOSが統一できるのも良い
もっともwindowsもPowerShell使いこなしていれば良いのかもしれないが。
0831nobodyさん
2010/04/12(月) 13:46:21ID:???Windows鯖を提供しててあえてWAMP構成にするようなとこはないよ
WIMA(Windows+IIS+MSSQL+ASP(.NET))が一般的かと
企業のアプリケーション鯖はほとんどそんな感じだが
0832nobodyさん
2010/04/12(月) 14:28:00ID:???スレタイみて書き込めよ
0833sage
2010/04/12(月) 14:30:43ID:???pearで不便を感じたことないからそのまま使ってるんだけどzendとかcakeとかの方がメリットあるかね?
0834nobodyさん
2010/04/12(月) 15:37:25ID:pqNtwkfV同じプログラムを同時に実行しないように出来ませんか?
例えばteratermで人が"hoge.php"を実行しているときは、他の人が"hoge.php"を実行しようとしてもすぐ処理を中止するようにしたいです。
0835nobodyさん
2010/04/12(月) 15:47:19ID:???古典的だけど、実行時にファイル作って終了時にファイル消すって作りにしたら?
apacheとかにあろうhttpd.pidみたいにプロセスID入れたファイルとかを作り、
「もしそのファイルがあるなら実行しない」をスクリプトの最初に書いておけば良いと思う
0836nobodyさん
2010/04/12(月) 15:47:58ID:???0837nobodyさん
2010/04/12(月) 15:52:05ID:???ファイルロックかなぁ。
0839質問
2010/04/12(月) 16:32:44ID:???あるページをFILE関数でHTMLファイルにしたいのですが、
そのページがPOSTされた値を反映するページだと上手くいきません。
例えば
<?php
print'あなたの名前は$_POST['name']です';
?>
を表示しても
「あなたの名前はです」
になってしまいます。
なにか良い方法はありますか?
0840nobodyさん
2010/04/12(月) 16:48:38ID:???シングルクオート中は変数として評価されないから$_POST['name']という文字列で評価されるはず
あとエスケープしてないので文字列['name']の最初のシングルクオートのところで終了と判断されて
パースエラーになるはずだが
確認してないから断言はできないが
>「あなたの名前はです」
こういう結果はでないんじゃね
↑でいったことを直すには
print 'あなたの名前は' . $_POST['name'] . 'です';
もしくは
print "あなたの名前は{$_POST['name']}です";
といったかんじにする
んでスレタイ読んでね
質問はエスパーすぎてよくわかりません・・・
0842nobodyさん
2010/04/12(月) 17:05:39ID:???エスパーすると
curlでPOSTしてあげて結果のHTMLを受け取ればOK
「php curl post」で検索するといっぱいでてくる。
0843839
2010/04/12(月) 17:32:32ID:???返答ありがとうございます。
言葉足らずで申し訳ないです。
前述の条件でPHP実行後のHTMLソースを抜き出したかったのです。
なので、まだググッてはないですが842さんが1番望む答えに近いかも。
またわからなかったらテンプレ読んだうえで再度質問させていただきます。
ありがとうございました
0844nobodyさん
2010/04/12(月) 17:36:40ID:???0845839
2010/04/12(月) 17:49:02ID:???いやいやいやいや、そんなことないです。
私の質問の仕方が悪すぎました。
本当にすいませんでした。
どうかお気になさいませぬように
0846nobodyさん
2010/04/12(月) 17:56:22ID:???0847nobodyさん
2010/04/12(月) 18:06:13ID:???0848nobodyさん
2010/04/12(月) 18:14:44ID:???0849nobodyさん
2010/04/12(月) 18:21:49ID:???0850nobodyさん
2010/04/12(月) 18:22:01ID:???暗号化により作られた暗号文を毎回同じ結果として出力したいのですが、
何か便利なものはありますでしょうか
Blowfishを使ってみましたが毎回暗号化結果が違います。
use strict;
use Crypt::CBC;
my $key = 'testkey';
my $strings = "test";
my $cbc = Crypt::CBC->new({
key => "$key",
cipher => 'Blowfish',
padding => 'null'
});
my $crypted = $cbc->encrypt_hex($strings);
print $crypted, "\n";
blowfishで不可能であれば何か別の手段を教えていただけると幸いです。
0851nobodyさん
2010/04/12(月) 18:28:14ID:???0852nobodyさん
2010/04/12(月) 20:22:50ID:???0853nobodyさん
2010/04/12(月) 21:34:39ID:???PHP
0854nobodyさん
2010/04/12(月) 22:30:56ID:???0855nobodyさん
2010/04/12(月) 23:05:56ID:xbOcApfN0856nobodyさん
2010/04/12(月) 23:10:08ID:xbOcApfNあったわ
0857nobodyさん
2010/04/12(月) 23:25:38ID:???どこかででダウンロードできない?
0858nobodyさん
2010/04/12(月) 23:28:04ID:???0859nobodyさん
2010/04/12(月) 23:35:25ID:???0860nobodyさん
2010/04/13(火) 20:16:02ID:+9H6Il1u【PHPのバージョン】php5.2.13
【連携ソフトウェア】mysql
【質問内容】
データベースはMySQLで、
15分間隔でやや多めのデータをマルチプルINSERTしているのですが、
この場合は、PDOとMySQLiとでどちらのほうが速いのでしょうか?
マルチプルで一括INSERTしたら終了するPHPを、
cronで15分間隔に動かしています。
PDOのプリペアードステートメントというのは
似たSQLで1行ずつ繰り返しINSERTするような場合に有効なのですか?
0861nobodyさん
2010/04/13(火) 20:40:29ID:???insert selectのような、一回で複数行挿入するような場合にはさして効果は見込めません
0862nobodyさん
2010/04/13(火) 20:43:36ID:ETgmCczchttp://www.1kara.net/php/practice/bbs/source.php
/*----- ※7 -----*/
//最終書き込み番号(logの最初の数字)を取得し、今回の書き込みNoを生成
$lastNo = ereg_replace("^([0-9]+),.+$","\\1",$data[1]);
$putNo = ++$lastNo;
ここがよくわかりません・・・ereg_replace("^([0-9]+),.+$","\\1",$data[1]);
このカッコの中身が・・・これはどう処理されてるんでしょうか?
0863nobodyさん
2010/04/13(火) 21:08:36ID:+9H6Il1uありがとうございました。
0864nobodyさん
2010/04/13(火) 22:06:37ID:Pebc2mYyinsert完了後にそれが何番であったか知りたいのですが、selectするしかないのでしょうか?
insertの処理で返って来るようにはできますか?
0865nobodyさん
2010/04/13(火) 22:09:30ID:???AUTO_INCREMENT だよな?
INSERTクリークを発行したあとに
mysql_insert_id()
http://jp2.php.net/manual/ja/function.mysql-insert-id.php
0866nobodyさん
2010/04/13(火) 22:13:33ID:???×クリーク
○クエリー
0867nobodyさん
2010/04/13(火) 22:14:21ID:Pebc2mYyありがとうございます!
0868nobodyさん
2010/04/13(火) 22:21:21ID:???正規表現を使わない場合はちょっと違う動作にはなるけどこんな感じ
list($lastNo, $tmp) = explode(",", $data[1], 2);
要するにカンマで区切られた文字列から一つ目のカンマの前にある数字を$lastNoに入れるってことかな
0869nobodyさん
2010/04/14(水) 16:36:12ID:???という関数があって
第1引数と第3引数のみ指定して呼び出したい場合は
どうやって記述するのでしょうか?
無理なのかな?
0870nobodyさん
2010/04/14(水) 16:41:30ID:???0871nobodyさん
2010/04/14(水) 16:54:47ID:???ついでにスレタイ嫁
0872nobodyさん
2010/04/14(水) 16:59:27ID:???0873nobodyさん
2010/04/14(水) 17:00:20ID:???0874nobodyさん
2010/04/14(水) 17:07:54ID:???関数hogeの中身をいじれないなら駄目だけど。
0875nobodyさん
2010/04/14(水) 17:12:43ID:oynBSGJdnull指定したら、nullになりませんか?
0876nobodyさん
2010/04/14(水) 17:15:05ID:???0877nobodyさん
2010/04/14(水) 17:22:04ID:???そうではないライブラリなら、ライブラリが悪い可能性がある
0878nobodyさん
2010/04/14(水) 17:33:36ID:???{
hoge($arg,$arg1,$agr2,$arg3);
}
0879nobodyさん
2010/04/14(水) 18:25:12ID:oynBSGJdありがとうございました
0880nobodyさん
2010/04/14(水) 18:38:28ID:???0881nobodyさん
2010/04/14(水) 18:39:51ID:???imgタグを複数取得したいんですが、
preg_match_all('/<img(.*?)>/',$URL,$AAA);
として、
echo $AAA[0];
echo $AAA[1];
とすると、2つめの$AAA[1]はタグ内のsrc以下が表示されてしまいます。
次のimgを出力するにはどうすればいいですか?
基本的すぎると思いますがよろしくお願いします。
0882nobodyさん
2010/04/14(水) 18:52:47ID:???超初心者とか基本的すぎるとかくだらない修飾はいりません。
基本的すぎると卑下するぐらいならマニュアルでも読んでください。
0884nobodyさん
2010/04/14(水) 19:42:07ID:???0885nobodyさん
2010/04/14(水) 19:56:19ID:???http://php.net/manual/ja/function.preg-match-all.php
ID無しには、それ指摘しないでスルーしとけ書いておくか?
それも読まれずに、ID出せって書き込みが出るんだろ。
それか、質問と回答以外の書き込み禁止にでもするか?
0886nobodyさん
2010/04/14(水) 19:58:54ID:???0887nobodyさん
2010/04/14(水) 20:08:33ID:???0888nobodyさん
2010/04/14(水) 20:28:27ID:???for(検索語)の中にfor(辞書)を入れて総当たりで調べるより
効率的な方法ってありますか?
0889nobodyさん
2010/04/14(水) 20:29:28ID:???0890nobodyさん
2010/04/14(水) 20:29:46ID:???0892nobodyさん
2010/04/14(水) 20:37:07ID:K3XQO6Toありがとうございましたm(_ _)m
0893nobodyさん
2010/04/15(木) 12:08:02ID:???0895nobodyさん
2010/04/15(木) 13:55:01ID:???0898nobodyさん
2010/04/15(木) 15:40:10ID:???解決しましたのレスを付ける地味な手法を粛々と
0899nobodyさん
2010/04/15(木) 16:12:13ID:???ここ連続できてるの見ると同一人物か
前後の流れ見て意図的にやってるとしか思えない
スルーしとけばいいこと
0900nobodyさん
2010/04/15(木) 16:14:35ID:???ID出すようになったんだよな
いっそIDが出る板に移動した方がいいぐらいだ
0901900
2010/04/15(木) 18:30:27ID:???0902901
2010/04/15(木) 18:41:05ID:???気に食わなければ答えなきゃいいし気にしないなら答えてあげればいい。
マジでぐちぐちバカじゃねぇの???
バカじゃねぇの???
ねぇ死ぬの???
0904nobodyさん
2010/04/15(木) 19:33:36ID:???0907nobodyさん
2010/04/16(金) 00:23:43ID:m1X69OPF$replacement = "<a href=\"\\1\">\\1</a>";
$description2 = preg_replace($pattern, $replacement, $description);
echo "<p>". $description2. "</p>";
正規表現置換の後方参照がうまくいきません
\\1がおかしいのか、どこが悪いのかわかりません
お願いします
0908nobodyさん
2010/04/16(金) 01:23:13ID:???次はIDだしてね
0909nobodyさん
2010/04/16(金) 02:08:18ID:???5.3.1はC:\PHP\php.iniを見に行ってたのですが,
5.3.2はC:\PHP\php.iniを見てくれません。
5.2.12はC:\PHP\php.iniを見に行ってたのですが,
5.2.9はC:\PHP\php.iniを見てくれません。
こんなものなのでしょうか?
あるいはバージョンに関係なく,当方は意図していませんが,
インストールの仕方によって変化するものなのでしょうか?
0910nobodyさん
2010/04/16(金) 04:43:23ID:???試してないから経験的にいうとデリミタが設定されてないせい
$patternの中身の最初と最後に適当なデリミタを入れてみて
あとエスケープするべき記号が適切にエスケープされていないからそのせいだと思う
後方参照方法は問題ない$nか\\nでOK
0911nobodyさん
2010/04/16(金) 07:22:16ID:m1X69OPFその二点を修正したら上手くいきました。
本当に助かります。どうもありがとうございました。
0913nobodyさん
2010/04/16(金) 22:28:09ID:???phpinfo()で,バージョンによって,
C:\PHP
であったり,
C:\Windpws
であったりします。
0914nobodyさん
2010/04/16(金) 23:05:13ID:???HKEY_LOCAL_MACHINE\SOFTWARE\PHP\バージョン
HKEY_LOCAL_MACHINE\SOFTWARE\PHP\バージョン
HKEY_LOCAL_MACHINE\SOFTWARE\PHP\バージョン
の IniFilePath
0915nobodyさん
2010/04/17(土) 00:32:52ID:???HKEY_LOCAL_MACHINE\SOFTWARE\PHPには
InstallDir
Version
WebServerType
この3つしかありませんでした。
0916nobodyさん
2010/04/17(土) 01:48:47ID:???IniFilePathを加えて,C:\PHPを指定して,IISも再起動させてみましたが,infoの表示はC:\Windowsになります。
0917nobodyさん
2010/04/17(土) 02:00:08ID:???それが標準外の動作でしょ
0918nobodyさん
2010/04/17(土) 03:00:09ID:941jDBNR0919nobodyさん
2010/04/17(土) 03:48:21ID:???おっしゃる通りです。
どうして,バージョンによっては,C:\PHPにあるphp.iniを見に行くことがあったのか,
よくわからなかったので,質問させていただきました。
お騒がせしてしまして申し訳ありません。
0920nobodyさん
2010/04/17(土) 07:08:34ID:???0921nobodyさん
2010/04/17(土) 07:51:39ID:???Linuxだとapt-get install php5ってコンソールに入力するだけでapecheも一緒にインストールできるからw
0922nobodyさん
2010/04/17(土) 13:40:34ID:EvekmtW4「PHP5徹底攻略 エキスパート編」っていう本が中古で8千〜1万円ぐらいで売られてるんですが
この本はそんなに良い本なのですか?
0923nobodyさん
2010/04/17(土) 14:16:39ID:???0924nobodyさん
2010/04/17(土) 14:24:54ID:???初心者が買っても意味ないのは間違いない
0925nobodyさん
2010/04/17(土) 15:44:08ID:???そうですか。。。
ありがとうございます。
>>924
言葉って難しいですね。
ちなみに初心者には意味がないという基準はなんでしょうか?
0926924ではないが
2010/04/17(土) 16:20:50ID:???そういう評をされているものと言えば、初心者向けの解説から始まっていない含まれていない、
これを読んでいる人はそういう部分は習得済みという前提で書かれているものと解するかな、俺は。
0927nobodyさん
2010/04/17(土) 16:38:08ID:???0928nobodyさん
2010/04/17(土) 17:07:52ID:???無駄にページ数が多いだけかもしれないし
共同著書だったり利権者が多すぎて分配を多くするために高く設定してたり
絶版になってプレミア価格がついてたりと
そんなに本が読みたければGoogle BooksでPHPの本探せばいいんじゃないかね
全部は読めないけど読める部分はいっぱいあるし
0929nobodyさん
2010/04/17(土) 17:31:53ID:???0930nobodyさん
2010/04/17(土) 17:45:05ID:???次の携帯の種類を判定する正規表現を見つけました。
if (preg_match("/^SoftBank/i", $ua))
{
//SoftBank
}
ここで質問なのですが、
@末尾にある「 /i 」 とは何を意味するのでしょか?
A先頭にある「 / 」は何を意味するのでしょうか?
B入力された文字列が "ABC" から始まっているかどうかを
判定する正規表現はどうかけばよいでしょか?
※"ABC"の後はどんな文字列が続いても構いません。
宜しくお願いします。
0931930
2010/04/17(土) 18:12:24ID:???0933nobodyさん
2010/04/17(土) 18:22:52ID:???0935nobodyさん
2010/04/17(土) 18:29:48ID:TQJa7Fx/PHPでブログを作成しています。
SQLiteを使って記事のインデックスを管理しようとしているのですが、データベースで文章はどの程度管理していいものでしょうか?
記事は先頭部分1000文字程度と"続きを読む"で3000文字程度です。
先頭部分だけデータベースに入れてしまうと速度的に遅くなってしまうでしょうか?
0936nobodyさん
2010/04/17(土) 18:30:45ID:???末尾の「 /i 」が何を意味するのか書かれていません。
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k09.htm
どなたか優秀な頭脳をお持ちの方お教えください。
0938nobodyさん
2010/04/17(土) 18:35:21ID:astqohQFどんな文字列にマッチさせたいの?
そっから考えた方がいいんじゃない?
0940nobodyさん
2010/04/17(土) 18:36:32ID:astqohQFmysqlだけど
http://itpro.nikkeibp.co.jp/members/SI/oss/20031007/1/
0941935
2010/04/17(土) 18:38:01ID:TQJa7Fx/え、本当ですか?
別ファイルに保存しようと思っていたのですが、無駄ですか?
数千文字の記事を数千件も入れてしまってパフォーマンスは問題ないのでしょうか?
そのあたりの参考になる本やウェブサイトなどご存知ありませんか?
0943nobodyさん
2010/04/17(土) 18:56:14ID:???そんなもん誰が使うんだよ
0944935
2010/04/17(土) 18:58:30ID:TQJa7Fx/とても勉強になりました。
もう少し色々なサイトを見て勉強してきます。
0946nobodyさん
2010/04/17(土) 21:03:29ID:???0947nobodyさん
2010/04/17(土) 21:30:18ID:???0948nobodyさん
2010/04/17(土) 23:40:18ID:???もとにもどそうと思い、mb_ereg_replaceを使用しているのですが、うまく変換できません。
知恵を貸していただけないでしょうか?
$pattern = '\"';
$replace = '"';
$string2 = mb_ereg_replace($pattern,$replace,$string);
他にも色々試したのですが、全部だめでした。
念のために、以下も事前にコールしています。
mb_internal_encoding("EUC-JP");
mb_regex_encoding("EUC-JP");
0949nobodyさん
2010/04/17(土) 23:43:01ID:astqohQF似たような事になってそれで解決した記憶がある
0950948
2010/04/17(土) 23:50:22ID:???変換したいものが"なんです
$pattern = "\"";
$replace = '"';
でやってみてもだめでした。
0951nobodyさん
2010/04/17(土) 23:59:58ID:???0953nobodyさん
2010/04/18(日) 00:17:35ID:???0954nobodyさん
2010/04/18(日) 00:18:43ID:???0955nobodyさん
2010/04/18(日) 00:25:11ID:???0956948
2010/04/18(日) 00:33:34ID:???これみたいです!
phpinfo()で確認してみたら、magic_quotes_gpcがONになってました。
ずっと悩んでいたので理由がわかってよかったです。
レンタルサーバなのでphp.iniはいじれませんが、.htaccessでOFF設定できるみたいなので、ちょっとがんばってみます。
ありがとうございました。
0957948
2010/04/18(日) 00:45:49ID:???レンタルサーバの設定で.htaccessのPHP_flagsも禁止されていましたが、実行時に無効にするという方法で無事に変換されないようになりました。
0958nobodyさん
2010/04/18(日) 00:48:15ID:kFnU9JMbフレームワークを探してみると色々あるようですが、最近の流行はcake phpでしょうか?
個人的にsmartyというテンプレートエンジンにすごく惹かれたのですが、これは現状ではどの程度使われてますか?
あるいは他にオススメがありましたら教えていただけますでしょうか。
宜しくお願いします。
0959nobodyさん
2010/04/18(日) 00:48:22ID:???0960nobodyさん
2010/04/18(日) 02:05:07ID:???どういたしまして。
次はIDだそう。
>>958
cakeよく知らないけど cake + smarty でいいんじゃないのかな。
0961nobodyさん
2010/04/18(日) 09:08:22ID:???0962nobodyさん
2010/04/18(日) 09:14:37ID:???これか
0963948
2010/04/18(日) 10:04:59ID:???今、外出先で携帯から
magic_quotesでググって出てくるPHPマニュアルのページに書かれてましたよ。
20stepくらいのコードでした。
0964nobodyさん
2010/04/18(日) 13:00:40ID:???0965nobodyさん
2010/04/18(日) 13:07:45ID:???0966nobodyさん
2010/04/18(日) 16:01:10ID:MhBI/ZWI強制的に改行を入れて整形したいです。
どんな方法がありますか?
0967nobodyさん
2010/04/18(日) 16:32:18ID:???http://jp.php.net/manual/ja/function.wordwrap.php
0968nobodyさん
2010/04/18(日) 16:34:21ID:MhBI/ZWIありがとうございます
0969nobodyさん
2010/04/18(日) 23:17:17ID:czBW3Szoこれは外部からアクセスできるメンバだけ返すようにはなりませんか?
0971nobodyさん
2010/04/18(日) 23:43:35ID:???0972nobodyさん
2010/04/19(月) 00:10:49ID:???$c = new ReflectionClass('Klass');
foreach ($c->getProperties() as $p) {
if ($p->isPublic()) {
echo $p->name, PHP_EOL;
}
}
0973nobodyさん
2010/04/19(月) 00:12:28ID:???URLに guid=ON がついていない状態でアクセスがあった場合でも
$getValue = $_SERVER['HTTP_X_DCMGUID'];
として、 docomo ID を取得したいのですがどうすれば良いでしょうか?
具体的には、本来は@のURLでアクセスされる事を想定しているのですが、
Aでアクセスがあったとしても docomo ID を取得したいです。
@http://test_domain/get_docomo_id.php?guid=ON
Ahttp://test_domain/get_docomo_id.php
0974nobodyさん
2010/04/19(月) 00:15:03ID:???0977nobodyさん
2010/04/19(月) 00:37:00ID:axuSXXV9会社のPCに全文検索システムを作りたいと思っています。
Wikipediaで「全文検索」まではたどり着いたのですが、そこから何を選べばいいか迷ってしまいました。
現在はPostgreSQLのtsvecterを使っているのですが、サーバー用ではなく通常のWinXPを使っているのでメモリが1GBしかなく
仕事が山場なこともあって更新が20分ほどかかり、その間サーバーがかつかつになってしまいます。
過去にnamazuを趣味で使ったことがあるのですが、セキュリティ
上の都合でLANが外に繋がっていないので
namazuのインストール手順を見るとPPMファイル(?)のダウンロードが必要とのことでこれも難しいです。
プログラムはMicroSDで持っていこうと思います。
プログラムも趣味程度には書けます。データは5KB×10万件です。
今月末には部署を移るのでその前に良いものを残したいと思っています。
よろしくおねがいします。
【OS名】WinXP メモリ1GB
【PHPのバージョン】5.2.6
【連携ソフトウェア】mysql postgresql perl apache mecabはインストール済み
0979nobodyさん
2010/04/19(月) 00:41:54ID:???0980nobodyさん
2010/04/19(月) 00:58:21ID:???TB;W30H19
TB
W*
H*
というのは何を意味しているのでしょうか?
0981nobodyさん
2010/04/19(月) 01:10:38ID:axuSXXV9ありがとうございます。Javaですね…
そういえば得意分野じゃなかったのでわすれてましたがtomcatもeclipiceも入ってたんでした。
プロジェクトに突っ込めば動くかな?明日やってみます。
>>980さん
↓これなんかどうでしょう(特にページ一番下のリンク)
http://www.nttdocomo.co.jp/service/imode/make/content/spec/useragent/index.html
ドコモの技術情報はトップ>サービス・機能>作ろうiモードコンテンツ、です。(偶然にも関係者なもので)
0982nobodyさん
2010/04/19(月) 08:57:58ID:???判定処理をどうしようか迷っています。
携帯電話の場合、セッション管理は意味を成さないので
固体識別番号を何かのアクション(ページ遷移、ボタン押下)時に
常にDBと称号する方が無難なのでしょうか?
0983nobodyさん
2010/04/19(月) 09:04:19ID:???どういう意味でしょう?
0984nobodyさん
2010/04/19(月) 09:05:48ID:???ひろみちゅのHP見て勉強してから出直してきてね
0985nobodyさん
2010/04/19(月) 09:07:48ID:???0986nobodyさん
2010/04/19(月) 09:21:00ID:???http://pc11.2ch.net/test/read.cgi/php/1271636105/
0987nobodyさん
2010/04/19(月) 15:03:10ID:315TL3PFclass Hoge
{
var $test = new Test;
}
これがエラーになってしまうのですが、メンバー変数の定義時にインスタンスをセットするにはどうしたらよいでしょうか?
書き方が間違っているのでしょうか?
0988nobodyさん
2010/04/19(月) 15:27:21ID:???phpの仕様です
メンバ変数定義にメンバ変数に関数や演算子は使えません
コンストラクタでやるしかないですね
0989nobodyさん
2010/04/19(月) 15:52:56ID:315TL3PFありがとうございました
0990nobodyさん
2010/04/20(火) 20:58:38ID:???AU / DOCOMO / SoftBank の場合には、
取得した固体識別番号だけで登録した名前・メールアドレスを管理するのは危険でしょうか?
つまり、
固体識別番号 + パスワード
の設定も必須にした方が良いのでしょか?
また、携帯からWEBサイトにアクセスする場合に、
特定の固体識別番号になりすまし偽装をする事は可能なのでしょうか?
0991nobodyさん
2010/04/20(火) 21:04:47ID:???あたりでググればいくらでも出てくる
大手商用サイトでもザルだったりするけどね
0992nobodyさん
2010/04/20(火) 22:03:23ID:???危険に関する認識が俺と違うっぽいなぁ。
大手商用サイトがザルというのはどういうことを指しているのか書いてみて
0993nobodyさん
2010/04/20(火) 22:14:10ID:???http://takagi-hiromitsu.jp/diary/20100417.html
ユニークIDがあれば認証ができるという幻想
http://takagi-hiromitsu.jp/diary/20100411.html
ウィルコムから回答「契約者固有IDは弊社にとって個人情報」
http://takagi-hiromitsu.jp/diary/20100403.html
高木さんは良い記事書いてる
最近は個人情報を取得しているという認識が欠けてるケータイ脳PGが多いな
0994nobodyさん
2010/04/20(火) 22:18:42ID:???そんなザルなもので認証が出来るなんて考え自体が危険
0995991
2010/04/20(火) 23:57:56ID:???自分自身がケータイのヘビーユーザーではないのであまり実例は出せないんだけど
クレカ番号を覚えてるようなサービスでかんたんログインとか、正直怖いと思った
0996nobodyさん
2010/04/21(水) 01:40:13ID:???0997nobodyさん
2010/04/21(水) 02:25:49ID:???勝手サイトだからそういう危険をはらんでるのであって、固体識別番号での認識がすべて悪だという風潮は良くない
0998nobodyさん
2010/04/21(水) 07:43:28ID:???そんな考えだからガラケーなんて言われるんだ
0999nobodyさん
2010/04/21(水) 10:47:51ID:???名言だな
1000nobodyさん
2010/04/21(水) 13:20:16ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。