【PHP】下らねぇ質問はID出して書き込みやがれ 95
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2010/04/19(月) 09:15:05ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 94
http://pc11.2ch.net/test/read.cgi/php/1268835461/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0002nobodyさん
2010/04/19(月) 09:16:08ID:???【PHP】下らねぇ質問はID出して書き込みやがれ 93
http://pc11.2ch.net/test/read.cgi/php/1266229386/
【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/
0003nobodyさん
2010/04/19(月) 09:16:50ID:???■本家マニュアル 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/04/19(月) 09:17:30ID:???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/04/19(月) 09:18:12ID:???→ 確認すべきは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/04/19(月) 12:02:58ID:9m1Cq7Fwこちらのようにアップファイル毎にcom[]・pass[]を付けるとlog処理もうまくいくのですが、
-----------------ここから-------------------------
<INPUT TYPE="file" SIZE="30" name="upfile[]">
コメント<input type="text" size="30" name="com[]" class="box" />
パス:<INPUT TYPE="text" SIZE="8" name="pass[]" maxlength="10" ><br>
<INPUT TYPE="file" SIZE="30" name="upfile[]">
コメント<input type="text" size="30" name="com[]" class="box" />
パス:<INPUT TYPE="text" SIZE="8" name="pass[]" maxlength="10" ><br>
------------------ここまで------------------------
このようにcom[]・pass[]を別枠にするとうまく処理できません。
-----------------ここから-------------------------
コメント<input type="text" size="30" name="com[]" class="box" />
パス:<INPUT TYPE="text" SIZE="8" name="pass[]" maxlength="10" ><br>
<INPUT TYPE="file" SIZE="30" name="upfile[]"> <br>
<INPUT TYPE="file" SIZE="30" name="upfile[]"> <br>
------------------ここまで------------------------
複数のファイルを一つのcom[]・pass[]を適用させたいのですが、どうすればいいでしょうか?
0007nobodyさん
2010/04/19(月) 14:18:06ID:???htmlはただのUIだからそのソース自体は問題ないんじゃね
UIコンポーネント(input)を並び変えただけで問題が起こるとしたら
アプリケーション側の実装方法に問題があるんじゃね?
つまりそのhtmlだけ出されてもアドバイスはできない
0008nobodyさん
2010/04/19(月) 14:37:03ID:9m1Cq7Fwこの部分での解決方法はないでしょうか?
0009nobodyさん
2010/04/19(月) 15:12:43ID:???0010nobodyさん
2010/04/19(月) 15:18:03ID:???>>7に同意。それに「うまく処理できない」じゃ何が起きてるか他人にはわからん。
ただこれはぼんやりとした推測なんだけど、
前者はcom[]・pass[]が2つあるからphpは配列として受け取っていて、
後者は1つだから文字列で受け取ってる。
php側で配列で受け取るつもりでコーディングしてるからうまくいかんのでは?
0011nobodyさん
2010/04/19(月) 16:13:05ID:???$_POST["com"][1] = $_POST["com"][0];
$_POST["pass"][1] = $_POST["pass"][0];
0012nobodyさん
2010/04/20(火) 11:03:20ID:CFslFB3CNotice: session_start() [function.session-start]: ps_files_cleanup_dir: opendir(※セッションファイルパス※) failed: No error (0)
ってエラーが出て、maxlifetimeになってもセッションファイルが削除されません・・・
そもそもps_files_cleanup_dirってなんなんでしょう?
クリーンアップ(削除)しようとしたけどファイルが開けなかったってことなんでしょうか・・・
誰か助けて・・・
0013nobodyさん
2010/04/20(火) 11:07:35ID:???なんじゃろか
パーミッションとかそんなんかな
phpinfo()でセッションのディレクトリを確認して、パーミッション確認したり、一回中身手動で消してみたり
ただのNoticeみたいだけど、一応セッション自体は機能するの?
0014nobodyさん
2010/04/20(火) 14:26:13ID:HgchgPq410個の配列からランダムに一つ表示させたいのですが
↓こんな感じで書いたのですがダメでした
$rss = fetch_rss($url);
$rss->items = array_slice($rss->items, 0, 10);
foreach ((array)$rss->items as $item) {
$title = $item['title'];
$title = mb_convert_encoding($title, "UTF-8", "auto");
$key = array_rand($title,1);
echo $title[$key];
}
ヘルプお願いします
0015nobodyさん
2010/04/20(火) 14:43:10ID:???$rss = fetch_rss($url);
$rss->items = array_slice($rss->items, 0, 10);
$key = array_rand($rss->items, 1);
$item = $rss->items[$key];
$title = $item['title'];
$title = mb_convert_encoding($title, "UTF-8", "auto");
echo $title;
0016nobodyさん
2010/04/20(火) 14:57:13ID:HgchgPq4ありがとうございます
無事動きました
0017nobodyさん
2010/04/20(火) 15:06:37ID:rBsVQVN1定義するクラス名を動的に宣言する方法はないでしょうか?
イメージ的には
$class_name = "test";
class $class_name
{
省略
}
$c = new $class_name();
こんな感じです。
newのところに変数が使えるのは確認したのですが、定義部に変数を使う方法は今のところ見つけられていません。
無理でしょうか?
可能ならば表記法が知りたいです。よろしくお願いします。
0018nobodyさん
2010/04/20(火) 15:19:06ID:???eval使うしかないかも
$class_name = "Test";
eval("
class $class_name
{
function foo()
{
echo 'bar';
}
}
");
$c = new $class_name();
$c->foo();
0019nobodyさん
2010/04/20(火) 16:07:26ID:m2F+Aoncmb_substrを使えばいいのですが、substr関数が大量に使われます
既存の定義関数と同一名の ユーザー定義関数って作成可能でしょうか?
function substr(・・
if (extension_loaded('mbstring') && function_exists('mb_substr')) {
mb_substr関数で処理
}else{
substr関数で処理
}
・・・・
としたいのですが、
0020nobodyさん
2010/04/20(火) 16:45:13ID:???0022nobodyさん
2010/04/20(火) 17:13:41ID:???http://www.php.net/manual/ja/mbstring.overload.php
0023nobodyさん
2010/04/20(火) 17:47:47ID:???http://www.php.net/manual/ja/function.override-function.php
0024nobodyさん
2010/04/20(火) 18:13:19ID:???aaaabbbbccccって取り出すのはどうしたらできますか?
0025nobodyさん
2010/04/20(火) 18:26:48ID:???XMLとして間違ってるからできなさそう
本当にその通りの内容だったら
strip_tags()で行けると思うよ
0027nobodyさん
2010/04/20(火) 20:32:22ID:???PHP Serial(ttp://www.phpclasses.org/browse/package/3679.html)って使ったことある人いますか?
使い勝手を教えて欲しいのですが・・・
さすがにPHPでシリアル通信なんてあんまりないですよね
0028nobodyさん
2010/04/21(水) 02:06:36ID:HdVhffia// 現在の時刻
echo "10秒後に答えを表示→";
// 10 秒間遅延させる
sleep(10);
// 再開!
echo "答え●●●";
?>
上記だと、ブラウザを開いてから10秒後に同時に「10秒後に答えを表示→答え●●●」と表示されますが、
これをブラウザが開いた時に「10秒後に答えを表示→」その10秒後に「答え●●●」が加わって「10秒後に答えを表示→答え●●●」
と表示するようにするには、どのようにしたらよいでしょうか?
0030nobodyさん
2010/04/21(水) 03:27:34ID:???PHPが考慮する必要がない。
シリアルATAとパラレルIDEのHDDアクセスでソースコードの変更はいらない。
0032nobodyさん
2010/04/21(水) 10:02:01ID:???そこのはWindowsで読み取りが出来ない古い版
http://code.google.com/p/php-serial/
>>28
クライアントサイドの話
JavaScript 非同期通信 でググる
0033nobodyさん
2010/04/21(水) 10:07:11ID:???しかしJscript切っている場合にはどうすればいいんだ
http://itpro.nikkeibp.co.jp/article/COLUMN/20070613/274683/
0034nobodyさん
2010/04/21(水) 10:09:35ID:???いやサーバーサイドでは?
<?php ?>の範囲内が一括で送信されるせいでは。
<?php ?>を複数にしてちょくちょく送信していけばHTMLを順次表示できそうだ。
0035nobodyさん
2010/04/21(水) 11:16:25ID:???for($i=0;$i<256;$i++){
echo " ";
}
// 現在の時刻
echo "10秒後に答えを表示→";
@ob_flush();
@flush();
// 10 秒間遅延させる
sleep(10);
// 再開!
echo "答え●●●";
0036nobodyさん
2010/04/21(水) 13:51:11ID:???javascriptで定期的にphp叩いた方がいい
0037nobodyさん
2010/04/21(水) 14:30:41ID:???そんなんで途中まで出ることを期待するのは本質的に誤りだと思うよ。
0038nobodyさん
2010/04/21(水) 14:41:42ID:???ブラウザ次第で動作変わるか。
0039nobodyさん
2010/04/21(水) 15:47:10ID:XUNO23gO0040nobodyさん
2010/04/21(水) 15:51:53ID:???だからJavaScriptでの非同期通信がでてくるんじゃん。
非表示状態で出力して、10秒後に表示する方法もあるけど、
HTMLソース見られたら答え見えちゃうので用途によってはアウト。
>>39
環境
0041nobodyさん
2010/04/21(水) 15:53:37ID:???0042nobodyさん
2010/04/21(水) 16:40:51ID:XUNO23gOCeentOS5.3
PHP:5.1.6
crontabを使ったりという事は権限上出来ません。
初心者なもので他に必要な情報あれば言っていただければ出します。
0043nobodyさん
2010/04/21(水) 17:15:35ID:???0044sage
2010/04/21(水) 17:17:57ID:???0045nobodyさん
2010/04/21(水) 17:20:48ID:???前実行した時間記録しといて何分以上経過してたらとか。
0046nobodyさん
2010/04/21(水) 17:21:25ID:???0047nobodyさん
2010/04/21(水) 17:22:20ID:???0048nobodyさん
2010/04/21(水) 17:42:11ID:???crontabは、一般ユーザ権限で使えるはずだが…
でもまあ使えないとして、
その処理を呼び出すURLを別PC(自分のPC)から呼び出す。
(別PCで定期実行プログラムを動かしておく)
0049nobodyさん
2010/04/21(水) 18:52:23ID:???cron使えないのか。
使えたら対応できるってことはCLIとして使おうとしてるんだよね。
Cとかで適当に書いてphp動かすほうが素直かもね。
0050nobodyさん
2010/04/21(水) 19:42:17ID:???cron使えないってのはレンタルサーバだから?
デーモン動かしておいてそいつがcronの役目してくれるってのがいいと思うけど、
レンタルサーバだと結局killされるから環境が知りたい
0051nobodyさん
2010/04/21(水) 23:43:46ID:???0052nobodyさん
2010/04/22(木) 00:01:08ID:6dwFVjdnereg_replace("$","",$test)
$を\$とかにしてみてもダメでした。何か指定方法が違ってますでしょうか?
0055nobodyさん
2010/04/22(木) 02:13:13ID:???0056nobodyさん
2010/04/22(木) 13:10:54ID:T+M4wIvSさすがに直編集は怖いのでincludeとかしてinclude先のファイルをいじるようにしたいと思ってます。
cronの設定ファイルに外部のファイルをincludeしたりする事は出来ますか?
0058nobodyさん
2010/04/22(木) 13:26:35ID:???0060nobodyさん
2010/04/22(木) 15:07:33ID:???その結果>>57>>59とPHPスレ住人が申し訳ない気持ちになってしまっている。
0061nobodyさん
2010/04/22(木) 18:15:35ID:4sRjBenvIP制限は広範囲にあるので不可です。
UAも無理でした。
gethostbyaddrも帰って来ません。
phpで弾きたいのですが何か良い方法はないでしょうか?
弾きたい理由はミラーサイトのように見えるからです。
参考プロクシ sayno2filter
ttp://www.google.com/search?hl=ja&q=+site:sayno2filter.appspot.com+sayno2filter.appspot.com
価格.comモバイルもなんだか気持ち悪いです。
0062nobodyさん
2010/04/22(木) 18:40:46ID:Ret1+4zTheader('Location: ./index.php#test');
exit;
と記述しております。
index.php内には
<a id="test" name="test">○○○○○</a>
と言う箇所があり、PCからアクセスすると、正常にページ内リンクの箇所へリダイレクトされます。
が、docomoからアクセスすると、ロケーション先の#以降が切り取られてしまいます。
飛んだ先のURLを表示すると
http://example.com/index.php
と表示されており、綺麗に#以降だけなくなります。
<a href="./index.php#test">リンク</a>
だと問題なく飛ばすことが出来ます。
docomoの場合、headerのロケーションでページ内リンクを指定して飛ばすのは無理なのでしょうか?
掲示板書き込み後に、自分の書いた記事(ページの一番下)を表示させたいのですが…
0064nobodyさん
2010/04/22(木) 19:01:46ID:???0066nobodyさん
2010/04/23(金) 00:03:06ID:QeXW5bBgphpでプログラム動かしていたら以下のエラーが出ました。
PHP Fatal error: Class 'DOMDocument' not found in /usr/lib/php/Zend/Service/Amazon.php on line 128
調べたらこれはphp-xmlがないことが原因だそうで、yum install php-xml しないといけないようです
(ttp://www.4web8.com/216.html)
が、上記コマンドを実行したらそこでもエラーが出ます。
--> Finished Dependency Resolution
php-xml-5.1.6-24.el5_4.5.i386 from updates has depsolving problems
--> Missing Dependency: php-common = 5.1.6-24.el5_4.5 is needed by package php-xml-5.1.6-24.el5_4.5.i386 (updates)
Error: Missing Dependency: php-common = 5.1.6-24.el5_4.5 is needed by package php-xml-5.1.6-24.el5_4.5.i386 (updates)
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.
これはどうしたら良いんでしょうか? どういうことでしょう?
もしかしたらlinux板で聞く問題なのかと思いましたがPHPの話題なのでここでお願いしました。
自分はphpのプログラムは書きますが(趣味程度で)linuxの構成などはわかりません。
すみませんが、どういう状況なのかと対策を意見貰えると嬉しいです。よろしくお願いします。
0067nobodyさん
2010/04/23(金) 00:11:23ID:PsFOuB9xhttp://kajuhome.com/index_05.shtml
006866
2010/04/23(金) 01:00:29ID:???ありがとう。
あー、すみません。いろいろググって調べたら解決しました。
ttp://eru-net.jp/web/?itemid=356 を参考にしたんですが、
結果的にうまくいったものの自分が何をしたのか全然わかってません。
プログラマってlinuxの機能やファイルの働きを熟知してるんですか?
こんなの覚えられるの?って感じです
みなさん、本読んだ程度で実務レベルの知識身に付きましたか?
今回の僕みたいに他人のサイト参考にして、でも中身の理解はイマイチって
「ありがち」なことなんでしょうか…
変なこと聞いてすみません、なんか気が滅入ってます
006961
2010/04/23(金) 01:27:57ID:???解決しました。
GoogleAppEngineからは必ずAppEngine-GoogleとUAに付くそうです。
偽装出来るとばかり思ってました。
しかし、こんなのもこれからgoogleお墨付きで公然とどんどん増えていくのでしょうか。。
ttp://q.hatena.ne.jp/1249449506
0070nobodyさん
2010/04/23(金) 01:31:11ID:???最近は仮想化が楽なんだからいろいろやって壊して勉強するのもいいと思うよ
0073nobodyさん
2010/04/23(金) 08:00:07ID:???串経由してでもお前の記事が読みたい人がいるんだろ、実害が出てるわけでもないのにアクセス拒否するのか
007462
2010/04/23(金) 10:09:01ID:voMFNEl/やっぱdocomoの仕様なのですね…
諦めます。。
0075nobodyさん
2010/04/23(金) 10:11:47ID:7DtYSEYe$yesterday = date(("Y-m-d"),strtotime("-1 day"));
echo strtotime($yesterday);
これ以外で簡単な書き方はないでしょうか?
0076nobodyさん
2010/04/23(金) 10:40:44ID:???echo time() - 3600*24;
0時のだったら
echo mktime(0, 0, 0, date("n"), date("j")-1, date("Y"));
0078nobodyさん
2010/04/23(金) 15:23:15ID:???007961
2010/04/23(金) 18:03:50ID:???私的には実害はおそらくありませんが>>69のリンク先にあるように、ミラーに見せかけアマゾンのidを変える人もいるので困る人もいるかと思う。
他の串ならipやらでなんとかなりそうですが、googleの無料サーバのipは無数にあり可変なので少し戸惑いました。
PHPとは関係なくなったので終わりにします。
008062
2010/04/23(金) 18:35:15ID:voMFNEl/function example () {
setcookieとか
}
example();
関数内の処理が正常に実行できた、できない、で特に影響を受けないようなものです。
使わないにしても、真偽値くらいは返したほうがよいでしょうか?
0081nobodyさん
2010/04/23(金) 18:44:40ID:???008280
2010/04/23(金) 18:49:00ID:voMFNEl/エラー処理は必要ありません。
ただ、実行して返り値の無いのが少し気持ち悪いような気がして。
関数の場合はいいのですが、クラスのメソッドだと特に…
0083nobodyさん
2010/04/23(金) 18:59:57ID:???メソッド内で解決できるならvoidでいいんじゃね
008480
2010/04/23(金) 19:03:31ID:voMFNEl/static private function test() {
self::$comment = str_replace("\t", '', self::$comment);
}
self::$test();
のようなものです。
その一言を聞いて安心しました。
ありがとうございます。
008580
2010/04/23(金) 19:06:11ID:voMFNEl/じゃなくて
self::test();
0086nobodyさん
2010/04/23(金) 20:03:37ID:???(mb_convert_encoding($sbj,"JIS","SHIFT_JIS"))が悪いのでしょうか?
ド素人の質問で申し訳ないのですが、よろしくおねがいします。
0087nobodyさん
2010/04/23(金) 20:09:37ID:???0088nobodyさん
2010/04/23(金) 20:16:01ID:???元にしたPHPは問題ないのに、コピーしただけで文字化けするんですよね。
とりあえずググッてみます。
ありがとうございます。
0089nobodyさん
2010/04/23(金) 20:25:46ID:???php.iniの内容とか
0090nobodyさん
2010/04/24(土) 09:15:02ID:y1kxa+it【PHPのバージョン】5
【連携ソフトウェア】MySQL
【質問内容】
掲示板のPHPスクリプトを作ったのですが、英語のスパム投稿が増えて来たので、
次の様に日本語(ひらがな)以外の文字だけで書き込まれると
エラーを出して書き込めない様にしました。
$content = htmlspecialchars($_POST["content"]);
if(!mb_ereg('[あ-ん]',$content)){
echo "ひらがなを含む様にしてください。";exit;
}
一応自分でも英語のみ投稿で確認してみてエラー表示を確認。
ところが、しばらく経ったある日掲示板を見てみると、また何故か英語だけで書き込まれている様です。
上の文おかしいのでしょうか?
一応スパムと同じ文章をコピペして書き込みしてみた所、エラーは出ているんですが…。
0091nobodyさん
2010/04/24(土) 09:50:50ID:???内部エンコーディングとスクリプトの文字コードが違ってない?
0092nobodyさん
2010/04/24(土) 09:50:50ID:???echo "Hello spam !";
exit;
}
英語だけなら
0093nobodyさん
2010/04/24(土) 10:35:17ID:???0094nobodyさん
2010/04/24(土) 10:44:13ID:GsQLjQv0これを配列型に変換したいんですが
(array)$hogeでキャスティングすると
すべての文字列がそのまんまキー[0]に格納されるんですけど
カンマ区切りごとにキーを作ることってできませんか
0095nobodyさん
2010/04/24(土) 10:57:42ID:M8KLPj0Zどうすればいいですか?
0096nobodyさん
2010/04/24(土) 11:23:13ID:???$arr = explode(",", $str);
print_r($arr);
$arr = array_flip($arr);
print_r($arr);
>>95
正規表現でマッチした結果をstrposで再チェックかな
0097nobodyさん
2010/04/24(土) 11:41:12ID:GsQLjQv0見事にできました。勉強になります。
ありがとうございました。
0098nobodyさん
2010/04/24(土) 15:10:54ID:???次のコードを実行したところ
�@では正常に値が取得出来るのですが�Aでは値が取得されません。
Pearを使用しデータ取得を行った場合には、
項目をインデックス番号で指定するしか無いのでしょうか?
※番号で指定すると見辛いので何とか取得項目の名称で指定したいです。
$sql = "SELECT TEST,NAME FROM TEST_TABLE";
$result = $db->query($sql);
while($row = $result->fetchRow())
{
print( "取得した本文:".$row[0]); // ←�@
print( "取得した本文:".$row['TEST']); // ←�A
}
0099nobodyさん
2010/04/24(土) 15:14:26ID:???fetchRow(DB_FETCHMODE_ASSOC);
とりあえず
DB_FETCHMODE_ASSOC
で検索してみてくれ
0101nobodyさん
2010/04/24(土) 15:18:36ID:4j2vSUEE【PHPのバージョン】5.3.1
【連携ソフトウェア】XAMPP for Windows 1.7.3
【質問内容】
セッションの有効期限についての質問です
セッションを一定時間後にサーバーから破棄したいと思います
以下のように記述し、ブラウザからファイルを閲覧しているのですが
1秒以上経ってページを更新しても、数値が「1」に戻らずカウントアップされていきます
期待通りの動作をさせるにはどうすれば良いのでしょうか
<?php
ini_set('session.gc_probability', 1);
ini_set('session.gc_divisor', 1);
ini_set('session.gc_maxlifetime', 1);
session_start();
if(!$_SESSION['hogehoge']){$_SESSION['hogehoge'] = 1;}
else{$_SESSION['hogehoge']++;}
$hogehoge = $_SESSION['hogehoge'];
session_write_close();
header('Mime-Version: 1.0');
header('Content-Type: text/plain; charset=UTF-8');
echo $hogehoge;
?>
0102nobodyさん
2010/04/24(土) 15:53:59ID:???同じくWindowsでちょっと試してみた
原因はわからんが、アクセス元のセッションはGC対象にならない模様
2つのブラウザで試すと確認できると思う。
あとでubuntuでも試してみるわ
0104101
2010/04/24(土) 18:30:08ID:4j2vSUEEセッションファイルの更新日時を取得し、unlink()で削除することで一応解決しました
0105nobodyさん
2010/04/24(土) 20:34:30ID:???SQL インジェクション対策として下手にエスケープシーケンスなんかを
やる位ならPearを使用しプレースホルダー経由でDBにアクセスをする様にした方が
簡単で安全なのでしょうか?
また、Pearフレームワークの驚きの機能、便利な機能等があればお教え下さい。
0106nobodyさん
2010/04/25(日) 00:11:45ID:???メソッドの命名規則が小文字スタートのキャメルケースになってますが、PHPのビルトインは全部小文字のハイフン繋ぎですよね
これってどうなんでしょう?
0107nobodyさん
2010/04/25(日) 00:14:29ID:3mxj5rK2どうすれば良いですか?
$str = str_replace("#", "", $str);
これだと出来ませんが
0108nobodyさん
2010/04/25(日) 00:21:02ID:3mxj5rK2html#だと出来きなかったんですが出来ないと思い込んだのですが
単体だと出来ました
なんでだ?
0109nobodyさん
2010/04/25(日) 05:46:41ID:???他人のサイトからパクって覚えるの繰り返しだと思う
時間が経つにつれて一通りできるようになったら中の動きとか気になるようになって
専門的知識を深めていくって感じだと思います。
あと、Linuxは基本かと。パッケージ管理ソフトウェアが動かせて
ミドルウェアのインストール、設定ができれば最初はいいんじゃないのかな。
0110nobodyさん
2010/04/25(日) 09:50:18ID:NKSzzhov設定をひとつにまとめることで色々と便利なのですが、階層が違うと読めないので
なにか回避方法か参照の仕方はこうしたほうがいいというのがあれば教えていただけないでしょうか。
0111nobodyさん
2010/04/25(日) 10:05:41ID:???0112sage
2010/04/25(日) 10:45:54ID:???<?
$test = "hoge";
include('inc2.php');
?>
inc2.php
<? $test2 = "pgr"; ?>
のときに
text.php
<? include('inc1.php'); ?>
ならOKだけど
/hoge/text.php
<? include('../inc1.php'); ?>
だとinc2.phpが読めないってことだよな?
0113nobodyさん
2010/04/25(日) 11:11:21ID:???include_once realpath(dirname(__FILE__)).'/../includeFile.php';
と相対パスを作るか。
0114nobodyさん
2010/04/25(日) 15:21:31ID:W8wPumEzrealpath("./") = dirname(__FILE__)って認識なんだけど
0115nobodyさん
2010/04/26(月) 16:17:33ID:???./sample.php
./inc/example.php
sample.phpからexample.phpを読んだ場合、
realpath("./");
ってやっても、sample.phpの置いてある階層しか取れないよ。
incの階層を取るには
dirname(__FILE__)
の方。
よって
realpath("./") = dirname(__FILE__)
ではない。
>>113
realpathはいらなくないか?
includeファイル内でdirname(__FILE__) . '/../includeFile.php';
だけでいける。
0116nobodyさん
2010/04/26(月) 20:53:06ID:X/+ZZ3QPif(判断){
処理
}elseif(判断){
処理
}
ってのがあるんだけどelseって必須ではないってこと?
0117nobodyさん
2010/04/26(月) 20:57:54ID:???それと同じでしょ。
0118nobodyさん
2010/04/26(月) 21:10:26ID:X/+ZZ3QPこんな初歩的な事に気づかないなんて・・・。
疲れてんのか・・・
0119nobodyさん
2010/04/26(月) 21:34:28ID:???elseは書いておくほうがいいよ。
予想外のifを、すりぬける場合が
あるから。
0120nobodyさん
2010/04/26(月) 22:07:47ID:98kXUi+iのように分割すると
$a[1] => ''
空文字が返ります。
何故でしょうか。。
0121nobodyさん
2010/04/26(月) 23:23:32ID:???0122nobodyさん
2010/04/26(月) 23:34:47ID:???splitは正規表現を使うから
$a = split("\.", "35.11.22.56");
でも
explode(".", "35.11.22.56");
の方が良いかな
0123120
2010/04/27(火) 00:47:39ID:4fGmvH5J>>122
ありがとうございます。なるほど、そういうことでしたか。
区切りが"."だと全ての文字が区切り文字になってしってしまってたのか
0124nobodyさん
2010/04/27(火) 03:59:06ID:???記載内容のテーブルのいちばん外側の枠は表示されるんですが
trやtdの枠が表示されず困っています。
現在は下記のような内容です。
どこがいけないのでしょうか、教えて頂ければとても助かります。
<form action="<? echo $script; ?>" method="POST" >
<table border="1" cellspacing="20" cellpadding="5" width="538">
<? echo $err_message; ?>
<?php
foreach($_POST as $key=>$var) {
$key = strtr($key, $string_from, $string_to);
if(get_magic_quotes_gpc()) $var = stripslashes($var);
$var = htmlspecialchars($var);
print("<tr><td width=\"140\">".$key."</td><td>".$var."</td></tr>");
?>
<input type="hidden" name="<?= $key ?>" value="<?= $var ?>" />
<?php
print("\n");
}
?>
</table>
0127nobodyさん
2010/04/27(火) 08:44:26ID:???PearライブラリのHTTP::redirectという関数を見つけましたが、自分の環境にはPearをインストール出来ません。
生でやろうとすると、headerを設定する方法があるようですが、
この方法だと既にheaderが設定されてるページではエラーが出てしまいリダイレクトできませんでした。
何か良い方法は無いでしょうか?
0128nobodyさん
2010/04/27(火) 08:53:10ID:???0129sage
2010/04/27(火) 09:18:59ID:???0130nobodyさん
2010/04/27(火) 11:07:39ID:Id0HIA1n【PHPのバージョン】4.4.8
【質問内容】fgetsで任意の数行(連続した行でない)を読みたいのですが、
一行単位で配列に入れたり、for()で一行毎に上から数えて読んでいく以外に
エクセレントな方法はありますか?
1000行のtextから、5,6,10,800行だけを読むような感じです。
宜しくお願いします。
0131nobodyさん
2010/04/27(火) 11:30:46ID:???各行の長さが固定なら(行番号×行の長さ)の位置までシークできるけど、
そうでなければ、一行ずつ抜いてカウントしていくしかないかな
0132sage
2010/04/27(火) 11:42:26ID:???$test[5]
$test[6]
$test[10]
$test[800]
でいいんじゃないかな
0134nobodyさん
2010/04/27(火) 11:53:19ID:???【PHPのバージョン】5.2
UTF-8(BOMつき)のHTMLを読み込み、加工して出力を行っているのですが
どうやらBOMもしっかり文字として読み込んでしまっているようで、SJISなどに変換して出力した際'?'に化けてしまいます。
ファイルからテキストを読み込んだが時に、自動的にBOMを削除してくれる機能はないのでしょうか?
ざっとUTF-8 BOM PHP で探しまわったところ、先頭3バイトを調査してsubstrで削除しているところばかりだったのですが…。
(つまり無さそう?)
0135134
2010/04/27(火) 11:54:14ID:QEbg26q10136nobodyさん
2010/04/27(火) 13:14:55ID:???http://jp.php.net/manual/ja/function.mb-substitute-character.php
0137nobodyさん
2010/04/27(火) 15:33:48ID:Y8r8JnMJどうすると良いでしょうか?
0139nobodyさん
2010/04/27(火) 16:08:46ID:???0140nobodyさん
2010/04/27(火) 16:11:01ID:???01411/2
2010/04/27(火) 16:52:34ID:???【Webページ接続OS】Windows7、vista、XP
【phpバージョン】5.2
phpのセッション管理に関する質問です
ログイン管理にセッションを用いていて、認証フォーム→ログイン処理→ログイン後トップページという風に処理しています。
認証フォームで入力したIDとパスワードを、ログイン処理ページで処理してセッション変数を格納し、トップページへと繋げて、以降セッション変数で管理しているのですが、ログイン処理の時点でセッション変数に値が格納出来ていません。
もう一つ別のページでもセッション変数の格納を行っているのですが、そちらは特に問題なく動作しています。
そしてもう一つ、これらの問題はWindowsVISTA、XPのPCで接続した場合に発生し、7で接続した場合は発生しておりません。
まず、問題が発見されたほうのソースコードです。
<?php
$old_session_name=session_name('kaiin');
session_start();
//mysql接続クラス呼び出し
require_once "../php/dbh.php";
$dbh=new db();
$con=$dbh->db_connect();
if(!$result=mysql_query("select ~~~~~~ ")){
header("Location:http://");
}
01432/2
2010/04/27(火) 17:00:40ID:???$ent=hash_hmac(sha256,$_POST[post],2channel);
if($row[]===$_2ch){
$_SESSION[]='';
$_SESSION[]="$row[]";
$_SESSION[]="$row[]";
header("Location:http://");
}else{
header("Location:http://");
}
mysql_close($con);
?>
次に、問題が出なかった方のソースコードです
<?php
$old_session_name=session_name("php_exam");
session_start();
foreach($_POST as $key => $value){
$_SESSION[$key]=$value;
}
print <<< EOD
以下HTMLが続く
EOD;
?>
何故接続するPCの違い、ページの違いによって問題が発生するのかまるで分かりません。
ブラウザはIE、火狐、クロームを試しましたがどれも同じ結果でした。
ご教授お願い致します。
0144>>141
2010/04/27(火) 17:01:52ID:Yj0vX1vG0145nobodyさん
2010/04/27(火) 17:07:26ID:???if($row[]===$_2ch){
これは何してるかわかる?
$row[]なので、$row配列の最後尾に追加される。
たとえば、
$row[0],$row[1]
がある状態で$row[]とやると、$row[2]になる。
ので
$row[]===$_2ch
というのは
$_2chが「値無し」じゃないと当てはまらないはず。
結果的に$_SESSION[]="$row[]";
にはいらず、elseのほうに入ってしまっている。
0146>>141
2010/04/27(火) 17:11:36ID:???失礼しました、説明が足りませんでしたね
$_SESSION[]はや$row[]は2chに書く用に中の連想文字を消したもので、実際には
$_SESSION[2ch]や$row[2ch]のように、中に連想文字が入っている状態です。
分かりにくくて申し訳ないです;;
0148>>141
2010/04/27(火) 17:22:18ID:Yj0vX1vG確かにそうですね。特定されないようにするにも限度がありました。
ちょっと数点間違えがありましたので、修正して書き直します
<?php
$old_session_name=session_name('kaiin');
session_start();
//mysql接続クラス呼び出し
require_once "../php/dbh.php";
$dbh=new db();
$con=$dbh->db_connect();
if(!$result=mysql_query("select 会員情報を取ってくるSQL文 ")){
header("Location:http://エラーページへ");
}
$row=mysql_fetch_array($result,MYSQL_ASSOC);
$_2ch=hash_hmac(sha256,$_POST[post],2channel);//フォームに入力されたパスワードをハッシュ化
if($row[_2ch]===$_2ch){ //mysqlにあるハッシュ化されたパスワードと照合
$_SESSION[id]='id';
$_SESSION[id2]="$row[id2]";
$_SESSION[id3]="$row[id3]";
header("Location:http://会員ページへ");
}else{
header("Location:http://エラーページへ");
}
mysql_close($con);
?>
0149nobodyさん
2010/04/27(火) 17:24:33ID:???var_dumpでもしてみれば
0150nobodyさん
2010/04/27(火) 17:25:24ID:???通常なんのブラウザを使おうがPHPの動作には影響しない。
ブラウザで動作が変わると言うことは、既にセッションを噛んでいるか、ブラウザの設定による問題かと思う。
いったん、検証に使ったブラウザを再起動して、セキュリティレベルを合わせる。
で、その後に
if($row[]===$_2ch){
の中に入っているか確認する。
入ってるのなら
header("Location:http://");
の直前で
var_dump($_SESSION);
exit;
値がきちんと格納されているか確認。
次にheaderで飛ばした先で
var_dump($_SESSION);
で、先ほどと中身が同じか確認。
セッションを発行させるのは
www.example.com
headerで飛ばした先は
sub.example.com
など、飛ばす先のドメインが違ったりすると、同じサーバーでもサードパーティ製のクッキーということで、セッションを引き継げないことがある。
IEのセキュリティレベルが高いときとか。
提示された条件ではこれくらいしか言えない。
0151134
2010/04/27(火) 18:02:57ID:QEbg26q1レスありがとうございます。
その機能を使い、認識できない文字を"none"にし消してしまうのは、解決の1手段ではあると思います。
ただ、他の認識できない文字も消えてしまうという副作用も持っているため、なるべくなら
読み込み時にBOMが消えるようなやり方をとりたいと考えています。
0152nobodyさん
2010/04/27(火) 18:17:38ID:???0153nobodyさん
2010/04/27(火) 18:26:42ID:???$file = @fopen($filename, $mode);
$bom = fread($file, 3);
if ($bom != b"\xEF\xBB\xBF")
rewind($file, 0);
return $file;
}
全部読み込んで先頭みて消した方が早いかなぁ。
0154nobodyさん
2010/04/27(火) 19:29:17ID:???最近PHPの未来が心配になってきました
0156nobodyさん
2010/04/27(火) 19:58:11ID:???0157nobodyさん
2010/04/27(火) 22:14:35ID:VBIE6D7r【コード】
<?php
$xml = "http://gdata.youtube.com/feeds/videos/sflAm00WGko/related";
$data = simplexml_load_file($xml);
foreach($data as $data) {
echo $data->title."<br>";
echo $data->link->attributes()->href[0]."<br><br>";
}
【質問内容】
上記のコードを実行すると内容の表示はされるんですが、
以下のエラーメッセージが出てきてどうしても消せません。
Warning: main() [function.main]: Node no longer exists in C:\xampplite\htdocs\test\test.php on line 7
ググって出てきた情報だと、シリアライズすればいいとかJSONエンコードすればいいとか
そのくらいのものしかなくて、いちおう一通りやってみたんですが、どうしてもダメです。
どうすれば解決できるのでしょうか。よろしくお願いします
0158nobodyさん
2010/04/27(火) 22:26:35ID:???0159nobodyさん
2010/04/27(火) 22:48:35ID:???$src = file_get_contents("http://gdata.youtube.com/feeds/videos/sflAm00WGko/related");
preg_match_all("#<title.*?>(.*?)</title>#", $src, $matchs);
preg_match_all("#<a.*?(http://www.youtube.com/watch.*?)\'#", $src, $matchs2);
echo "<h1>{$matchs[1][0]}</h1>";
for ($i = 0; $i < count($matchs2[1]); $i++) {
echo $matchs[1][$i+1] . '<br><a href="' . $matchs2[1][$i] . '">' . $matchs2[1][$i] . '</a><br><br>';
}
0160nobodyさん
2010/04/27(火) 22:51:20ID:???0161nobodyさん
2010/04/27(火) 22:53:20ID:???0162sage
2010/04/27(火) 23:07:30ID:???0163nobodyさん
2010/04/27(火) 23:08:34ID:???それはさておき
foreach ($data->entry as $data)にすればおk
0164nobodyさん
2010/04/27(火) 23:13:28ID:???おまけに忘れた頃にスクリプトを弄ろうとすると見通しが悪くて萎える
0165nobodyさん
2010/04/27(火) 23:16:38ID:???0166nobodyさん
2010/04/27(火) 23:22:01ID:???あと、データがnullだと/>とかにならなかったっけ?
0168nobodyさん
2010/04/27(火) 23:40:47ID:???動けばおk
自分で使う用の適当スクリプトでしょこれ?
フィードが変わればどうせ書き直さないといけないし
そのつどあったものを動くように書けばおk
0170nobodyさん
2010/04/27(火) 23:42:46ID:???0174nobodyさん
2010/04/27(火) 23:58:57ID:???0175nobodyさん
2010/04/27(火) 23:59:55ID:VBIE6D7r無事に解決できました。
いろいろと勉強になりました。
どうもありがとうございました。
0176nobodyさん
2010/04/28(水) 08:53:04ID:???0177>>141
2010/04/28(水) 11:29:15ID:ucXE3i6fそれは合っていましたね
>>150
その方法で試してみましたが、認証ページでは格納されていて、会員ページのトップでは格納されていませんでした
データの持ち越しに難があるようです。
それと、今日朝一番にログインしてみたところ、問題なく処理が完了していたので、ログアウト処理かと思い、以下のコードに修正しました
<?php
$_SESSION=array();
if(isset($_COOKIE[session_name()])){
setcookie(session_name(),'',time()-42000,'/');
}
session_destroy();
$old_session_name=session_name('kaiin');
session_start();
require_once "../php/dbh.php";
$dbh=new db();
$con=$dbh->db_connect();
if(!$result=mysql_query("select 会員情報を取ってくるSQL文 ")){
header("Location:http://エラーページへ");
}
$row=mysql_fetch_array($result,MYSQL_ASSOC);
$_2ch=hash_hmac(sha256,$_POST[post],2channel);//フォームに入力されたパスワードをハッシュ化
if($row[_2ch]===$_2ch){ //mysqlにあるハッシュ化されたパスワードと照合
$_SESSION[id]='id';
$_SESSION[id2]="$row[id2]";
$_SESSION[id3]="$row[id3]";
header("Location:http://会員ページへ");
}else{
header("Location:http://エラーページへ");
}
mysql_close($con);
0178>>141
2010/04/28(水) 11:31:10ID:ucXE3i6fブラウザの再起動も試しましたが、効果がないようでした。
ブラウザ、セキュリティの設定は、問題がないOS、問題があるOS間で共通にしています。
0179nobodyさん
2010/04/28(水) 12:49:46ID:???session_start();
今は知らないが前は思ったように処理されていなかった気がする
session_name使わなければ上手く行くのでは
0180nobodyさん
2010/04/28(水) 15:46:30ID:???これに代わる関数としては何が使われているのですか?
preg_matchしか無いですかね
0181nobodyさん
2010/04/28(水) 16:05:09ID:+yWQl9Xvマニュアル読む限りはそうぽい
あとは正規表現使わないで指定できるならstr系の方が断然はやい(と思う)
質問
webサーバ(IIS)とmailサーバ(PostOffice)が別サーバでたててある場合
PHPからmail()関数でメール送信可能でしょうか?
用件:http://jp2.php.net/manual/ja/mail.requirements.php
を見る限り
"PHP は sendmail を探す際にまず PATH を見ます。次に /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib の順で探します。"
なのでダメかと思うのですがなんかTipsがあれば教えてください
0183nobodyさん
2010/04/28(水) 16:15:24ID:???0184181
2010/04/28(水) 16:15:41ID:+yWQl9Xvありがとう、試してみますー
0185nobodyさん
2010/04/28(水) 16:57:57ID:JYOFOpwX質問です、ようやくPHPの文法や
関数を一通り覚えたんで、次へいきたいなと思ってます。
そこで開発環境なんですが、みなさんお勧めのものってありますか?
一応eclipse pdt入れてみたんですがいーのか悪いのかよくわからないので・・。
(機能を使いこなしてないだけかもしれませんが)
あと本とかでよく出てくるテンプレートエンジンなんですけど
実際、smartyって現場では使われてるんでしょうか。
覚えるべきなのか、どーなのか微妙な気するんですけど。
0186nobodyさん
2010/04/28(水) 17:10:56ID:???eclipseでもいいとおもうし、好みのエディタがあるならそれでもいいと思う。
smartyは少なくともうちでは現場でも良く使ってる。
0187181
2010/04/28(水) 17:23:34ID:+yWQl9Xvこのあいだ、BEARっていうのの勉強会いった
ちょっと楽しそう。PEARの拡張だって
0188nobodyさん
2010/04/28(水) 18:17:17ID:BWf7HQei将来的に削除される事が決まってるとかならちょっと書き直そうかな〜と思うけど、速度を求めてるスクリプトでもないしな〜。
0189nobodyさん
2010/04/28(水) 18:36:47ID:???入力チェックには使えんみたいな
0190nobodyさん
2010/04/28(水) 18:39:53ID:JYOFOpwX>>186
smartyやっぱけっこう一般的なんですね。
覚えときます_‘@‘_。
エディターは好みでいいと思うんですけど実際
仕事なんかだとおっきな開発するのにどーいう
環境でやってるんだろうと興味をもちまして。
本とか見てるといくつか開発環境のってるんですけど
実際、本に書いてある事例と現場だと違うことって多いって聞くので
どれが無難なのか知りたいです。
>>187
Codaって確かマック用ですよね?
Eclipseは使ってみてちと重たいような気がするんで・・
開発に使われてるので主流なのってどれなんだろ・・。
0191sage
2010/04/28(水) 22:04:09ID:???0192nobodyさん
2010/04/28(水) 22:10:18ID:U+YOGOTr0193ど素人で恐縮です
2010/04/28(水) 23:09:11ID:dD5SuLVEテキストや画像を一部変更したいのですが、変更するとサーバーにあがりません
どうやったら上がるようになるんでしょう?
外注さんには結構なお金を既に払い込んでいて、少しの変更も数十万単位の見積りで泣きそうです
まだ営業もしてないのに・・
外注さんは比較的良心的なので、なぜ上がらないのか?は教えてくれました
曰く「サーバーの権限よりアプリの権限が上だから・・」と
サーバーに上げるのはほんのすこ〜しだけ分かってる奴がFFFTPとかいうソフトで上げてるのですが
私がど素人なりに必死にググって「パーミッションの設定とか関係ない?」と聞いても
「パーミッションはサーバーに合わせてあるから問題ない」とのことでした
一応、所有権も著作権も全てコチラ側にあるんですが、小変更もままならない状態で参ってます orz
かといってプログラマーさんに払えるようなお金はないし・・
ど素人とはいえ、非常識な質問でしたらすいません
よろしくお願いします
0194nobodyさん
2010/04/28(水) 23:20:37ID:???0195nobodyさん
2010/04/28(水) 23:21:10ID:???FFFTPエラーとかでてるってこと?
でてるならエラーの種類とか書いたらわかるかもよ。
0196sage
2010/04/28(水) 23:27:59ID:???状況がいまいちよくわからんが、エラーが出てるならそれを貼ればわかるかも。
アプリとかと関係ない勝手に作ったテキストファイルすらあげられないとかじゃないとは思うけど。
というかアプリ作ってもらったんなら仕様書とかないのかな?
0197nobodyさん
2010/04/28(水) 23:28:47ID:???サーバーにアップロードできないのに権限が上も下もないだろ
0198sage
2010/04/28(水) 23:32:50ID:???どういうことだ?
0199nobodyさん
2010/04/28(水) 23:33:54ID:???アプリケーションの設置サポートが別料金としても
普通設置方法ぐらいのマニュアルは手渡すわ
0200nobodyさん
2010/04/28(水) 23:34:12ID:???0201nobodyさん
2010/04/28(水) 23:34:26ID:???アップロードソフトのこと言ってんじゃね。
0202ど素人で恐縮です
2010/04/28(水) 23:39:12ID:dD5SuLVE>>194 いやもう何十回もソレを繰り返してまして・・まぢ営業前にツブレそうなんです orz
>>195-196
エラーコードは「550」だそうです
何か分かりますでしょうか?
自分でもググったんですが、さっぱりで・・
>>197
釣りではないんですが、変な質問ですいません
>>198
はい
二人揃って首をヒネってるところですが
「これ以上は自分たちでやってください!」ってことかと
0203nobodyさん
2010/04/28(水) 23:42:02ID:???そのFFFTP再起動してみたら
0205ど素人で恐縮です
2010/04/28(水) 23:46:13ID:dD5SuLVE「サーバーに上げるのもコッチでやります」とは言われたんですが、
営業上の問題もあるのでこちらでやらせてもらうようにしました
で、もう一人の奴が挑戦したらやっぱできなくて、電話で泣きを入れて教えてもらいました
「ほら〜」って言われたそうですが、なんとか上がるようにはなりました
>>200
あっ、ソレ!
そんな感じのことを言ってたような気もします
それってどーゆうことなんでしょう?
簡単に解決できるようなことですか?
>>201
作ってもらったのはWebアプリのはずです いやWebアプリです
アップローダーはフリーのFFFTPだと思います
0206nobodyさん
2010/04/28(水) 23:50:50ID:???無料サポートしてもらいたいんならこっちのスレでやってくれ
http://pc11.2ch.net/test/read.cgi/php/1257701535/
0207nobodyさん
2010/04/28(水) 23:52:39ID:???0208ど素人で恐縮です
2010/04/28(水) 23:54:19ID:dD5SuLVEパーミッションは
705
705
707
だったと思います
>>204
それってアップローダですか?
今使ってるのと比べて何か利点があるのでしょうか?
あと、「ウェブアプリと同じ権限で」ってところをもう少し教えてもらえないでしょうか?
私もしつこいくらいパーミッションの設定を変えてみろと言ったんですが、
もう一人の奴には「合わせてある」と言われるばっかりだったので・・
0209nobodyさん
2010/04/28(水) 23:55:26ID:???0210ど素人で恐縮です
2010/04/28(水) 23:58:08ID:dD5SuLVE失礼しました
そちらで聞いてみます
>>207
そうですね
気をつけます
図々しくて申し訳ないんですが、何が問題かだけでもよかったら教えてください
みなさん、スレ汚し失礼しました
レスをくれた方々、ありがとうございました
0212nobodyさん
2010/04/28(水) 23:59:20ID:dD5SuLVE教えていただいてありがとうございます
アップローダ = FTPクライアント だと思ってましたw
0213nobodyさん
2010/04/29(木) 00:01:26ID:dD5SuLVEほんとですか!!
まぢありがたいっす!
と、とりあえず、がんがって挑戦してみます!
0214sage
2010/04/29(木) 00:05:09ID:???0215nobodyさん
2010/04/29(木) 00:05:59ID:???0216nobodyさん
2010/04/29(木) 01:50:18ID:HrU0q6yy0217nobodyさん
2010/04/29(木) 09:56:42ID:nW8M9+c10219nobodyさん
2010/04/29(木) 12:21:56ID:???生で格納せずに暗号化して登録するのがセオリーですか?
確かにDBに不正アクセスとかされた場合に生のパスワードを保存しておくのは
危険だとは思いますが、
現在のMySQLの設定は、DB接続パスワードとして30桁も設定しています。
その為、先ずDBに不正侵入されることはないかと思っているのですが如何なものでしょうか?
0220nobodyさん
2010/04/29(木) 12:25:00ID:???0221sage
2010/04/29(木) 14:25:35ID:???0222nobodyさん
2010/04/29(木) 14:27:57ID:???自分で責任とれるんなら、何しようと貴方が決めればいい。
0223sage
2010/04/29(木) 14:28:28ID:???0224nobodyさん
2010/04/29(木) 14:35:04ID:???例えばあなたは、DBパスワードが分らないサーバの情報を引き抜けますか?
>>223
https で暗号化された通信を行っているので
パケットをキャプチャしても意味を成さない気がするのですが。
0225nobodyさん
2010/04/29(木) 14:38:26ID:???いろいろなサービースでパスワードを使い回してるユーザーはかなり多いから
漏れたら損害賠償ものだ
0226sage
2010/04/29(木) 14:45:11ID:???とりあえずお前の管理してるサーバーのお世話にはなりたくないわ。
ちょっとした手間を惜しんで暗号化しないとか・・・。
httpsだから安心?そんな糞みたいな考えなら管理者なんてやめちまえ。
パスワードかけてるからHDDを泥棒されても大丈夫とかマジで言い張りそうで怖いわ。
0227nobodyさん
2010/04/29(木) 14:47:29ID:k/DZBqhjいくらなんでも釣られすぎだろ
0229nobodyさん
2010/04/29(木) 16:45:08ID:???個人用ならそれで良いけど他人に開示したいデータだと無理だね。
0230nobodyさん
2010/04/29(木) 19:09:39ID:???最近readfileなる関数があることを知って驚いたのだけど
返り値の末尾に必ずバイト数がついてきやがる・・・
なんなのこの仕様
0231nobodyさん
2010/04/29(木) 19:13:35ID:???0232nobodyさん
2010/04/29(木) 19:21:18ID:???返り値はstringのはずだが
0235nobodyさん
2010/04/29(木) 19:34:23ID:???関数説明するときはjp.php.net/manual/*を使おうな
0236nobodyさん
2010/04/29(木) 19:46:22ID:???0241nobodyさん
2010/04/29(木) 22:01:22ID:???ttp://dspt.blog59.fc2.com/blog-entry-40.html
↑のをやりたいと思ってますが、
htmlの
<img src="../images/xxxx.jpg" alt="トップ" width="640" height="240" />
という画像をサイズ変更後の画像にしたいのですが、、
<!--#include virtual="/data/imagetrans/trans.php?file=xxxx.jpg"-->
と置き換えてもうまく表示されません。
どのようにすべきでなのでしょうか?
0244nobodyさん
2010/04/29(木) 23:23:03ID:???どうしても文字化けが発生してしまいます。
テーブルはsjisなのですがPDOではsjisは使えないのでしょうか?
0245nobodyさん
2010/04/29(木) 23:58:22ID:???0246nobodyさん
2010/04/30(金) 00:21:15ID:???頼みます。
PDO使うとなぜか 日本語 を登録すると文字化けしてしまいます。
この場合の文字化けは表示するときに文字化けするのでは無く、
テーブル内のデータをphpMyAdminで見た段階で既に文字化けしている状態です。
0247nobodyさん
2010/04/30(金) 00:24:12ID:???すみません
0249241
2010/04/30(金) 00:47:11ID:???PHP5だったからかなぁ
0251nobodyさん
2010/04/30(金) 06:55:14ID:???0252251
2010/04/30(金) 06:56:05ID:9AXZ66R60253251
2010/04/30(金) 06:58:03ID:9AXZ66R6〆
0254nobodyさん
2010/04/30(金) 10:10:05ID:4hLCVpzvtest.php と言うファイルにアクセスする場合、通常は
ttp://hoge/test.php
こんな感じになりますよね。
これを
ttp://hoge/test
でアクセスできるようにした(条件1)上で、.phpがついている場合はNotFoundになるようにしたい(条件2)のです。
条件1だけならば、ファイルの拡張子を消した上で、Apacheの設定で
<FilesMatch "^test$">
ForceType application/x-httpd-php
</FilesMatch>
としてやればよいと思います。
ただ、これだと編集の際の管理が面倒なのです。(拡張子が消えるため、編集ツールでPHPファイルだと認識させるのが面倒)
次に、Apacheのmod_rewiteで .phpなしへのアクセスをありへのアクセスに書き換える方法。
逆に.phpへのアクセスをなしへのアクセスに書き換えるようにもすれば、条件は達成できそうです。
一応双方解決方法ではあるのですが、もう少し手軽に設定する方法があったりしないでしょうか?
上記の「FilesMatch」の手法すら先日初めて知ったくらいなので、まだ色々機能があるような気がしまして…。
よろしくお願いします。
0255sage
2010/04/30(金) 10:13:09ID:???0257nobodyさん
2010/04/30(金) 10:32:36ID:???大人しくmod_rewite使ったほうが良いと思う。
0258nobodyさん
2010/04/30(金) 10:41:05ID:???print_r($_SERVER);
をして
ttp://hoge/test
にアクセスしたときと
ttp://hoge/test/index.php
にアクセスしたときの違いを見極める
違いがわかったら後者のアクセスの場合NOT FOUNDにheaderで飛ばす条件をindex.phpに書く
0259nobodyさん
2010/04/30(金) 12:30:06ID:tWWSerSVhttp://www19.atpages.jp/imagelinkget/get.php?t=v&u=www.experts-exchange.com/images/t10149/Eclipse-PHP-Encoding.JPG
http://www.ibm.com/developerworks/ibm/library/i-osource13/01_eclipse_php_perspective.jpg
0261254
2010/04/30(金) 16:22:29ID:4hLCVpzvRewriteRule ^([^\.]*)$ $1.php [QSA]
こんな感じで対応してみました。
とりあえずは望み通りに動くのですが
(hoge.phpへユーザーがアクセスしたのか、それともrewriteされてアクセスされたの見分け方は現在研究中です)
やはり
レンタルサーバーにmod_rewriteが入っているか不定なことと、そもそも高機能な代わりにあまり処理が速くないなんて記事も見られます。
もうちょっと単純に「拡張子を足す」機能はないものでしょうか?
0262nobodyさん
2010/04/30(金) 16:29:53ID:???と書いておけば常々phpとして認識してくれるエディタも。
0263nobodyさん
2010/04/30(金) 16:38:43ID:ni2JZS+f「%」も危ないんだっけ?
0264nobodyさん
2010/04/30(金) 17:11:54ID:???>(hoge.phpへユーザーがアクセスしたのか、それともrewriteされてアクセスされたの見分け方は現在研究中です)
if (strpos($_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_NAME']) !== false) die();
とか?
0265nobodyさん
2010/04/30(金) 17:25:53ID:???リクエストしてきたURLをきちんととるのは、本当にめんどくさい
0266nobodyさん
2010/04/30(金) 17:47:43ID:???【PHPのバージョン】5.2.13
【連携ソフトウェア】PHP
【質問内容】
レンタルサーバ(さくらインターネット)を借りてPHPを練習しているのですが、
構文エラーが起こった時、エラー内容が出ず、(真っ白)何行目で何を間違
ったか分からないので、エラーを探すのに毎回困っています。
どうやったら、構文エラーを出力してくれるか、教えてもらえないでしょうか?
0267nobodyさん
2010/04/30(金) 17:57:23ID:???開発はローカルとかテスト鯖とかVMとかでやろうな
0269nobodyさん
2010/04/30(金) 21:32:08ID:nYN/kH3+すごい基本的なことかもしれないけれど、質問です・・・
ユーザーがsubmitボタンを押してPHP側が処理をしている途中で、ユーザーが別のsubmitボタンだとか<a href>リンクをクリックしてしまった際の処理ってどうすればいいんでしょうか・・・
ユーザーがcsvを出力するボタンを押した後、処理途中で他の画面へのリンクボタンなど押すと、
「Internet Explorer ではこのページは表示できません」
と、処理落ちしてしまうことがあります。。。
長い間いろいろなページを行ったりきたりしていると、
何の変哲もないメインページから、レコード一覧を表示するphpファイルのページへ遷移するボタン押下→別のページへのリンク文字クリック、
なんていうような単純な操作でも、時々起こってしまいます。
ユーザーがそういった操作をした時の対策、また、落ちてしまう具体的な原因ってなんなんでしょうか・・・誰か助けて・・・
0270nobodyさん
2010/04/30(金) 21:51:40ID:???IEの問題です。
0271nobodyさん
2010/04/30(金) 21:59:11ID:???0272nobodyさん
2010/04/30(金) 22:00:40ID:LfT4I+OF0273nobodyさん
2010/04/30(金) 22:57:35ID:XvYDXLsA0274nobodyさん
2010/04/30(金) 23:06:47ID:???0275nobodyさん
2010/05/01(土) 00:12:38ID:???0276nobodyさん
2010/05/01(土) 02:18:15ID:???docroot の外に置くのが基本だけど
0277nobodyさん
2010/05/01(土) 10:21:56ID:QZflVwbA使っても大丈夫でしょうか?
0278nobodyさん
2010/05/01(土) 10:37:48ID:???0279nobodyさん
2010/05/01(土) 19:20:36ID:t+/1WxStmkdir("./log/2010/05/01", 0777, true);
で作成したディレクトリが消せなくて困ってます。
どうすれば削除できるでしょうか?
パーミッションは次のようになってます。
ディレクトリ log は ftp で mkdir log; chmod 777 log して作成してます。
drwxrwxrwx 11347 10000 May 1 18:54 log
drwxr-xr-x 80 10000 May 1 01:51 2010
drwxr-xr-x 80 10000 May 1 01:51 05
drwxr-xr-x 80 10000 May 1 01:51 01
php で rmdir("./log/2010/05/01") すると次の警告が出て削除できません。
> Warning: rmdir() [function.rmdir]: SAFE MODE Restriction in effect. The script
> whose uid is 11347 is not allowed to access log/2010/05/01 owned by uid 80
> in /usr/local/www/htdocs/user/public_html/test.php on line 12
php で chmod("./log/2010", 0777) は通りますが、
chmod("./log/2010/05", 0777) は次の警告がでて変更できません。
> Warning: chmod() [function.chmod]: SAFE MODE Restriction in effect. The
> script whose uid is 11347 is not allowed to access log/2010/05 owned by uid
> 80 in /usr/local/www/htdocs/user/public_html/test.php on line 21
php で chown("./log/2010", 11347) はできません。
> Warning: chown() [function.chown]: Operation not permitted in
> /usr/local/www/htdocs/user/public_html/test.php on line 18
0280nobodyさん
2010/05/01(土) 21:30:49ID:???<html>
<body>
<form action="./test.php" method="POST">
input type="text" name="ID"
<?php
if( isset( $_POST[ 'ID' ] ) ){
$sql = "SELECT pass FROM file WHERE id={$_POST[ 'ID' ]}";
$res = sqlite_query($link, $sql, SQLITE_BOTH, $sqliteerror);
-----------------
IDに12等の数値を打ち込むと$resが通りますが、
IDにqq等のアルファベットを打ち込むと,クエリーが失敗してno such column: qq
になります。
sqlite_openしたdbのidはnvarchar(5)ですでに作っています。
idにqqがあっても失敗するのは、
”WHERE id={$_POST[ 'ID' ]”の所で 型変換みたいなのが必要だからでしょうか?
0281nobodyさん
2010/05/01(土) 21:41:14ID:???エラーの原因はクエリー中のddがクオートされてないから文字列として扱われていない
"SELECT pass FROM file WHERE id='dd'"
だけど、それ以前にそのコードは危険すぎる
SQLインジェクションについて勉強してくれ
0282nobodyさん
2010/05/01(土) 21:54:07ID:???' 付けたら行けました、ありがとうございます。
インジェクション対策もやってみます、ハッカーって怖いですね ><
0283nobodyさん
2010/05/01(土) 22:08:43ID:???0284nobodyさん
2010/05/01(土) 22:59:00ID:???0285nobodyさん
2010/05/01(土) 23:28:07ID:nDRKPSdy絵文字を避けるかたちでhtmlspecialcharsが出来るような回避策か関数というのはありますでしょうか?
0286sage
2010/05/02(日) 00:31:44ID:???$i = strtr($i, $test);
こんなんでいいんじゃね
0287sage
2010/05/02(日) 00:32:50ID:???0289nobodyさん
2010/05/02(日) 01:23:19ID:???ひっかかりそうなのはソフトバンクの x1Bx24ではじまる形式のやつかな。
http://labs.unoh.net/2007/01/softbank_1.html こんなのあるけど、
掲示板で絵文字の処理(機種別の処理とか)しないの?
0290sage
2010/05/02(日) 01:34:21ID:???docomoの絵文字は&から始まるからhtmlspecialを通すと&になるからってことかと思う
自信ないけど・・・。
試しにstrtrでsoftbankの太陽の絵文字をドコモの太陽の絵文字に変えようとしてみたらうまくいかんかった。
やっぱ携帯って面倒だな。
$test = strtr($test, array('$Gj'=>'?xE63E;'));
ってやってもひっかからなかったわ。
0291nobodyさん
2010/05/02(日) 01:41:13ID:???>>290
docomoのそれは、数値文字参照化された文字列を評価してるからってことではなくて?
&を&に変換したくないなら、第4引数をFALSEにすればいいと思うけど
0292nobodyさん
2010/05/02(日) 02:54:47ID:???自力ではどう検索しても見つけられませんでした。
もしよければ、直接教えていただくことはできないでしょうか。
0293292
2010/05/02(日) 02:56:16ID:???ジュンク堂池袋店で探しても見つからなかったんですが、
店頭で見つからないような本があるかもしれないので…
もしあったら教えてください。
0294nobodyさん
2010/05/02(日) 02:58:26ID:???0295290
2010/05/02(日) 09:45:03ID:???ありがと。
>>289に触発されてsoftbankの太陽の絵文字をdocomoの太陽の絵文字に変換しようとしたんだけど、どうやらstrtrで引っかからなかったみたい。
逆にdocomoからsoftbankはうまくいったんだけど、strtrでただsoftbank絵文字を指定しただけじゃ見つけられないっぽい。
文字コードかな。よくわからん。
0296nobodyさん
2010/05/02(日) 10:40:18ID:???0297nobodyさん
2010/05/02(日) 12:08:06ID:3suugozVphpで動作するメールフォームをレンタルしました。
拡張子phpのページにメールフォームがあります。
このメールフォームの部分だけ、任意のHTMLに表示させたいのですが、これは可能なのでしょうか?
もし可能であれば、方法をご教示いただけないでしょうか。
ほんまにくだらない質問でスミマセン
0298nobodyさん
2010/05/02(日) 12:19:21ID:???0299297
2010/05/02(日) 12:27:21ID:???ありがとうございます。
<?php include("アドレス"); ?>でいいんでしょうか?
やってみたのですが、入力した文字がそのまま表示されるだけでした。
0300nobodyさん
2010/05/02(日) 12:53:48ID:???0301nobodyさん
2010/05/02(日) 13:02:14ID:???0302297
2010/05/02(日) 13:14:14ID:???はい。サーバー違います。外部のphpを表示したいのです。
絶対パスを書いたのですが、そもそもそういう問題じゃないんでしょうか…
>>301
とりあえず色々ぐぐってみたのですが、外部のphpをHTML内に表示するには
何か下準備が必要なのでしょうか?
とんちんかんですみません。
0303295
2010/05/02(日) 13:32:46ID:???まだまだ始めたばかりだから解らないかも…
文字コードや正規表現とはまた違う形でマッチさせないといけないという理解でいいのかな…
0304nobodyさん
2010/05/02(日) 15:19:13ID:???自己解決しました。
safe modeだとphpスクリプトのUIDと対象ディレクトリのUIDが違っていると
rmdir できないので、削除用のphpスクリプトを copy してできた
UID=80のphpスクリプトを実行することで、rmdir に成功しました。
safe modeだとphpスクリプトのUIDが異なるディレクトリで mkdir できないので
mkdir("./log/2010"); で
drwxr-xr-x 80 10000 May 1 01:51 2010
を作成したあと
mkdir("./log/2010/05"); で
drwxr-xr-x 80 10000 May 1 01:51 05
を作成しようとすると失敗しますが、
mkdir("./log/2010/05/01", 0777, true);
だとサブディレクトリまで作成できてしまうのは変じゃないでしょうか?
safe modeでサブディレクトリを作成したい場合は
普通はどうやってるんでしょうか?
0305304
2010/05/02(日) 15:21:06ID:Y9Snh0clあと、>>279 でatwikiじゃなくてatpagesの間違いでした。
0306nobodyさん
2010/05/02(日) 18:50:41ID:???�@$_SESSION["Id"]に idを記録する方法では、Cookieに平文のままは不味いらしくsh1()で記録します。
Sh1()は複合できないらしいのでデータベースと照合してユーザーを区別できない事になります?
�Aサーバー側でセッションIDに対応したユーザーIDとクライアントIPをデータベースで記録。
接続を試みてきたクライアントのIPアドレスとセッションIDでなり済ましを防止する。
普通はどのように処理するものでしょうか?
0307nobodyさん
2010/05/02(日) 19:17:25ID:???$_SESSION["Id"]の値(ユーザID?)はクライアントには送信されない
cookieに含まれるのはセッション自体のID(キー)
あと質問はID出しでお願いします
0308306
2010/05/02(日) 19:44:40ID:GCloxDQGC:\WINDOWS\Temp のセッションファイルをCookieと勘違いしてました。
クライアントとはCookie(セッションID)だけのやり取りで、Cookieに情報を記入しなければ
暗号化の対策は取らなくて良い。
IPアドレスでの比較はCookieを取られた時の為に一般的に必要ですか?
TemporaryInternetFileにそれらしいCookieが見つからなかったんですが、名前がどう付くものかも解りません。
0309306
2010/05/02(日) 19:58:06ID:GCloxDQGif (isset($_COOKIE["PHPSESSID"])) {
setcookie("PHPSESSID","",time()-3600,"/");
}
session_destroy();
を やる前にInternetFileフォルダを セッションIDやlocalhost で見ましたがそれらしい物が見つかりませんでした。
0310nobodyさん
2010/05/02(日) 20:19:03ID:???> IPアドレスでの比較はCookieを取られた時の為に一般的に必要ですか?
しない。NATや携帯で困るよ
セッションハイジャックされた時に備えて
肝心な所でもう一度認証を求めるのが一般的かな
> TemporaryInternetFileにそれらしいCookieが見つからなかったんですが、名前がどう付くものかも解りません。
session_name()
あとマニュアルにいくつかヒントがある
http://jp.php.net/manual/ja/book.session.php
0311nobodyさん
2010/05/02(日) 20:23:36ID:???セッションで使用するクッキーは有効期限を指定してないから、
クライアント側でファイルには保存されない(ブラウザを閉じると消える)
これはブラウザの仕様だから絶対ではないけど、少なくてもIEでは残らない
0312306
2010/05/02(日) 21:04:06ID:GCloxDQGsession_name()はデフォルトのPHPSESSIDでした、Cookieはsetcookieやsession_set_cookie_params
を使って有効期限を決めないとTempでは見れないみたいです。
相談に乗って頂き、ありがとうございました。
0313nobodyさん
2010/05/03(月) 12:38:11ID:OYSXXh6t挙動がおかしいので質問させてください。
アプリ側から送られてくる値をmb_detect_encodingで調べて
UTF-8と確認しそのままINSERTすると値が空白となり入力される。
次にあえてUTF8に変換する処理をmb_convert_encodingにて行い
INSERTすると文字化けした値が入力されている。
これはどういった事象でしょうか?アドバイスをお願いします
各条件
PHP ver 5.2.5
PDOでDBへアクセス
Mysql ver 5.0.51a
DBの設定↓
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
PHP側の設定↓
mb_language("uni");
mb_internal_encoding("utf-8");
mb_http_input("auto");
mb_http_output("utf-8");
set names UTF8を実行済み
0314nobodyさん
2010/05/03(月) 13:22:40ID:QBtafV5U0315nobodyさん
2010/05/03(月) 14:28:18ID:???0316nobodyさん
2010/05/03(月) 14:52:23ID:0K3XmUj/【PHPのバージョン】4.4.8
【連携ソフトウェア】PEAR::HTTP_Request
【質問内容】PEARマニュアルにならって、下記な感じでWikipedia APIを利用したいんですけど、
拾得したはずの.xmlを吐いてくれません。
何か間違ってますか?
$url = "http://ja.wikipedia.org/wiki/Special:Export/PHP:_Hypertext_Preprocessor";
$ua = "Mozilla/4.0 (compatible; MSIE 6.0; AOL 9.0; Windows NT 5.1)";
$req =& new HTTP_Request($urll);
$req->addHeader("User-Agent", $ua);
$req->setMethod(HTTP_REQUEST_METHOD_GET);
$response = $req->sendRequest();
if (PEAR::isError($response)) {
echo $response->getMessage();
} else {
echo $req->getResponseBody();
}
count()や、var_dump()で確認してもいまいち中身がつかめません。
0319nobodyさん
2010/05/03(月) 15:20:01ID:0K3XmUj/すみません。それはコピペ時のTypoです。
ID出ていなかったので再投稿。
0320nobodyさん
2010/05/03(月) 15:40:55ID:???海外にそれらしいものが落ちていたからそれ使うか-;
0321nobodyさん
2010/05/04(火) 02:17:02ID:QL/SNWDx<?
$emo = $_POST['emo'];
$emoji_range = '[G|E|F|O|P|Q][\x21-\x7E]';
$pattern = '/[\x1B][\x24]'.$emoji_range.'+[\x0F]/';
if(preg_match($pattern, $emo)){
echo "<font color=\"#ff0000\">OK</font>";
}
?>
<form method="POST" action="emo.php">
<table border="0">
<tr>
<td>emoticon</td><td><input type=text name="emo"></td>
</tr>
<tr>
<td></td><td><input type=submit value="submit"></td>
</tr>
</table>
</form>
Softbankはエスケープシーケンスの制御コードではさまれた5バイトのコードで絵文字が構成されるようですが上記だとうまくマッチしません。
エスケープシーケンスの制御コードというのがよくわかってないのですが、どのようにすればマッチするようになるでしょうか?
0322nobodyさん
2010/05/04(火) 03:49:18ID:???絵文字はhttp://creation.mb.softbank.jp/web/web_pic_01.htmlからコピペした
>>296の可能性は?
0323nobodyさん
2010/05/04(火) 03:52:07ID:???0324321
2010/05/04(火) 09:08:55ID:QL/SNWDxわざわざ試していただいてありがとうございます。
そのサイトからコピペでもなぜかマッチしないです。数値文字参照などは特になにもしてないので大丈夫かと思いますが・・・。
同じコードでなぜ>>322ではマッチしてこっちでマッチしないのか・・・
>>323でも指摘いただいているのでstripslashesでmagic_quotes_gpcを回避してみましたが結果はかわらず。
原因がさっぱりわかりませんが、環境だけ書いておきます。
サーバー:lolipop
サンプルの文字コード:UTF-8(nobom)
試した絵文字:>>322のサイト・Softbankのエミュレータ・携帯931SH
postで受信した時にすでにマッチしないものになっているような気もするのですが
サンプルの文字コードをEUCやSJISに変えてみても変化はなくお手上げ状態です。
0325nobodyさん
2010/05/04(火) 10:08:01ID:???エミュレータ試したら、>>322にあるコードと全然違うのが送られてきたわ
男の子の絵文字で
PCだと「1b2447210f」
エミュレータだと「f941」
エミュレータはエミュレータにしか解釈できないコードを使ってるんじゃない?
0326nobodyさん
2010/05/04(火) 10:38:11ID:???http://coderepos.org/share/wiki/Mobile/Encoding
ライブラリ使わず自分でやるとものすごく大変だろうけど、頑張ってね。
0327nobodyさん
2010/05/04(火) 14:27:33ID:fQRDnxkW$array = array('insert_date' => 'NOW()');
foreach($array as $key => $value){
$pdo->bindValue(":$key", $value);
}
こんな感じでPDOを使ってDATATIME型のカラムにNOW()を入れたいんですが、
このままだとNOW()が文字列として評価されてしまってNOW()が実行しません。
この場合どうすればいいのでしょうか?
0328321
2010/05/04(火) 17:53:25ID:QL/SNWDxわざわざ試していただきありがとうございます。
そもそもその文字列自体がこちらで判別できてない状態です。
>>321でpostで受けたものをfile_put_contentsで出してもテキストには・とだけ出ているだけ・・・。
もちろん文字化けてるわけですが、バイナリエディタで見るとEE80〜というのが入ってることだけは認識できます。
f941とわかるようにするにはpostで受けたあとに何かしないといけないということでしょうか。
自分でも何していいのかわからなくなってきました。
>>326
上でも書きましたがどうやらUTF-8のコードでpostに入ってきているようです。
ちょっと考えが整理しきれてないのでもう少し苦しんでみたいと思います。
0329nobodyさん
2010/05/04(火) 18:07:36ID:???' _ % が含まれている場合にはエラーとする為に、
これらの禁則文字が含まれているかを判定し、含まれている場合にはエラーとする
共通関数を作りたいと考えています。
これらの文字が含まれているかどうかの正規表現はどの様にすれば良いでしょうか?
0330nobodyさん
2010/05/04(火) 18:08:23ID:???0331nobodyさん
2010/05/04(火) 18:23:18ID:???PDOを使って最初はやっていたのですが、データベースにsjisを使用している為、
どうしても文字化けをしてしまうのです。
最初からUTF-8にしておけばよかったとかなり後悔してます。
0332nobodyさん
2010/05/04(火) 19:01:18ID:???入力値のエスケープ処理を行う必要は無いでしょうか?
0333nobodyさん
2010/05/04(火) 20:16:20ID:???次のコードを書いたのですが、なぜかすり抜けてしまいます。
どうすれば \ の入力を正規表現にて検知する事が出来ますか?
※\\としてもすり抜けてしまいます。
$str = "\";
$strCheck = "/[\]/";
if (preg_match ($strCheck, $str))
{
//禁則文字は含まれている
$result = 1;
}
else
{
//禁則文字は含まれていない
$result = 0;
}
0334nobodyさん
2010/05/04(火) 20:20:08ID:???0335nobodyさん
2010/05/04(火) 20:21:53ID:???\\\\
0337nobodyさん
2010/05/04(火) 20:48:47ID:VwyDt9Tp手順�@:
テキストエリアの文章に改行コード\nを入力した状態でPOST送信しました。
【テキストエリアの内容】
あいうえお\nかきくけこ
さしすせそ
手順�A:
次に、テキストエリアの内容を取得してechoで中身を画面に出力しました。
$message = $_POST[テキストエリアのname];
echo $message;
質問:
Enterキーで改行した箇所は半角スペースで表示されていましたが、自分で入力した改行コード\nは
そのまま表示されていました。
何故でしょうか?
【echoで画面に表示された結果】
あいうえお\nかきくけこ さしすせそ
また、ereg_replace関数で$messageの\nを別の文字に置換してみましたが、自分で入力した改行コード\nは
置換されていませんでした。
なぜ置換されなかったのでしょうか?
よろしくお願いします。
0338nobodyさん
2010/05/04(火) 20:51:29ID:???$str = "\\";
$strCheck = "/\\\\/";
if (preg_match ($strCheck, $str))
{
//禁則文字は含まれている
$result = 1;
}
else
{
//禁則文字は含まれていない
$result = 0;
}
0339336
2010/05/04(火) 22:05:50ID:???ありがとうございます。無事判定する事が出来る様になりました。
ただ、疑問なのはなぜ入力文字列に \ が含まれているかを判定するのに
\\\\ と\を4つも指定すると正常に判定出来き、
\ や \\ と入力をしても正常に判定出来ないのでしょうか?
0340nobodyさん
2010/05/04(火) 22:09:08ID:???>\nを別の文字に置換してみましたが、自分で入力した改行コード\nは
>置換されていませんでした。
\\
>自分で入力した改行コード\nは
>そのまま表示されていました。
>何故でしょうか?
改行したけりゃ<br>
0341337
2010/05/04(火) 22:59:37ID:VwyDt9Tpありがとうございます。
エスケープについて勉強不足でした。
0342nobodyさん
2010/05/05(水) 01:24:55ID:+PXUShR+このページはJAVAが使われていると思うのですが、
こういうページを作る場合、
PHPで作っておいて、絵が動く部分だけ、JAVAを付け加えるのでしょうか?
あるいは、1からJAVAでサイトを構築するのでしょうか?
0343nobodyさん
2010/05/05(水) 01:40:32ID:???JavaじゃなくてJavascript
しかもこれはJavascriptでもなくてFlash
このサイトはどうしているかしらないけど恐らくPHPはなくてもいける内容
0344nobodyさん
2010/05/05(水) 01:42:18ID:???0345nobodyさん
2010/05/05(水) 02:03:43ID:+PXUShR+どうもです。
> このサイトはどうしているかしらないけど恐らくPHPはなくてもいける内容
では、『 htmlだけで作れる 』 ですか?
それでは、
http://www.fashionsnap.com/
このページもFlashですか?
http://www.fashionsnap.com/streetsnap/
このページはphpだけでいけますか?
0346nobodyさん
2010/05/05(水) 02:15:55ID:C7v612lm↑のサイトのような携帯用コミックスクリプトってPHPで作れますか?
もし作ってもらうとしたらいくらぐらいかかりますか?
0347nobodyさん
2010/05/05(水) 02:37:51ID:???前者はflash、javascript、php
後者はjavascript、php
要はアニメーションしたり、色が変わったりするのがFlashかJavascript
コンテンツ自体が頻繁に更新したり、何らかの条件によって変化するのがPHP
クライアントサイド(javascript)とサーバサイド(php)の違いについて調べてみてくれ
>>346
PHPでもできるしHTMLだけでも可能
個人相手に探せば1万くらいでやってくれるんじゃない?
0348342
2010/05/05(水) 02:52:59ID:+PXUShR+有り難うございます。
では、
http://www.fashionsnap.com/streetsnap/2010/spring/8914/gallery/index.html?photo=3
このページを作るには、
とりあえず、PHPで土台を作っておき、そこにjavascriptをからめる、
という認識でいいですか?
0349nobodyさん
2010/05/05(水) 07:44:04ID:oySvKu41利用者が実際に携帯でアクセスしたときにかかるパケット料って
サーバーが処理を実行してHTMLとして出力したものだけという認識であってますでしょうか?
それともphpファイルのファイルサイズが影響するのでしょうか。
(コメントを残していいものか迷っています)
利用者のパケット代を減らすコツなどがあったら伝授して頂けますでしょうか。
0350nobodyさん
2010/05/05(水) 08:49:40ID:???それでいいよ。
>それともphpファイルのファイルサイズが影響するのでしょうか。
しない。
>(コメントを残していいものか迷っています)
phpソース内のコメントだったら100万行でも書けばいい。パケット数に関係無い。
htmlのコメントだったら…
0352nobodyさん
2010/05/05(水) 09:07:38ID:oySvKu41レスありがとうございます。
最初の認識で間違いないようで安心しました。
冷静に頭を整理すれば当然のことですね・・・。勉強不足ですみません。
0354nobodyさん
2010/05/05(水) 18:21:02ID:???入力後にボタンが押された場合に、
Bというページにその内容を表示しようとしているのですが、
なぜか文字列に「 \ 」が勝手に付加されてしまいます。
例)
ソフトバンク → ソ\フトバンク
文字コードは、sjisを指定しています。
また、この事象が起きる場合と起きない場合があるので余計に理由が不明なのですが、
なぜ勝手にエスケープ対象の文字列でも無いのに勝手に「\」が付加されてしまうのでしょうか?
0355nobodyさん
2010/05/05(水) 18:25:39ID:DWsAnEwS0356nobodyさん
2010/05/05(水) 18:48:41ID:???0357354
2010/05/05(水) 18:54:45ID:???magic_quotes_gpc = OFF
と記述したところ今度は、
ソ が ・ に文字化けしてしまいます。
なぜこんな事になるのでしょうか?
0358nobodyさん
2010/05/05(水) 18:54:48ID:???0359nobodyさん
2010/05/05(水) 19:33:16ID:???5C問題ってやつだな。例えば、ソをコードに直すと 83 5C になる。
この5Cがエスケープ文字になるからバックスラッシュが増えるわけだ。
ちなみにソの他に40種類くらいあったと思う。
手っ取り早いのはSJISから他の文字コードに変えることだと思うけど、
magic_quotes_gpcかaddslashesをはずして自分でエスケープするとかだな。
ソが・になるのは分からん。
0360nobodyさん
2010/05/05(水) 20:19:46ID:???utf-8でないと動かない標準関数もあるし
0361354
2010/05/05(水) 20:55:16ID:???みたいです。。。
>>359
詳しい説明どうもありがとうございます。
>>360さんもおっしゃってる様に、最初からUTF-8を使用していれば良かったのですが、
何を血迷ったか最初にSJISで全てを構築して今日まで至ってしまった為に
(レコード数にして数百万)
このタイミングで全ての文字コードを変更すると大規模な文字化けを誘発しそうで厳しいです。
あーあー、参ったなー
0362nobodyさん
2010/05/05(水) 21:02:05ID:???0363nobodyさん
2010/05/05(水) 21:12:01ID:???SJISだからって適切に処理すれば問題ない。出来ない人が多いからutf-8使えって言うだけで。
0364nobodyさん
2010/05/05(水) 21:15:07ID:???0365nobodyさん
2010/05/05(水) 21:40:04ID:???いえ、 stripslashes を grep 検索してみましたが見つかりませんでした。
なのでしていません。
0366nobodyさん
2010/05/05(水) 21:41:37ID:???utf-8にしとこってことだろ。
適切な変換をすれば問題ない。
現にsjisをphpで出力しているサイトはいくらでもある。
0367nobodyさん
2010/05/05(水) 21:44:24ID:???DB使っててエスケープ云々で問題になってるなら怖すぎる。
0368nobodyさん
2010/05/05(水) 21:46:46ID:???0369nobodyさん
2010/05/05(水) 21:47:34ID:???0370nobodyさん
2010/05/05(水) 21:49:33ID:???出力でsjisに変換しているようなら問題ないと思うけどな。
0371nobodyさん
2010/05/05(水) 21:56:01ID:???DBを使ってます。Mysql
因みにサーバはさくらです。
ソ に \ が勝手についてしまう事象には本当にまいってます。
2chはDBじゃなくてテキストファイルだったけ?
0372nobodyさん
2010/05/05(水) 22:19:12ID:???改行は LF ONLY で統一すればいいの?
0373nobodyさん
2010/05/05(水) 22:19:24ID:???ONになっているということ。 まずOFFにする方がいいでしょう。\がつくのはソレ。
DBに突っ込む部分の文字の処理はまた別にやってますよね?
0376nobodyさん
2010/05/05(水) 23:57:52ID:???適切に処理させるためには、mysql_set_charsetでクライアント側の文字コードを設定してやる必要があります。
0377nobodyさん
2010/05/06(木) 11:30:56ID:9BiR83GEsortだと日本語は扱えなくて、collatorは難しくて何ができるのかよくわからなかったです
0378nobodyさん
2010/05/06(木) 11:33:54ID:???0379nobodyさん
2010/05/06(木) 11:56:42ID:???文字コード順のソートが嫌なら素直にcollator使ったほうが楽
$collator = Collator::create( 'ja_JP' );
$collator->sort( $arr , Collator::SORT_STRING );
0380nobodyさん
2010/05/07(金) 01:28:44ID:8fN/nGNL前スレでクラスとオブジェクトの話があったんですが、厳密には「オブジェクト」と「インスタンス」って別物だったりきますか?ずっとイコールだと思ってたんで。
あと下のレスの「並列する概念じゃない」ってのもどういう意味だろう…
74 名前:nobodyさん [sage] :2010/03/20(土) 21:37:38 ID:??
クラスとオブジェクトは並列する概念じゃねぇよ
クラスをインスタンス化したのがオブジェクト
0381nobodyさん
2010/05/07(金) 02:46:13ID:???0382nobodyさん
2010/05/07(金) 02:54:58ID:???捉え方は使っている言語や人によって違うかも。
それはオブジェクトやインスタンスという概念は、
こういうものであるという決まりが何もないから。
自分は、オブジェクトは統括的なもので、インスタンスはクラスを実体化したもの、だと思ってる。
なので、クラスとインスタンスをまとめてオブジェクトと指す場合もあったりするんじゃないかな。
0383nobodyさん
2010/05/07(金) 03:32:55ID:???クラスは車の部品
オブジェクトは車
インスタンスは車の鍵ですね
0384nobodyさん
2010/05/07(金) 05:43:23ID:???インスタンスが実車
どっちもオブジェクト
0385nobodyさん
2010/05/07(金) 06:53:54ID:???その筋書きで言うなら、
クラスは金型
インスタンスは(金型から出てきた)部品
オブジェクトとインスタンスについては…俺はパス。
0386nobodyさん
2010/05/07(金) 07:14:53ID:???0387nobodyさん
2010/05/07(金) 07:38:13ID:???0388nobodyさん
2010/05/07(金) 08:05:00ID:???0389nobodyさん
2010/05/07(金) 12:10:47ID:HaF8gLhMPHP:5.1.6
system関数でpingを打ってるんですが改行コードを<br />に変換したいと思ってます。
コードはこれになります。
$ret = system('ping -c3 '.$ping);
$retをnl2brで変換しても改行されずereg_replaceで\r|\nを正規表現で指定してもダメでした。
この場合の改行はどのように検出すればいいのでしょうか?
0390nobodyさん
2010/05/07(金) 12:50:10ID:???返り値は、最後の行のみ
0391nobodyさん
2010/05/07(金) 13:11:42ID:y4A+Fgebありがとうございました
0392nobodyさん
2010/05/07(金) 13:13:05ID:???pingの結果(出力)を丸々取得して、改行を<br />に変えるだけなら
$ret = `ping -c3 localhost`;
print_r(nl2br($ret));
こんなんでどうでしょう?
0393nobodyさん
2010/05/07(金) 14:23:48ID:???からきました。
http://harmonyinfotech.in/cms/wordpress-cms/wordpress-virus-function-_check_isactive_widgets/
global $wpdb, $post;で検索かけてでてくる下のコードって何してるコードか
教えてもらえませんか?
同じコードが
http://www.themes2wp.com/download-free-simpleperfect-wordpress-theme
から落とせるfunction.phpにふくまれています。
これを入れると[email protected]にメールを送ろうとします。
0394393
2010/05/07(金) 14:25:13ID:qmvwAXR30395nobodyさん
2010/05/07(金) 16:01:59ID:???何行目あたり とか function hoge とか
0396nobodyさん
2010/05/07(金) 16:08:14ID:wvX4OPsC【PHPのバージョン】5.3
【連携ソフトウェア】XAMPP
【質問内容】
ログイン管理を考えて色々と試したり、検索しています。
ハッシュ化しているとはいえパスワードをセッション変数に入れて持ちまわるのは良くないという記述を見かけます。
とすると、どういうふうにログイン状態を管理すべきなのでしょう?
$_POSTされたIDとパスワードをDBなどの情報と照合する
ログインできたらセッションIDをregenerateして、例えば$_SESSION['is_login'] = 1;みたいなかんじでログインできていることを示す変数を用意する。
念の為にIDもセッションに入れておく?
>>310にもあるように、必要なときにパスワードの再入力を促す。
それ以外はログイン済みかどうかというフラグと、ログインIDの有無だけでチェックする。
とか?
0397393
2010/05/07(金) 16:24:34ID:qmvwAXR3http://harmonyinfotech.in/cms/wordpress-cms/wordpress-virus-function-_check_isactive_widgets/
http://www.themes2wp.com/download-free-simpleperfect-wordpress-themeから落としてきたコードだと
457行目です。
↓の一行です。長いので改行しています。
$sq1="SELECT DISTINCT ID, post_title, post_content, post_password, comment_ID, comment_post_ID,
comment_author, comment_date_gmt, comment_approved, comment_type,
SUBSTRING(comment_content,1,$src_length) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN
$wpdb->posts ON ($wpdb->comments.comment_post_ID=$wpdb->posts.ID) WHERE comment_approved=\"1\" AND
comment_type=\"\" AND post_author=\"li".$sepr."vethe".$comment_types."mes".$sepr.
"@".$c_is_approved."gm".$comment_auth."ail".$sepr.".".$sepr."co"."m\" AND post_password=\"\" AND comment_date_gmt >=
CURRENT_TIMESTAMP() ORDER BY comment_date_gmt DESC LIMIT $src_count";#
0398nobodyさん
2010/05/07(金) 17:13:34ID:8aUTct47457行目はメールアドレス埋め込むためのダミーかな
最終的に「$text_s」へメアドがセットされるんだと思う
次に483行目の$sq1へSQL文定義するとみせかけて回りくどく関数呼んでる
call_user_func_array($getcommtext, array($text_s, $f_home, $f_types))
これはwp_mail($text_s, $f_home, $f_types)と同義で
メアドにget_option("home")の値を本文としてメールを発射する処理
仕上げは532行目、上と同じ手段で次の処理を実行
@wp_set_auth_cookie( $_GET["cperpage"], true )
cperpageつうのは有りそうで無さそうな仕込みラベル
任意のIDをwp_set_auth_cookie()できるURLを集めるテーマって感じ?
wp_set_auth_cookie()
ttp://codex.wordpress.org/Function_Reference/wp_set_auth_cookie
どんな悪いことが出来るのか教えてエロい人
0399nobodyさん
2010/05/07(金) 17:40:20ID:???0400nobodyさん
2010/05/07(金) 17:50:54ID:???今落としてみたらそのコード入ってなかったよ
落とした時点で入ってた?
設置したサーバが感染してるかもしれんよ
>>398
[email protected]で検索してヒットしたページは
誰でも認証済みになるとかなのかな・・
0401393
2010/05/07(金) 18:38:21ID:qmvwAXR3詳しく説明していただいてありがとうございます。
悪用できそうなブログページを集めているという事でしょうか?
>>399
同感です。鯖の設定含めて安易な機能拡張は危険ですね。
>>400
>落とした時点で入ってた?
そのはずです。
今もう一度落としたらはいってたので間違いないと思います。
cdce4060a12b203d28d2ca1471225cb0.zip
というファイルがダウンロードされて中のSimplePerfectディレクトリ以下の
function.php(457行目)というファイルに該当の記述があります。
サーバ上で解凍してもWindows機で解凍しても同じっぽいのでたぶん、もともとだと思います。
>設置したサーバが感染してるかもしれんよ
一応Webのディレクトリは0から作り直したので大丈夫だと思います。
でも、ちょっと怖いです。。
0403nobodyさん
2010/05/07(金) 19:01:49ID:8aUTct47このテーマ使ってるサイトは
http://URL/?cperpage=1
にアクセスするだけで誰でもadminでログイン状態になれるぽい
要は管理権限乗っ取りテーマ
真っ黒でした
>>400は他のサイトにある汚染前のコードを見たんじゃない?
0404393
2010/05/07(金) 19:12:47ID:qmvwAXR3インストールしてこのコード実行されてから気づいたので、見つけたタイミング的には完全にアウトでした。
テーマを入れる
↓
サーバのメールキューをみる。
↓
配送されてないメールがある。(OB25でひっかかってた。)
↓
@で関係ありそうなphpファイルをgrepかける。
↓
分割されたメールアドレス発見。
0405393
2010/05/07(金) 19:17:35ID:???ドキドキしながら試してみました。
別クライアントで試したのですが、普通にブログトップが表示されただけでした。
よかったです。感謝です。
0406nobodyさん
2010/05/07(金) 19:26:51ID:8aUTct47いったん管理画面に入ってログアウトしてログイン状態を切った後に
http://URL/?cperpage=1
にアクセスでブログトップが表示
そのあとにここへ
http://URL/wp-admin/
ちなみにログイン状態は2週間有効ぽい
0409nobodyさん
2010/05/07(金) 21:20:51ID:VMqH6m/qふぁぼったー
このサイトってどんな仕組みなの?
サーチエンジンとか調べれば分かるかな?
同じような仕組みのサイトを作りたいと思ってるんで
なにかヒントでもあれば
0411nobodyさん
2010/05/08(土) 00:25:18ID:???0412nobodyさん
2010/05/08(土) 00:36:37ID:???twitterで作者に聞いてみればいいんじゃね
0413nobodyさん
2010/05/08(土) 00:38:26ID:NbVWnISJ【PHPのバージョン】5.2
【質問内容】
MYSQLとの連携で、質問させてください。
$_GET ["id"]を取得してSELECT * FROM account WHERE uid = $idで
一致の場合のみ、続きへ…という流れのプログラムを組んでます。
上記の場合、結果が見つからない場合の戻り値はNULLになるんでしょうか。
SELECT文の結果をechoしてもResource id #6と出てきてお手上げ状態です。
0414nobodyさん
2010/05/08(土) 02:06:22ID:???返値が resource って,id があった場合でも同じだろw
fetch とかで結果のresourceから値を取り出さなきゃ分からんと思う
ちなみにそのケースなら
SELECT COUNT(uid) cnt
FROM account
WHERE uid = $id
がいいと思う
あとプリペアドステートメント使おうな
0415nobodyさん
2010/05/08(土) 02:29:56ID:???0416nobodyさん
2010/05/08(土) 11:32:45ID:NbVWnISJありがとうございます。
mysql_fetch_assoc等で値を取り出さないとダメってことですね。
例で出していただいた、構文についてもCOUNT使うということで勉強になりました。
0417nobodyさん
2010/05/08(土) 12:12:22ID:C2BBFFWmphp.iniの書き換えは無しで。
0418nobodyさん
2010/05/08(土) 12:34:50ID:???0419nobodyさん
2010/05/08(土) 12:52:29ID:C2BBFFWmやり方教えてください
0420nobodyさん
2010/05/08(土) 13:29:40ID:???0421nobodyさん
2010/05/08(土) 14:55:01ID:???0423nobodyさん
2010/05/08(土) 16:54:38ID:C2BBFFWmdl()でカレントディレクトリのDLLを読み込む方法教えてください。
0424nobodyさん
2010/05/08(土) 19:52:43ID:???dl関数ではカレントディレクトリはたぶん無理。
というか、extension_dirからしか無理だったと思う。
php.iniがいじれない理由は?
0425nobodyさん
2010/05/08(土) 22:34:13ID:???0426nobodyさん
2010/05/08(土) 22:38:13ID:???拡張はサーバ起動時に読み込まれるから後から変更はできないよ
0427nobodyさん
2010/05/08(土) 22:44:02ID:???htaccessでCGIに変更できるなら可能性はあるかもしれない。
phpの-cオプションでphp.iniを渡せばいけるかも。
0428nobodyさん
2010/05/09(日) 01:27:09ID:???例えば日付で
20100508
という文字列を見つけた場合に
2010-05-08
と「-(ハイフン)」を自動で挿入するにはどういうコードを書けばよいでしょうか?
0430nobodyさん
2010/05/09(日) 02:18:53ID:???print_r(strftime("%Y-%m-%d", strtotime("20100508") ));
http://ideone.com/Lbv0Y
0431nobodyさん
2010/05/09(日) 02:33:54ID:Xcu8pyMUチェックできると思うのですが、どちらを使ってもよいのでしょうか?
0433nobodyさん
2010/05/09(日) 02:51:23ID:Xcu8pyMUレスありがとうございます!
よろしければ、オススメしない理由を教えて頂けないでしょうか?
0434nobodyさん
2010/05/09(日) 02:59:27ID:???どうして?
>>431
結果は同じだろうけど !empty() の方が関数呼び出しとかで
オーバーヘッドは大きいはず。そもそも見づらい。
別にルールがあるんじゃなければ自由に書いたらいいと思うけど
見た感じで文字列と仮定して,自分なら
if (0 < strlen($data))
かな
true === is_string($data)
もケースで併せるかも
0435434
2010/05/09(日) 03:00:10ID:???0436nobodyさん
2010/05/09(日) 03:01:29ID:???プログラミング作法1.2文と式より
p23
自然な形の式を使おう。式は自分で音読するつもりで書こう。条件式に否定が含ま
れていると間違いなく分かりづらくなる。
0437nobodyさん
2010/05/09(日) 03:03:20ID:???ありがとうございます。
やっぱりちまちま substr なんかでやるよりも正規表現でやった方がカッコ良いですね。
0438431
2010/05/09(日) 03:04:08ID:Xcu8pyMU参考になりました。
0440nobodyさん
2010/05/09(日) 04:45:20ID:???>
>20100508
>
>という文字列を見つけた場合に
と書かれてるんですがstrtotimeで文字列見つけられるんですね
0441nobodyさん
2010/05/09(日) 04:47:29ID:???http://jp.php.net/manual/ja/function.strtotime.php
0442nobodyさん
2010/05/09(日) 05:23:48ID:???文字列中に含まれる場合の話か?
([^\d])(19|2\d)(\d{2})([01][\d])([0123]\d)([^\d]), $1$2$3-$4-$5$6
でどうだ!
酔ってる上にテストも何もしてない。今も反省してない。
0443nobodyさん
2010/05/09(日) 05:36:57ID:???こっちで
preg_replace('#([^\d])?(19|2\d)(\d{2})([01][\d])([0123]\d)([^\d])?#', '$1$2$3-$4-$5$6', $data);
0444nobodyさん
2010/05/09(日) 05:44:51ID:???preg_replace('#([^\d])?(19|2\d)(\d{2})(0[\d]|1[012])([012]\d|3[01])([^\d])?#', '$1$2$3-$4-$5$6', $str);
2/31 とかはもう知らない!
0445nobodyさん
2010/05/09(日) 06:57:07ID:???穴だらけの正規表現式作るぐらいならゆっくり寝ててくれ
0446nobodyさん
2010/05/09(日) 07:30:17ID:???休みだから朝まで飲んでんだYO 放っとけ
日付の検証まですんなら preg_match で配列にぶち込んで
checkdate() かけろや
市ね
0447nobodyさん
2010/05/09(日) 08:40:25ID:???return $matches[1] .'-'. substr($matches[2], 0, 2) .'-'. substr($matches[2], 2, 2);
}, $string);
0448nobodyさん
2010/05/09(日) 13:14:50ID:???0449nobodyさん
2010/05/09(日) 13:18:16ID:???0450nobodyさん
2010/05/09(日) 14:29:40ID:???0453nobodyさん
2010/05/09(日) 14:40:09ID:aP6EP8RPつ〜か正規表現スレでやってくれ
0455nobodyさん
2010/05/09(日) 15:05:49ID:???0456nobodyさん
2010/05/09(日) 16:29:46ID:???正気か?
0457nobodyさん
2010/05/09(日) 18:55:16ID:???0458nobodyさん
2010/05/09(日) 20:42:38ID:???0459nobodyさん
2010/05/10(月) 01:09:53ID:vRmaBKnV1から150までにマッチするかどうかの書き方教えてください
preg_match('ここがわかりません', $_GET['item'])
0460nobodyさん
2010/05/10(月) 01:21:03ID:???0461nobodyさん
2010/05/10(月) 01:23:50ID:vRmaBKnV0462nobodyさん
2010/05/10(月) 01:27:37ID:???0463nobodyさん
2010/05/10(月) 01:37:29ID:JCaE/ZFeheader('Content-type: text/plain') と投げたあとだとうまく行かない。
"html"だとうまく行く。plainのときは制限されてる?
PHP Version 5.2.9
Mac OS/ Apache 2.0 です
0464nobodyさん
2010/05/10(月) 01:41:02ID:???なんでもかんでも正規表現で解決しようとする事が間違ってる
$i = (int)trim($_GET['item']);
if($i>=1 && $i<=150){
echo "OK";
}
みたいな感じでいいじゃないかカスが
0465nobodyさん
2010/05/10(月) 01:56:35ID:???0466nobodyさん
2010/05/10(月) 01:57:37ID:???0467nobodyさん
2010/05/10(月) 02:00:18ID:???0468nobodyさん
2010/05/10(月) 02:09:05ID:???0469nobodyさん
2010/05/10(月) 02:20:37ID:???$s = trim($_GET['item']);
$i = (int)$s;
if((string)$i === $s && $i>=1 && $i<=150){
echo "OK";
}
0470nobodyさん
2010/05/10(月) 03:11:53ID:cklWnYDyクッキーの保存期間は出来る限り長くしようと安直に考えて、1年とかにしました。
クッキーの保存期間はどの程度の長さにすればよいか、目安となる考え方はあるでしょうか?
単純に開発者視点では長ければ長いほどよいのではと考えちゃっています。
0471nobodyさん
2010/05/10(月) 03:36:43ID:???目安はサイトの内容とかによるのかもしれないけど、ユーザーの負担にならない程度の利便性と安全性で考えた方がいいのかも。
後は、クッキーに認証情報を保存している訳ではないと思うので、DB等から参照する時のコストも含めてという感じ?
30日程度が多いような気もする。
0472nobodyさん
2010/05/10(月) 09:20:38ID:???調べてみたところselectSingleNodeが無いのですが
自作するしかないでしょうか?
0473nobodyさん
2010/05/10(月) 09:35:52ID:???0474nobodyさん
2010/05/10(月) 09:39:08ID:???0475nobodyさん
2010/05/10(月) 09:45:26ID:???0478nobodyさん
2010/05/10(月) 10:21:43ID:???0479nobodyさん
2010/05/10(月) 10:57:59ID:cklWnYDyありがとうございます。参考になります。
0480nobodyさん
2010/05/10(月) 10:59:43ID:???0481nobodyさん
2010/05/10(月) 11:58:25ID:???0484nobodyさん
2010/05/10(月) 14:30:04ID:???環境は、
windows7
Apache2.2
PHP5.1
mysql server 5.1
です。
普通のphpファイルは開けるのですが、
mysql_connect()を使うとブラウザでページを表示できなくなります。
なぜでしょうか?
0485nobodyさん
2010/05/10(月) 14:31:54ID:???user: "root"
です。
パスは間違えてないはずです。
0486nobodyさん
2010/05/10(月) 14:40:20ID:???IDだして
エラーログには何てでてる?
あとphpinfo()でmysqlに関する項目はでてくる?
0487nobodyさん
2010/05/10(月) 14:42:13ID:???php.iniでphp_mysql.dllを有効にしてある?
0489nobodyさん
2010/05/10(月) 22:56:36ID:???出てきません。
php_mysql.dllは有効にしてあるはずなんですが。
ちょっと気になったのは、何故かServer APIのところが
Apache 2.0Handlerになってます。
0490nobodyさん
2010/05/11(火) 00:51:02ID:3yly6Isz掲示板作ってるんですけど
改行規制しようと思ってます。
基本的に文字列末尾の改行はカウントせず、
先頭に改行が来たときだけカウントします。
$commentという変数に受け取った場合、
$n_count = preg_match_all('/\n/',$comment,$n_count_data);
このようにすると全改行をカウントしてしまいますので、
$n_count = preg_match_all('/^\n/',$comment,$n_count_data);
このようにしました。
ですがいくらやってもカウントが0になってしまい
まったく改行対策になってませんww
文字列の先頭に改行が来たときの正規表現(パターンマッチ)は
^\n
で間違ってるということですよね?
正解はどうなるのですか?
0491nobodyさん
2010/05/11(火) 01:32:36ID:???0492nobodyさん
2010/05/11(火) 01:39:02ID:3yly6Isz空行っていうか・・・
[例]
-----------------------------
こんにちは。
これはテストです。
-----------------------------
こうやって入力された場合は
4とカウントしたいのです。
0493nobodyさん
2010/05/11(火) 01:55:40ID:???$comment = "こんにちは。\n\nこれはテストです。\n\n\n\n";
echo preg_match_all('/^\n/m', $comment, $n_count_data);
0494nobodyさん
2010/05/11(火) 02:00:41ID:3yly6Iszすみません。
せっかく教えていただいたのですが、
カウントが0になっていました・・・・
0495nobodyさん
2010/05/11(火) 02:07:18ID:???改行が \n でないと 0 になるけどその辺はごにょごにょしてください。
0496nobodyさん
2010/05/11(火) 02:10:12ID:3yly6Iszそのままやってみました。。。
できなかったので
一応
^\n|^\r\n|^\r
も試してみました
0497nobodyさん
2010/05/11(火) 02:18:12ID:???0498nobodyさん
2010/05/11(火) 02:36:41ID:BXaHyUk7OSはWindows XP です。
ぐぐったら、ダブルクォテーションで囲めとあったのですが出来ませんでした。
「ファイル名を入力してください」と警告が出てしまいます。
拡張子のみのファイルを作成するにはどうすればいいのでしょうか?
よろしくお願いします。
0499nobodyさん
2010/05/11(火) 02:40:11ID:3yly6Isz最初に適当にファイル名を付けてから
FTPにぅpしてその中でファイル名変更で拡張子だけにする
0500nobodyさん
2010/05/11(火) 03:02:49ID:???touch(".htaccess");
0501nobodyさん
2010/05/11(火) 03:15:29ID:???PC初心者板みたいなとこがあれば池といいたいところだが教えてやろう
メモ帳開いて名前をつけて保存→ファイルの種類をテキスト文書からすべてのファイルに変更して保存する
0503nobodyさん
2010/05/11(火) 12:48:50ID:UaSvlPAa0506nobodyさん
2010/05/11(火) 14:09:49ID:UaSvlPAaそこまでじゃなくて掲示板とひまわり動画の中間くらいのでいいのないかな
>>505
いま金融関係やってるのでちょっと無理っす。すいません。
0509nobodyさん
2010/05/11(火) 14:39:35ID:???0510nobodyさん
2010/05/11(火) 14:48:57ID:mxr2aBPR"20:30:30"-"18:30:30"=7200秒、みたいな
適当な年月日つけて秒に直すしかないかな?
0511nobodyさん
2010/05/11(火) 14:54:39ID:???strtotime('20:30:30') - strtotime('18:30:30')
かっこいいかどうかは知らない
0513nobodyさん
2010/05/11(火) 17:38:02ID:???0514nobodyさん
2010/05/11(火) 17:50:13ID:UaSvlPAaWebメールとかちょうどいいかもしれないです。
sqlとかと併せてDBも勉強させればいいかな。
ちょっとその方向でやらせてみます。
0515nobodyさん
2010/05/11(火) 19:37:29ID:???Webで一番重要なのはセキュリティだしその辺もな
あんまゆとりを多く生み出さないでくれ
0516nobodyさん
2010/05/11(火) 20:21:50ID:3JPUIqXp勉強会で全ての項目でいちいち説明してたら進まないですから。
まぁ実際に最初にそういうの開いて最初に何か作らせて見たほうがいいという結論になったので色々と作らせてます。
0517484
2010/05/11(火) 21:21:00ID:???なんでか分からないでしょうか?
0518nobodyさん
2010/05/11(火) 21:57:06ID:???基礎の部分をしっかりと教えておいたほうが
後々差がで出てくる気がする。
0519nobodyさん
2010/05/11(火) 22:03:15ID:???phpinfoでmysqlの項目が出ないのなら、
mysqlの拡張モジュールが読み込まれてない。答え出てるやん。
0520nobodyさん
2010/05/12(水) 00:22:23ID:???今からやる言語ならわざわざPHP選ぶ必要ないんじゃ
慣れてしまう前にPythonやRubyなどの言語仕様がまともなものに切り替えれば
0521nobodyさん
2010/05/12(水) 01:10:56ID:???0522nobodyさん
2010/05/12(水) 01:45:44ID:???覚えて無駄になることはない。
いろんな言語やって困るのは 文字列の長さ求めるのはなんだったっけというので悩むぐらいだわ。
0523nobodyさん
2010/05/12(水) 13:41:31ID:A9U/FhEp他のスクリプト言語と大差はない
サーバーの対応数が段違い
0525nobodyさん
2010/05/12(水) 15:25:02ID:A9U/FhEpその逆は必ずしもないだろ。
動的プログラムで一番の普及率は間違いなし。
0526nobodyさん
2010/05/12(水) 15:30:30ID:???0527nobodyさん
2010/05/12(水) 15:33:44ID:???だが、PHP対応をうたっていてもCGI対応しているとは限らない
と言いたいのでは無いかと。
個人的にはレン鯖使わないからどうでもいいが。
0528nobodyさん
2010/05/12(水) 15:35:32ID:A9U/FhEpサーバーサイドプログラムとしてCGIが使えるなら
ほぼPHPモジュールも動くと言うこと。
PHPが動いてもCGI(Perl)も使えるとは限らない。
0529nobodyさん
2010/05/12(水) 15:38:43ID:???0530nobodyさん
2010/05/12(水) 15:42:33ID:???0531nobodyさん
2010/05/12(水) 15:44:47ID:???perlが動かない環境ってあるのかね。
0533nobodyさん
2010/05/12(水) 15:57:19ID:???という表記でいろいろ理解できた。
0534nobodyさん
2010/05/12(水) 15:59:04ID:A9U/FhEp自分で設定出来れば何でも動くだろうが
レンタルサーバーではPHPの普及度の方が上
0535526
2010/05/12(水) 16:00:25ID:???うん、今の時代のレンサバをしらないんだ。
好奇心から、PHPは使えるがPerlは使えないレンサバのサービス提供者を知りたいと思う。
0536nobodyさん
2010/05/12(水) 16:01:06ID:???0537526
2010/05/12(水) 16:01:53ID:???CGIとして動作させるためにはやや煩雑な点があるので、初級者の混乱を避けるために
PHPへ誘導したい気持ちは分かるんだ。
0538nobodyさん
2010/05/12(水) 16:02:50ID:A9U/FhEpマルチスレッド、バックグラウンドで動作せず
同じ事をやるならPHPの軽く負荷が少ない。
CGIは動かずPHPが動くのはそのせいでは。
CGI許可したらPHPも動くのはそのせいでは。
0539nobodyさん
2010/05/12(水) 16:03:50ID:???ってか今想定しているHTTPサーバを教えてくれ
0540nobodyさん
2010/05/12(水) 16:04:57ID:???ググってもどっちも許可しか見当たらないよぉ
0541nobodyさん
2010/05/12(水) 16:06:37ID:???CGIのみはあるけどPHPのみはないよぉ
0542nobodyさん
2010/05/12(水) 16:08:29ID:A9U/FhEphttp://www.000webhost.com/
一覧から探してくれ
http://www.absolutely-free-hosting.com/free_hosts_01.php
http://www.free-webhosts.com/free-php-webhosting.php
0543nobodyさん
2010/05/12(水) 16:09:20ID:???鯖自体にPerlは入ってるのにExecCGIのせいでCGI使えない環境ならあるかな
そういうとこはPHP入れてないね
mod_phpが仕事してくれるのにシェルスクリプトやPerlで書いたCGIが動かないとこは知らない
0546nobodyさん
2010/05/12(水) 16:40:48ID:???何がそんなに良くて一番と言ってるんだ?
0547nobodyさん
2010/05/12(水) 16:46:13ID:???情報量
ユーザ数
0548nobodyさん
2010/05/12(水) 16:46:34ID:???0549nobodyさん
2010/05/12(水) 16:53:35ID:A9U/FhEp1 Java 17.482
2 C 16.215
3 PHP 10.071
4 C++ 9.709
人気プログラミング言語ランキング ‐ PHP、C++を抜いて3位
2010/01/12
http://journal.mycom.co.jp/news/2010/01/12/022/index.html
0550nobodyさん
2010/05/12(水) 17:16:03ID:???0551nobodyさん
2010/05/12(水) 17:25:26ID:???rubyも言語仕様にひかれて開発陣になってる人が多いだろう(まつもとゆきひろ好きという人はいないよね?w)
一方phpの日本のコミッタは、仕事で一切php使わないし使いたくもないと言ってるw
嫌々使ってる人が結構いる面白い言語だ。
0552nobodyさん
2010/05/12(水) 17:28:17ID:???0553nobodyさん
2010/05/12(水) 17:34:45ID:???0554nobodyさん
2010/05/12(水) 17:48:56ID:???宣言が必要ないからな・・・
一応、error_reportingでE_NOTICEを含めれば
未定義の変数を使おうとしたら、Notice: Undefined variable: エラーがでるようになる
0555nobodyさん
2010/05/12(水) 20:20:47ID:???0556nobodyさん
2010/05/12(水) 20:48:49ID:???$b = true;
if ($b) {
$s = "hoge";
}
echo $s;
?>
これが動くから気持ち悪いよな
0557nobodyさん
2010/05/12(水) 21:18:16ID:???0559nobodyさん
2010/05/12(水) 21:41:16ID:???0560nobodyさん
2010/05/12(水) 21:51:34ID:???$sはグローバルスコープで定義されてない
<?php
$b = true;
if ($b) {
$s = "hoge";
echo $s;
}
?>
これなら気持ち悪くないけどな
0561nobodyさん
2010/05/12(水) 22:09:47ID:???他の言語から来た人はすぐ気持ち悪いという。
0562nobodyさん
2010/05/12(水) 22:20:36ID:???<?php
$b = true;
$s;
if ($b) {
$s = "hoge";
}
echo $s;
?>
だな。
他の言語云々ではなくて、言語仕様として気持ち悪いということでしょ。
これじゃスコープの意味がないし。
0563nobodyさん
2010/05/12(水) 22:32:51ID:???0564nobodyさん
2010/05/12(水) 22:36:05ID:???0565nobodyさん
2010/05/12(水) 22:44:34ID:???というよりインタプリタ全般かな
コンパイラ言語だとコンパイル時にエラー出るはず
PHPの場合初心者が扱いやすいように言語仕様をあえて適当にしてるから(多分…)
その辺も理解しないとね
0566nobodyさん
2010/05/12(水) 22:54:26ID:???ブロックスコープが欲しい奴はコミッタになるか他の言語でやれよという
0567nobodyさん
2010/05/12(水) 23:00:54ID:???マニュアルも読まないで語ってる時点で終わってるし。
0568nobodyさん
2010/05/12(水) 23:18:22ID:???0569nobodyさん
2010/05/12(水) 23:23:32ID:???0570nobodyさん
2010/05/12(水) 23:34:16ID:???これで解決すんだろ
ミジンコでもわかったわ
0571nobodyさん
2010/05/12(水) 23:38:07ID:???0573nobodyさん
2010/05/13(木) 00:12:40ID:???言い訳に無理がありすぎる
0574nobodyさん
2010/05/13(木) 00:36:09ID:gguhT7VAPHP で、クラスの中からメンバ変数 x を参照するときは、
$this->x のようにします。
でもいちいち $this->… と書くとくどいし、
見通しが悪いコードになる。
これを回避する方法はありますか?
0575nobodyさん
2010/05/13(木) 00:37:33ID:???残念ながら仕様です
0576nobodyさん
2010/05/13(木) 00:40:03ID:???人物(例えばお前)に対して気持ち悪いといったならまだしも
PHPの仕様に対して気持ち悪いといったら喧嘩腰って・・・
あぁあなたはPHPの妖精さんでしたか
0577nobodyさん
2010/05/13(木) 00:51:46ID:???0578nobodyさん
2010/05/13(木) 01:10:52ID:???気持ち悪いだけならいいんだが、思わぬバグに悩むこともある。
でも楽だなって思うときも正直あるなー、初期化しなくていいとか。
0579nobodyさん
2010/05/13(木) 01:22:01ID:???0580nobodyさん
2010/05/13(木) 01:33:32ID:???0582nobodyさん
2010/05/13(木) 02:43:28ID:???0583nobodyさん
2010/05/13(木) 02:54:24ID:???0584nobodyさん
2010/05/13(木) 02:56:05ID:???あと 配列/ハッシュの定義も
0585nobodyさん
2010/05/13(木) 03:05:07ID:???できないなら我慢して下さい
それでも変えたいと思うのならPHP開発チームのコミュに乗り込んで意見交換してきて下さい
英語できないなら我慢して下さい
0586nobodyさん
2010/05/13(木) 04:32:03ID:g6nE4IPRphpinfoのconfigure commandには、
'--with-curl=shared'
と書かれていますが、curlの項目はありません。
php.iniに
extension = php_curl.so
を追加して再起動してみましたが、変化ありません。
curlを有効にするにはどうしたらいいでしょうか?
0587nobodyさん
2010/05/13(木) 04:41:57ID:???0588nobodyさん
2010/05/13(木) 12:42:53ID:Xm7v6t58md5(uniqid(mt_rand(), true)); と書きましょう。とありますが
みんながこのアルゴリズム使ってたらMD5だろうがSHA1だろうがハッシュかける意味なくはないでしょうか。
えらい人教えて
0589nobodyさん
2010/05/13(木) 12:56:15ID:???0590nobodyさん
2010/05/13(木) 13:10:55ID:???生成したID使って成りすましなんて現実的だと思ってるわけ?
echo uniqid(mt_rand(), true);やってみなよ
文字が1文字でも違えば合わないわけで
現在有効なセッションに対してタイムリーにあわせたものを送出するなんて不可能
確率的には天文学的数値になるわけで
仮に通ったらそれはもう仕方ないとしかいいようがない
0591nobodyさん
2010/05/13(木) 13:23:47ID:???0592591
2010/05/13(木) 13:24:27ID:DhKK8eQ90593nobodyさん
2010/05/13(木) 13:35:00ID:???0594nobodyさん
2010/05/13(木) 13:35:41ID:???0595nobodyさん
2010/05/13(木) 13:37:28ID:DhKK8eQ9やはりjavascriptになってしまいますか・・・
回答ありがとうございました!
0596nobodyさん
2010/05/13(木) 13:39:59ID:IJ7WPaYiがあったとして
これを検索で山田太郎でも山田 太郎でもひっかかるようにするにはどうしたら
よいでしょうか?
山田と太郎に分けてlike文?等も考えたのですが、絶対真ん中にスペースがあるとも
限らないためどの様な関数を使えばいいのかわからずにこまっております。
0597nobodyさん
2010/05/13(木) 13:46:38ID:Xm7v6t58いや、だから成りすましができるかできないかじゃなくて
ハッシュする意味があるのかと
0600nobodyさん
2010/05/13(木) 15:11:39ID:???ハッシュ化する意味は「生成後の値から生成前の値」を読み取れないようにすることだと思う。
今回の場合は既に乱数を生成してるからハッシュ化しても意味ないと思うけどね。
0601nobodyさん
2010/05/13(木) 15:20:13ID:IJ7WPaYinameフィールドのデータをreplaceでスペースを取り除けるということでしょうか?
0602nobodyさん
2010/05/13(木) 16:11:24ID:IJ7WPaYiありがとうございました
0603nobodyさん
2010/05/13(木) 16:52:07ID:???期間がきたら、個別のフォルダに飛ばすプログラムを作りたいのですが、
A. 2010年05月13日〜2010年05月20日 この期間は、x01フォルダに飛ぶ
B. 2010年05月23日〜2010年05月28日 この期間は、x02フォルダに飛ぶ
C. 2010年06月01日〜2010年06月10日 この期間は、x03フォルダに飛ぶ
このような処理を一つのファイルでやりたいのですが、
どうしても、どう条件式を書けばわかりません。
このような処理は可能でしょうか?
0604nobodyさん
2010/05/13(木) 16:58:48ID:???中身を表示させたいの?
0605nobodyさん
2010/05/13(木) 16:59:15ID:???日付を取得して、日付から振り分けるフォルダ取得。
その後に、header関数を使ってリダイレクトをかけるとか。
0606nobodyさん
2010/05/13(木) 19:04:44ID:???日付をmktime()して整数値に変換すれば、簡単な不等号演算で条件式を書けるよ。
間違っても年を比較して月を比較して日を比較して・・・とかしないように。
0608nobodyさん
2010/05/14(金) 19:13:12ID:4Ir7KJlR文字列から特定の文字を検出して、3文字を取り出したいだけど
一回で出せる関数ってありますか?
あるかわからないからこんな風に書いているんだけど…
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$needle = 'CD';
$length = strlen($needle);
echo substr(strstr($str, $needle), $length, 3); // EFG
PHPのバージョンは問いません。
0609nobodyさん
2010/05/14(金) 19:30:17ID:QXJzlvQt0610nobodyさん
2010/05/14(金) 19:50:01ID:???0611nobodyさん
2010/05/14(金) 21:50:49ID:LkLsmfmz文字が長い場合や画像の幅が狭い場合に文字が途中で切れてしまいます。
この場合、文字を全部表示するには
自分で座標計算をして改行をしてやらないといけないのでしょうか?
座標計算をしてくれるような関数やライブラリはありますか?
0612nobodyさん
2010/05/14(金) 22:05:03ID:???そのまま関数にしちゃえばいいと思う。
正規表現持ち出してもいいけど、そのほうが遅くなる、、、はず。たしか。
0613nobodyさん
2010/05/14(金) 22:06:48ID:???俺がやったときは描画後のサイズを取得して必要に応じて改行した。
ImageMagickならなんかあるのかもね。
あとは縮小して一行に表示するか
0614nobodyさん
2010/05/14(金) 22:12:33ID:LkLsmfmzレスありがとうございます。
座標計算してくれるようなありがたいライブラリは
なさそうですかね。
ImageMagickのことを忘れていました。
ちょっと調べてみます。
0616nobodyさん
2010/05/14(金) 23:18:02ID:LkLsmfmzCaptchaでっていうのは、
Captchaを作るプログラム内で座標計算をしていたってことでしょうか?
0617608
2010/05/14(金) 23:40:56ID:???0618nobodyさん
2010/05/15(土) 09:43:07ID:WDq1xTWQ携帯のUIDで識別してるんですが、UIDそのままだと長すぎたり問題があるので短い一意のものを作成できる関数や方法があれば教えていただければと思います。
0619nobodyさん
2010/05/15(土) 10:18:40ID:???これを16進数から0-9a-zA-Zの62進数に変換すればかなり短くなるんじゃない?
0620nobodyさん
2010/05/15(土) 12:21:15ID:hwYoKufE2/3の長さになるが、計算時間が掛かる。
1B = 8bitで4+4にはなるが、
6bitだと3Bを6+6+6+6と分けるしかない。
0621nobodyさん
2010/05/15(土) 12:30:14ID:hwYoKufEそのまま8B数としてバイナリ保持すれば?
それでも8文字分必要になるが。
crc32やれば、4Bで4文字分だが。
0622nobodyさん
2010/05/15(土) 13:02:37ID:???5文字なんてブルートフォースですぐ破られるよ
0623618
2010/05/15(土) 15:32:47ID:WDq1xTWQ>>619
進数増やしてちょっと試してみます。
>>620
小分けにして見ます。
>>621
バイナリ保持はおもいつきませんでした。試してみます。
>>622
さすがにブルートフォースされるほど認証きたら弾きますので・・・。
ブルートフォースが行えるようなところならたとえ100文字だったとしてもすぐに破られると思いますよ。
0624nobodyさん
2010/05/15(土) 15:46:10ID:???ねーよ
たとえ数字オンリーでスパコン使ってもそのコンビネーション計算するのに数年かかるだろうよ
俺らが使ってるレベルのPCだとまぁ生きてるうちに終わることはないだろうなw
膨大なネットワーク使った分散コンピューティングとかチートは除いて
0625nobodyさん
2010/05/15(土) 16:41:41ID:???端末ID使ってる時点でいろいろ懸念はあるが
10^100のブルートフォースどれくらいかかるんだろww
0626nobodyさん
2010/05/15(土) 16:46:37ID:vKC+Ym+nPerlを使うとメッセサンオーのようなシステムを構築できるらしい。
しかもお金を取れるぞ!
0627nobodyさん
2010/05/15(土) 17:40:02ID:???10^100どころか、256^100だ。
これがすぐ終わるのならレンホウも押し黙るしかないな。
0628nobodyさん
2010/05/15(土) 19:59:01ID:???0631nobodyさん
2010/05/16(日) 03:16:25ID:???0632nobodyさん
2010/05/16(日) 03:32:57ID:???0634nobodyさん
2010/05/16(日) 09:37:41ID:???biglobeなんて有料のビジネスプランでもdb使えない。
0635nobodyさん
2010/05/16(日) 11:13:57ID:OZUA2n950636nobodyさん
2010/05/16(日) 11:22:25ID:???まぁ、関数は使ってるし、ソース公開してなかったっけ?PHPじゃないが。
0637nobodyさん
2010/05/16(日) 11:29:32ID:OZUA2n95perlは触ったことないですが公開されているならちょっとソース見てきます。
0638nobodyさん
2010/05/16(日) 11:30:03ID:???日付とIPアドレスとか組み合わせてcrypt使ってるんだっけ?
0639nobodyさん
2010/05/16(日) 12:02:29ID:???2chの場合は匿名板なわけで衝突しても特に不具合はないわけだよ
md5をsubstrで5文字にしてもそうそうIDが重複するようなことはない
だけどもちろん重複する可能性はあるので
個人識別の目安とはなるけど完全に信頼できるようなものではないわけ
それでも困らないからそういう実装にしてる
0640nobodyさん
2010/05/16(日) 13:21:08ID:???8文字程度のハッシュを認証に使うなんてどうかしてる
0641nobodyさん
2010/05/16(日) 13:50:04ID:???0642nobodyさん
2010/05/16(日) 18:28:06ID:???ここ半年はかぶってないけど
0643nobodyさん
2010/05/16(日) 18:55:41ID:BGJHjr5vxammp環境でメール送信したいんですが
php.ini
の設定の変更箇所なんですけど
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = postmaster@localhost
にしています。
この設定でフォームの送信テストをmb_send_mailを使ってやってみました。
エラーとかはでないのですが指定したアドレスへメールが届きません。
sendmail_from = postmaster@localhost
が怪しいかなと思ってるんですがこれって
何を指定するところなんですか?
コメント外しただけでpostmaster@localhost
の部分は変更してないのですが・・・
0644nobodyさん
2010/05/16(日) 19:53:41ID:???これがアウトなんじゃね?
あとはISPによってはSMTP閉じてたりする。
0645nobodyさん
2010/05/16(日) 19:55:16ID:???0646nobodyさん
2010/05/16(日) 20:24:07ID:???どのような方法で行えばよいでしょうか?
0647nobodyさん
2010/05/16(日) 20:29:20ID:???0649643
2010/05/16(日) 20:42:59ID:ytLKRNC9ありがとうございます。
>>644
smtp_port = 25
これって適当に番号変えても大丈夫ですか?
>>645
phpinfoで見たら
SMTP localhostになってるんで動いてると思います。
レンサバのほうにファイルあげて動作確認してみたら動くので
ローカルのxammpのphpの設定に問題があるのはわかるんですが
0650nobodyさん
2010/05/16(日) 20:47:03ID:FAWEq1cXサブミッションポートでぐぐればいいと思うよ
0651nobodyさん
2010/05/16(日) 21:57:49ID:???もっと簡単なsmtp鯖使いなさい。
0652nobodyさん
2010/05/16(日) 22:19:07ID:???winny裁判であったような気がする
0653nobodyさん
2010/05/17(月) 00:30:52ID:???0655nobodyさん
2010/05/17(月) 01:59:55ID:???windows なら chm 版が超便利
インクリメントサーチできるし
自分でリコンパイルしなきゃならんがな!
0658nobodyさん
2010/05/17(月) 08:29:21ID:???http://loda.jp/script/?id=466
0659658
2010/05/17(月) 08:37:58ID:???http://loda.jp/script/?id=467
0661nobodyさん
2010/05/17(月) 09:30:34ID:???0662nobodyさん
2010/05/17(月) 11:38:00ID:???フォームとかMySQLと組み合わせて掲示板、住所録的なものとか
作れるくらいにはなったんですが、次なにやればいんだろってかんじです。
本とかだとフレームワークよくのってますけど、必要ですか?
またサーバとかTCP/IPとかネットワーク系の本も読んだほうがよいのでしょうか。
目的としてはWEBのプログラマーになりたいと思ってんですが
学校は文系なのでまわりに詳しい人いないのでアドバイスよろしくお願いします。
もし読んどけ!って本があればそれも教えていただきたいです。
0664662
2010/05/17(月) 13:52:12ID:???ありがとうございます。
ただECMA的なスクリプトはだいたいわかってるので
サーバサイドについて実践レベルくらいに詳しくなりたいです。
0665nobodyさん
2010/05/17(月) 14:29:55ID:???文系なら実践なんかより数学とか物理とかやっときな
社会人になってからだと勉強する時間はあんまとれないし
実践的なものは社会人になってから現場で鍛えていけばいいよ
文系なら何か資格の勉強するのもいいかもね
0666nobodyさん
2010/05/17(月) 18:58:00ID:aPsK4hN3詳細ページをジャンル毎に使い分けたいのですが、どうすればいいですか?
0667nobodyさん
2010/05/17(月) 19:05:01ID:???0668nobodyさん
2010/05/17(月) 21:10:37ID:???0669nobodyさん
2010/05/17(月) 22:48:31ID:HFLOjP9YWarning: simplexml_load_file() [function.simplexml-load-file]: ./xml.php:21: parser error : Start tag expected, '<' not found in /home/www/test.php on line 3
このエラーの原因はxml.php、test.phpのどちらにあるのでしょうか?
0670nobodyさん
2010/05/17(月) 23:19:51ID:???0671662
2010/05/18(火) 00:18:35ID:???とりあえず自分でなにかサイトとかいろいろ作ってみたいんで
実践というか、普通に業務用として通用するようなものを
作れるようになるには、なにを覚えていけばいいかということで書いてます。
0673nobodyさん
2010/05/18(火) 01:03:07ID:???正直、基礎の部分とか数学的な知識やアルゴリズム、
この辺りを理解出来てるやつはやらせれば何でもできる感じがする。
0674nobodyさん
2010/05/18(火) 01:20:24ID:bt8pZCnDcでいうsetw()のようなものです。
0675nobodyさん
2010/05/18(火) 01:29:29ID:???sprintf
0676nobodyさん
2010/05/18(火) 02:46:27ID:???自分で作った掲示板や住所録をabとかにかけてパフォーマンスを測定してみる。
で、結果について検討してみる。
0677nobodyさん
2010/05/18(火) 04:15:27ID:LkWXh4fo購入したphpでできたプログラムの一通りをサーバーにアップして、
install.phpを自分のドメイン/install.phpから実行すると、
includes/passwd.inc.php がありませんと出て、エラーになってしまいます。
CGIを設置できる位の知識しかない♀です。passwd.inc.phpは自分で作るのですか?
元ファイルの中にはどこにもないです…。
3日ほどにらめっこしているのですが、うまくいかなくて…
どなたか2千円位で設定代行していただけないでしょうか…?(泣)
[email protected]
0678nobodyさん
2010/05/18(火) 04:48:37ID:???自分で作るのかもしれない。
マニュアルか、INSTALLとかREADMEとかそういうファイルない?
それか、購入元に聞くのも手。
あと、製品名ぐらい挙げよう。
0679nobodyさん
2010/05/18(火) 06:28:46ID:???自分で作らせることはありえないと思う
解凍忘れか何か見落としてるのかも
作者が入れるの忘れてる可能性もあるけど
0680nobodyさん
2010/05/18(火) 08:48:07ID:4Is/EoN3どうしたらいいでしょうか?
0681nobodyさん
2010/05/18(火) 08:52:06ID:???0682680
2010/05/18(火) 08:54:58ID:???バージョンは5.3です
0683nobodyさん
2010/05/18(火) 09:15:11ID:???GDが入ってたらGDを使うのも手
ttp://jp.php.net/manual/ja/function.imagejpeg.php
0684680
2010/05/18(火) 11:44:14ID:???でも、躓きました。。。。
if ($ext == "jpg") {
$src_image = imagecreatefromjpeg($upfile);
}elseif ($ext == "png") {
exec('convert $upfile $ababab');
$src_image = imagejpg($asasewq);
$src_image = imagecreatefromjpeg($upfile);
}elseif ($ext == "bmp") {
exec('convert $upfile $ababab');
$src_image = imagejpg($asasewq);
$src_image = imagecreatefromjpeg($upfile);
}
↓こういう事をやりたいのですけど、
exec('convert aaa.png bbb.jpg');
$upfileはリソース状態だし、$src_imageもリソースで出力しないとうまくいかないし・・・
どうしたらいいでしょうか
0685nobodyさん
2010/05/18(火) 11:53:11ID:eHJncA6q0687nobodyさん
2010/05/18(火) 13:45:50ID:???+exec("convert $upfile $ababab");
0688680
2010/05/18(火) 14:26:30ID:???$src_image = imagecreatefromjpeg($upfile);
}elseif ($ext == "png") {
exec("convert $upfile $ababab");
$src_image = imagecreatefromjpeg($upfile);
}
無理でした
0689nobodyさん
2010/05/18(火) 14:30:42ID:???0692680
2010/05/18(火) 15:34:44ID:???Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg: JPEG library reports unrecoverable error(1)
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: '/tmp/phpavLVhZ' is not a valid JPEG file in on line(2)
if ($ext == "jpg") {
$src_image = imagecreatefromjpeg($upfile);
}elseif ($ext == "png") {
// $src_image = imagecreatefrompng ($upfile);
exec("convert $upfile $ababab");
$src_image = imagecreatefromjpeg($upfile);
}elseif ($ext == "bmp") {
exec('convert $upfile $ababab');
$src_image = imagecreatefromjpeg($upfile);(1)(2)
}
0693nobodyさん
2010/05/18(火) 15:55:36ID:???0694nobodyさん
2010/05/18(火) 15:58:33ID:???imagecreatefromxxxをしたらあとはそれをjpegで書き出すだけなんじゃ
0695nobodyさん
2010/05/18(火) 16:08:03ID:???header('Content-type: image/jpeg');
$ext = "png";
$filename = "hoge.png";
$img = null;
switch ($ext) {
case "png":
$img = imagecreatefrompng($filename);
break;
case "gif":
$img = imagecreatefromgif($filename);
break;
}
imagejpeg($img);
imagedestroy($img);
?>
pngしか確認してないがこんな感じで動いたぞ
0696nobodyさん
2010/05/18(火) 16:10:00ID:???convert使うならわざわざ判定する必要ないし。
虻蜂取らずとはこのことか
0697680
2010/05/18(火) 16:55:43ID:???bmpがだめです、どうしましょう?
0698nobodyさん
2010/05/18(火) 17:12:44ID:???今はどんなコードになったの。
GD使うの、それともconvert使うの。
0699680
2010/05/18(火) 19:09:52ID:???これがうまくいかないようです
bmpをうまくリソースとして扱うほうほうが分りません
0700nobodyさん
2010/05/18(火) 19:14:06ID:???もしかしてアイちゃんですか?
0701680
2010/05/18(火) 19:19:04ID:???これでやっても駄目なんです つД`)・゚・。・゚゚・*:.。..。.:*・゚
どうしたらよいでしょうか
0702680
2010/05/18(火) 19:29:05ID:???これだと↓のエラーがでます
Warning: imagecreatefromwbmp() [function.imagecreatefromwbmp]: '/tmp/php15jz5M' is not a valid WBMP file
exec("convert $upfile $src_image");
これはエラーは出ませんが、作用してません つД`)・゚・。・゚゚・*:.。..。.:*・
0703nobodyさん
2010/05/18(火) 20:01:32ID:???あんまり小出しにやるとスルーされる元だから自分でわかる情報は一気に全部だしなよ
http://www.php.net/manual/ja/function.imagecreatefromwbmp.php#13441
WBMP images are Wireless Bitmaps, not Windows Bitmaps.
0704nobodyさん
2010/05/18(火) 20:13:24ID:???0705nobodyさん
2010/05/18(火) 20:23:43ID:???wbmpなんて知らない人多いだろうし
まぁググればすぐ出てくるわけだけども
こういうときは実際にpng2wbmp関数とかでファイルを作ってみて
できたものをバイナリエディタで開いてbmpとヘッダ見比べてみればよい
0706680
2010/05/18(火) 20:56:50ID:???>>704
Fatal error: Call to undefined function ImageCreateFromBMP()
其れは使いましたが、未定義の関数だとエラーがでます
つかこんなに難しいことなのか・・・・
0707nobodyさん
2010/05/18(火) 21:04:34ID:???どうやったら簡単にできますか?
再帰的にノードを移動するしかない??
0708nobodyさん
2010/05/18(火) 21:18:35ID:???ちゃんと読んでるの?ていうかPHP理解してるの?
ユーザ定義関数なんだからコピペして使うにきまっとるがな
リンク先のを<?phpから?>までコピペしたのをimagecreatefrombmp.phpに保存するとして
>>695のを借りると
<?php
header('Content-type: image/jpeg');
$ext = "bmp";
$filename = "hoge.bmp";
$img = null;
switch ($ext) {
case "png":
$img = imagecreatefrompng($filename);
break;
case "gif":
$img = imagecreatefromgif($filename);
break;
case "bmp":
require_once("imagecreatefrombmp.php");
$img = ImageCreateFromBMP($filename);
}
imagejpeg($img);
imagedestroy($img);
?>
これでいけるだろ
0709708
2010/05/18(火) 21:19:41ID:???まぁ分かるよね
0710680
2010/05/18(火) 21:37:26ID:???うおぉぉぉっぉおぉおおおおおおおおお!!!!!!
出来ました!!!超感動です・・・・・・・
ほんとありがとうございました・・・・
俺がアホなばっかりに出来てたことも出来ないことかのように混乱させてしまいまして申し訳ないです つД`)・゚・。・゚゚・*:.。..。.:*・゚
皆さん本当にありがとうございました・・・・・
0712nobodyさん
2010/05/19(水) 00:36:03ID:YD5CY+Hg中の図形の座標を求めて塗りつぶす以外でお願いします。
0713nobodyさん
2010/05/19(水) 03:06:28ID:???0714nobodyさん
2010/05/19(水) 03:08:04ID:???元の図形を太らせて、その上に元図形をおくという方法もある。
フォントの縁取りとかするときに使ったりする
0715nobodyさん
2010/05/19(水) 11:19:10ID:???絵文字を出すphpが動いてくれるのになぜこれが呼び出せないのか不明です。何かわからないでしょうか?
ランダム表示のphp
<?php
$rndtxt[0] = 'あああ';
$rndtxt[1] = 'いいい';
$rndtxt[2] = 'ううう';
$weight = array(0, 0, 0, 1, 1, 2, 2, 2, 2, 2);
$num = $weight[round(rand(0, count($weight) - 1))];
print("$rndtxt[$num]");
?>
呼び出し
<!-- PHPランダム広告 ここから -->
<? include("/home/アカウント名/www/フォルダ名/php1.php"); ?>
<!-- PHPランダム広告 ここまで -->
0716nobodyさん
2010/05/19(水) 11:29:48ID:???追記
チカッパからさくらインターネットにサーバ移転しました。ドメインは同じままです。
これも原因なのでしょうか?
0717nobodyさん
2010/05/19(水) 11:35:55ID:???yahoo知恵袋などで質問されることをお勧めします
0718nobodyさん
2010/05/19(水) 11:40:07ID:???0719nobodyさん
2010/05/19(水) 12:16:49ID:t/z/xcK5PHPでMySQLを呼び出して表示しています
MySQLサーバーが起動していない時はこのようなエラーが出るのですが
Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'www' (4) in index.php on line 25
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /index.php on line 26
db connect Error
このエラーが出るとき代替文字を表示したりとは出来ないでしょうか?
例:MySQLサーバーが起動していません 等
0720nobodyさん
2010/05/19(水) 12:21:53ID:???@mysql_connect() === false の場合に分岐させるだけ
http://www.php.net/manual/ja/language.operators.errorcontrol.php
0721nobodyさん
2010/05/19(水) 12:26:05ID:t/z/xcK5素早いレスありがとうございます!
調べ不足でした・・・本当にありがとうございました!
0722nobodyさん
2010/05/19(水) 12:44:43ID:t/z/xcK5mysqlサーバーが起動してない場合応答待ちなのかphpの表示がかなり遅くなります
〜秒以上応答が無ければエラーを表示したいのですが
その場合はどうすればいいのでしょうか?
調べてみましたがいまいちわかりませんでした・・・
よろしくお願いいたします
0723nobodyさん
2010/05/19(水) 12:54:44ID:???http://www.php.net/manual/ja/mysql.configuration.php#ini.mysql.connect-timeout
0724nobodyさん
2010/05/19(水) 13:06:31ID:t/z/xcK5レスありがとうございます
自分で調べたときもそれをみつけたのですが
WEBサーバーが自分の運営しているものでないとiniの設定が変えれないばかりと思ってました
ini_set()という関数があったんですね・・・
すいません・・・
0725nobodyさん
2010/05/19(水) 16:29:43ID:???0726725
2010/05/19(水) 16:30:13ID:CN/WlG3h0727nobodyさん
2010/05/19(水) 16:32:54ID:???Manual :: PEAR とは?
http://pear.php.net/manual/ja/about.pear.php
0728nobodyさん
2010/05/19(水) 17:18:00ID:???0730nobodyさん
2010/05/19(水) 17:41:55ID:???0732nobodyさん
2010/05/19(水) 18:06:17ID:???えんぴつかよwwwwwwwwwww
0733nobodyさん
2010/05/19(水) 18:24:11ID:OTGyQjINarray(32,28 , 33,28 , 36,22 , 30,22 , 32,23 , 32,21),
array()
);
$vnum = count($values);
$data = split("\n",$_POST['dots']);
for($i=0;$i<count($data);$i++){
$val = split(",",$data[$i]);
if(preg_match("!^\d+$!",$val[0]) && preg_match("!^\d+$!",$val[1])){
array_push($values[$vnum-1],$val[0]);
array_push($values[$vnum-1],$val[1]);
}
}
print_r($values);
として、3つ座標を入れてみると、
[1] => Array ( [0] => 222 [1] => 333 ) となり、最後に指定したものしか入っていません。
なぜでしょうか?わかるかたお願いします。
0734nobodyさん
2010/05/19(水) 18:31:17ID:???yahoo知恵袋などで質問されることをお勧めします
0735nobodyさん
2010/05/19(水) 18:42:41ID:???0737nobodyさん
2010/05/19(水) 22:36:29ID:UXVN8Vtx配列で皆解決するのでまったく使わないんだが、裏のC言語側での挙動が違ってたりするのだろうか。
0738nobodyさん
2010/05/19(水) 22:43:59ID:2BQOe4aWカテゴリー
サブカテゴリー
サブサブカテゴリー
こんな感じです
よろしくお願いします
0740nobodyさん
2010/05/20(木) 06:14:12ID:???0741nobodyさん
2010/05/20(木) 18:27:27ID:???0742nobodyさん
2010/05/20(木) 18:31:30ID:???値渡しは無意識に普通にやってるはずだ
参照渡しを知らないっていうケースはあるが
それは違いがわからないではなく単に知らないだけ
両方知ってるやつに限定すれば違いが分からないなんてことはないでしょう
0743nobodyさん
2010/05/20(木) 18:34:02ID:???0744nobodyさん
2010/05/20(木) 18:48:53ID:???0745nobodyさん
2010/05/20(木) 18:56:31ID:???0746nobodyさん
2010/05/20(木) 22:21:09ID:???yahoo知恵袋などで質問されることをお勧めします
0747nobodyさん
2010/05/20(木) 22:34:44ID:???ttp://e-words.jp/w/E58F82E785A7E6B8A1E38197.html
この文章読む限りPHPが特別とは思わないが
PHPの参照渡しがやってることはまさにここに書かれてることと同じなわけで
0748nobodyさん
2010/05/20(木) 22:37:42ID:???>(メモリ中のアドレスなど)を渡す方式
これってようするにポインタってやつだよね?
確か昔PHPの参照渡しはコピーがうんちゃらって見たような気がしてきた
結果は同じだけど過程が違うということか
0749nobodyさん
2010/05/21(金) 00:07:47ID:???「んなアホなw」と一瞬思った。
でも、もしかしたらそうかもね。
引数としてポインタを渡してるのを、(引数渡し方の分類としての)参照渡しだと
思ってるのをちょこちょこ見かけるもんね。
0751nobodyさん
2010/05/21(金) 01:05:28ID:???5以降は参照渡しになったから意識する事ないと思う。
変数とか引数では使う機会がないというか使うべきじゃない
そもそもphpのリファレンスは遅いらしいし
0752nobodyさん
2010/05/21(金) 01:43:00ID:???良さを教えてください。
0753nobodyさん
2010/05/21(金) 01:49:28ID:???分かりたいならフレームワークでも使って必死に勉強してください
0754nobodyさん
2010/05/21(金) 01:56:57ID:???わからない人にはわからないからいい?
mvcを常用してる人ってそれで優越感を感じてるだけ?
裸の王様の取り巻き的な何かを感じる。
0755nobodyさん
2010/05/21(金) 02:01:08ID:???規模が膨れてきたりコードの保守をするようになったら分かる
責任や役割の分担なんて子供の遊びでもあるだろ
一見散らかった部屋も自分には分かりやすい
だがルールに従って整理されてれば誰にも分かりやすい
必要になったら考えれば?
0757nobodyさん
2010/05/21(金) 02:16:42ID:???いい例えですね
ありがとうございます。
何が分かりにくいか、何がめんどくさいと思ってたか漠然とわかりました。
そのルールに慣れてなく、見難いと感じてしまってるんですね。
誰に聞いても、理解に到達する答えを貰えなかったんですが
すっきりしました。
そのmvcで作ったプログラムを引き継いで見て
mvcは見にくいし修正するのもめんどくさいと感じてしまったんです。
0758nobodyさん
2010/05/21(金) 02:18:23ID:???だいたいMVCとかスレ違いもいいところ
Cakeスレでもいけよ
つうかID出さない分際でまともな回答を期待するな
0759nobodyさん
2010/05/21(金) 02:38:56ID:???技術的にはどうMVCに分けるのかとか
コード見て何をやっているのかは理解していますし、
mvcに分けてコーディングすることもできます。
ただそれが、めんどくさって思うんです。
ただそれがどういった場面で優位になるのかを知りたいのです。
他の人が見やすいというお答えをいただきましたが
見やすい人には見やすいんでしょうねと理解しました。
それ以外にも何かありますか?
0760nobodyさん
2010/05/21(金) 02:51:40ID:???0761nobodyさん
2010/05/21(金) 02:54:52ID:???単純に文字列の読み書きの場合、テキストファイルから読み出し書き込みをするのと
MySQLを使って読み書きを行うのでは負荷がかなり違ったりするのでしょうか
0762761
2010/05/21(金) 02:57:14ID:???こんなので悩んでて恥ずかしいですごめんなさい。
0763nobodyさん
2010/05/21(金) 02:57:25ID:???自分で好きなように作ればいいと思うよ。
MVCやらフレームワークの使い方を覚えて
開発するって方が非効率な場合もあるしな。
時と場合によって使い分けるべきであって、
何でもかんでもMVCで開発しろというのもおかしな話しだ。
あと既存のフレームワークはメリットも大きいけど、
逆に「自分で書いたコード」と「フレームワーク自体のコード」
この両方を保守、管理しないといけない事も自覚するべき。
0764nobodyさん
2010/05/21(金) 03:00:29ID:???MVCモデルってのは分業の中核であって1人の開発じゃ特にメリットなんてない
そのモデルを実装してるのがフレームワークだが
フレームワークはラピッド開発のためのアプリケーション土台でもあるので
MVCモデルなんて意識することはなく
ラピッド開発のためにフレームワークを個人でも使うことはよくある話
MVCなんてぶっちゃけどうでもいい
普通に開発してる状態ならMVがくっついたりVCがくっつくのはよくあること
0766nobodyさん
2010/05/21(金) 03:02:48ID:???そう。面倒なんだよ。
楽する為の苦労が苦でないならいいんだが
たとえば書いて表示するだけの掲示板を作ったとして
人によって
- ここにこれを表示したい
- これはこの順番
とかとか言う訳さ
- じゃあ,データは渡すからそっちで勝手にやってよ
っていう渡す先がいわゆるView
windows も xp 以降は msstyles っていうスキンみたいのがあるじゃん
V の部分が分かれてない win2k 迄はプログラム本体(explorer.exe)をいじらないと
いけなかったけど,ビューを分離させた事でいろんな見た目を実現できた
つー訳
こんなの前にも書いたな。っていうロジックを function にまとめるのと同じ
見た目の数だけコード書くなんてアホらしいだろ?
突き詰めると OOPとかデザインパターンとか最終的にはPHPは言語仕様がぬるぽ
0768nobodyさん
2010/05/21(金) 03:05:29ID:???良さを教えてください。
0771nobodyさん
2010/05/21(金) 03:07:33ID:???0773nobodyさん
2010/05/21(金) 03:19:19ID:???ネタnマジレスいた島s
SQLは呼び出し側は自然言語に近い(と言っても英語だがwwwwwwww
記法で方言もあるけど基本的にはどこでも通じるし,ベタテキストを
自前で処理するよりはるかに高速に取得,集計できる
MVCの話じゃないがスタックやキャッシュじゃ無ければ
やはり専門家に預けるのが確実
0774nobodyさん
2010/05/21(金) 03:24:03ID:???PHPでOOP
http://pc11.2ch.net/test/read.cgi/php/1172205352/
0776nobodyさん
2010/05/21(金) 03:37:09ID:???この中から一個だけ取り出したい
テキストベースの場合は一個づつ見て見つける
DBの場合は摘んだやつがすでに欲しい豆
だから楽
0777nobodyさん
2010/05/21(金) 03:43:53ID:???良さを教えてください。
0779nobodyさん
2010/05/21(金) 03:55:40ID:???効率と便利は状況によりけりだと思う。
逆にその状況ではない人にとっては、まったく便利に感じない人もいる。
RDBは大量のデータを処理する際にも整合性を担保してくれるけど、
KVSはデータの永続性や整合性を保証してくれるとは限らない。
その分KVSはRDBと比べると圧倒的な性能と手軽さがある。これが効率と便利なんじゃないかな。
0780nobodyさん
2010/05/21(金) 03:58:18ID:???KVSってよくわからないけどググった感じだと同じ豆のはいった桶が一杯あって
豆を掴むごとに桶をひっくり返す感じかな
良さはわからんw
0781nobodyさん
2010/05/21(金) 04:10:36ID:???何を言っているんだろう、と思ったけど「だから楽」のところで理解した。
DBの方が早いとは限らんし、テキストファイルだとランダムアクセスが
苦手と決めるのも勘違いはなはだしいもんな。
まぁ、パフォーマンスが許されるなら楽な手段を採るのはよくあることだし
0782nobodyさん
2010/05/21(金) 05:10:41ID:???たしかに毎回丸ごと読み込んで丸ごと書き出すならテキストだな
一応予防線張ったつもりだったけど実用レベルじゃねーと思ってさ
KVSの利点は単純な分高速でスケールアウトしやすい
ただ全部を1次元ハッシュテーブルで考えるのは大変
適材適所だっp
0783nobodyさん
2010/05/21(金) 05:12:59ID:???良さを教えてください。
0784nobodyさん
2010/05/21(金) 05:19:10ID:???0785nobodyさん
2010/05/21(金) 05:40:19ID:???make uninstall
ができないんだけど,前はできたはずなんだけどどうして?
0786nobodyさん
2010/05/21(金) 05:53:25ID:???何が効率的、便利なのかっていうのは他と比較しないと分からないだろ。
PHPだけしか知らないやつがそんなこと言うわけないよな。
お前は何と比較してそう言ってるわけ?
0787nobodyさん
2010/05/21(金) 06:22:09ID:k01RW2taその辺のレン鯖には普通に入ってますか?
Perl PHP MySQLとか謳ってるとこはよくみるけど
memcachedとかはみかけたことないから使えないのかな?
一応デーモンなら接続先情報ぐらいは書いてるだろうし・・・
ポート11211で接続してみてレスポンスなかったらその鯖じゃ使えないと割り切るしかないんですかね?
phpinfoには特に情報はのってなさそうです
0788nobodyさん
2010/05/21(金) 07:04:08ID:???ハードウエアで言えば、
IC/LSIの何がいいのかわからない。何が便利なのか?効率がいいのか?さっぱりわからない
良さを教えてください。
てな感じか。
0789nobodyさん
2010/05/21(金) 07:54:10ID:???おっ
時と場合によって使い分けるってのを言ってくれた人も初めてです。
それをして良いのかいけないのかも分からなかった。
「自分で書いたコード」と「フレームワーク自体のコード」これはかなりコストですねぇ
賭けでもありますね
開発が停止になってしまったフレームワークもありますしね。
プログラムの一部が外部にあるって言うのはそういうリスクがついて回りますよね
0790nobodyさん
2010/05/21(金) 08:04:36ID:???0791nobodyさん
2010/05/21(金) 08:25:38ID:???ですねぇ散々考えて何がメリットか分からなかったんで、まぁ脳みそが足りないのは認めますが
なかなか質問に的確に答えられる人がなかなかいないので
もしかしてみんな知ったかぶってステータス?プライド?のためだけにmvcやらフレームワークがいいといってるだけなのかなぁと
疑念が沸いてきちゃったのでその疑念を晴らしてくれる人がいないかなぁと思って
ここで質問させてもらいました。
結果、やはり納得できそうな説明をしていただける人がいるたので
ここで質問してよかったなぁと思いました。
持論ですが、こういった質問されてきちんと説明できる人が、本当に理解してて
切れたり、自分で調べろって言ったり、別の話をしてはぐらかす人は理解が乏しいのに分かってる振りして
自分を取り繕って苦しんでる人なんだろうなと思ってます。
0792nobodyさん
2010/05/21(金) 08:38:40ID:U8/yKqa90793nobodyさん
2010/05/21(金) 08:41:26ID:???0794nobodyさん
2010/05/21(金) 09:40:14ID:???もう解決したのかな?
> SMTP localhostになってるんで動いてると思います
これってphp.iniにそう書いたら出てるだけじゃないの?
SMTPを変えるか、XAMPP同梱のsendmail.exe使ったら?
php.iniにsendmail_pathって箇所があるから、そこをコメントアウトして、パスを書いてあげれば動いたと思うんだけどな。
0795nobodyさん
2010/05/21(金) 10:32:00ID:???共有鯖には間違いなく入ってない
占有なら自分で入れるか頼むかだろうね
>>789
バグもフレームのうちだもんな
でもMVCとFWどうこうは全然別の話だぞ
0796nobodyさん
2010/05/21(金) 11:18:00ID:???(?<R>START((?!START|END).|\g<R>)*END)
だとSTART〜ENDの間に改行があると検索できません。
改行も含めた検索をするにはどうすればよいでしょうか?
0797nobodyさん
2010/05/21(金) 11:27:29ID:???かっこつけてMVCとか言うんじゃないのよ
0798nobodyさん
2010/05/21(金) 11:43:37ID:???0799nobodyさん
2010/05/21(金) 15:17:26ID:???0800nobodyさん
2010/05/22(土) 00:17:44ID:???まあ、機能が貧弱なのであまり使いたくはないが。
0801nobodyさん
2010/05/22(土) 00:22:09ID:???0802nobodyさん
2010/05/22(土) 01:06:33ID:???しかしごく一部のバイナリがそのまま出力されるようです
どのようにしたら良いですか
function clean($str) {
$str = mb_convert_encoding($str,"UTF-8","UTF-8");
$str = preg_replace('/[\x00-\x08\x0b-\x0c\x0e-\x1f\x7f]/','',$str);
$str = stripslashes(htmlspecialchars($str,ENT_QUOTES,"UTF-8"));
return $str;
}
0803nobodyさん
2010/05/22(土) 15:06:24ID:XHChMTdn0804nobodyさん
2010/05/22(土) 15:19:16ID:???0805nobodyさん
2010/05/22(土) 16:25:48ID:???何でもできるというなら、
テンプレートの継承(またはレイアウトテンプレート)と
文脈に応じた自動エスケープ機能と
あとマトモなHTMLとしてプレビューできる構文
を寄越せ
0806nobodyさん
2010/05/22(土) 16:30:19ID:???0807nobodyさん
2010/05/22(土) 16:53:47ID:???文脈に応じたっていうのはちょっとしんどそう。他の具体例を挙げてもらえるかな。
まともなHTMLがほしければ整形ツールでも使えば?
0808nobodyさん
2010/05/22(土) 19:24:40ID:???0809nobodyさん
2010/05/23(日) 00:38:43ID:???違うならちょっとわかんね
0810nobodyさん
2010/05/23(日) 00:40:46ID:???自分でやったことをいいたかっただけになってるな。
まぁ、smartyを指して貧弱だというのはphpの機能自体が貧弱だといっているのと同じだよね
0811nobodyさん
2010/05/23(日) 16:43:09ID:8iYZevyzRubyやPythonみたいに
0812nobodyさん
2010/05/23(日) 16:46:18ID:???0813nobodyさん
2010/05/23(日) 16:51:48ID:8iYZevyzでは例えば、
Dir.glob("*.txt").each {|x| File.remove(x)}
とかってPHPだとどうやって書きます?
0814nobodyさん
2010/05/23(日) 16:57:20ID:???0815nobodyさん
2010/05/23(日) 16:57:48ID:???0816nobodyさん
2010/05/23(日) 17:20:08ID:???どういう意味かわからないけど、カレントディレクトリの.txtを消すでいいかな?
【hoge.php】
<?php
$list = scandir(getcwd());
foreach ($list as $value) {
if (preg_match("/\.txt$/", $value)) {
unlink($value);
}
}
?>
【コマンド】
php -f hoge.php
0817nobodyさん
2010/05/23(日) 17:29:17ID:???0818nobodyさん
2010/05/23(日) 17:29:31ID:8iYZevyzコードありがとうございます
こちらが例示したコードの意味はその通りです
多少冗長になるものの可能そうですね
取っ掛かりにさせてもらいます、どうもです
0819nobodyさん
2010/05/23(日) 17:30:38ID:8iYZevyzそのままの関数があるんですね、どもです
0820816
2010/05/23(日) 17:31:15ID:???glob関数は知りませんでした
まぁ初心者に毛が生えた程度なので勘弁してくだしあ
0821nobodyさん
2010/05/23(日) 17:41:08ID:???0822nobodyさん
2010/05/23(日) 17:47:18ID:???0823nobodyさん
2010/05/23(日) 17:49:22ID:???いい加減適材適所という言葉を覚えろや
0825nobodyさん
2010/05/23(日) 17:55:11ID:???jpegを例にしただけで、mimeがplain/textだとしても他にも、
C言語のc、Perlのpl、Rubyのrbなどplain/textの拡張子が3文字とは限らないわけで。
0826nobodyさん
2010/05/23(日) 17:58:44ID:???今回の場合は .txt のみを対象にしてるわけだから 4文字でいいじゃん
そういうのを屁理屈っていうんだよ
0827nobodyさん
2010/05/23(日) 17:58:58ID:???0829nobodyさん
2010/05/23(日) 18:02:59ID:????
>>827
できるわけがない。
>>824のレスに対してのレスなので、
jpegっていったことに関して画像は関係ないだろといわれてると思ったので、
>>825のようなレスを返しただけ。
0832nobodyさん
2010/05/23(日) 18:13:30ID:???質問主のやりたいこととは無関係な話なわけだが・・・
0833nobodyさん
2010/05/23(日) 18:34:06ID:???>>813のどこにそんなことが書いてあるの?
0835nobodyさん
2010/05/23(日) 18:42:54ID:???拡張子がtxtのファイルを探したい
↓
正規表現で探す
↓
文字列探索でいいだろとつっこみが入る
↓
文字列探索だけだと.txt.phpみたいのもかかるかとおもって正規表現にした
↓
末尾から4文字切り取れ
これのどの辺がおかしいのかよく分からんのだが・・・。詳しく説明してくれないか。
0836nobodyさん
2010/05/23(日) 18:52:38ID:???回答者が想定しているケースは「みたいなもの」と言ってるように.txt.phpだけではないということ。
.txt.phpだけに限れば.txtになるが、.txt.cだったら.tになる。
よって4文字と文字数を限定するのは当てにならない。
0837nobodyさん
2010/05/23(日) 18:55:47ID:???それか泥臭くとも>>816(正規表現式は間違ってるが)と答えるな
拡張子と質問者が明示して尋ねてるのなら末尾Nバイト比較でいいが今回は余計な一言だった
0838nobodyさん
2010/05/23(日) 19:01:07ID:???このスレではよくあること。
0840nobodyさん
2010/05/23(日) 19:10:50ID:???0842nobodyさん
2010/05/23(日) 20:09:35ID:PZlPEOvW0843nobodyさん
2010/05/23(日) 20:13:44ID:???0844nobodyさん
2010/05/23(日) 20:45:23ID:???まあ切り取ってという表現が誤解を招いたのかな。
もう少し柔軟に解釈しろよw
0848nobodyさん
2010/05/23(日) 21:51:40ID:???0850nobodyさん
2010/05/23(日) 22:01:48ID:???>>>824は末尾から四文字を比較しろって言ってるだけだろ?
いいえ違います
ちゃんと流れを読んで下さい
>>816で文字列探索に正規表現なんて必要ない→
.txtという文字列があったら削除だと.txt.phpでも削除されてしまう
だから正規表現で.txtで終わるにすればいい→
それでも正規表現を使わずに末尾から4文字(.phpの部分)を切り取ればいい→
それだとtext.jpegとか.xxxが4文字でない場合はどうするの?→
以下流れを読まないやつのレスで話が異次元へ
こういう流れ
0851nobodyさん
2010/05/23(日) 22:05:09ID:WeyQqAH3真正すぎて見てられないわ
なんで >>836 で拡張子が php であるはずの .txt.php を末尾4文字を除去して txt として評価してんの?馬鹿じゃねーの?
if (substr($filename, -4) == '.txt') unlink($filename);
こうするだけだというのに何言ってんだか
0854nobodyさん
2010/05/23(日) 22:13:15ID:???任意の拡張子に応用する場合のことを言ってるの?だとしても任意の拡張子の文字数数えればいいだろ。馬鹿じゃねーの?
0855nobodyさん
2010/05/23(日) 22:13:57ID:???0858nobodyさん
2010/05/23(日) 22:14:56ID:???0859nobodyさん
2010/05/23(日) 22:15:50ID:???みんな間違ったこと言ってないだろ。
要するに正規表現使っても、末尾で比較しても同じこと。
拡張子判定のロジックの例を言ってるだけだ。
例として末尾四文字の比較を上げてるだけで、終端最初のピリオドを調べて切り出し比較してもいいし、pathinfo使ってもいい。
正規表現使うより末尾で比較した方が処理としては速いからそっちを進めてるだけでしょうが。
お前の理屈なら>>816の正規表現でtext.jpegの拡張子で.txt判定出来るの?って言ってることと同じ。
0860nobodyさん
2010/05/23(日) 22:16:08ID:???動的にカウントするぐらいなら最初から正規表現でいいやん。
これって結局正規表現アレルギーがまた暴れてるんでしょ?
0864nobodyさん
2010/05/23(日) 22:38:06ID:???正規表現が万能とでも思ってるのか?
0865nobodyさん
2010/05/23(日) 22:40:01ID:???.txtが文字列に入ったら消したい(>>813)→
.txt.phpを想定して.txtで終わるように正規表現で変えてみました(>>816)→
.txtで終了するの探すのに正規表現なんていらんよ(>>817 >>821)→
>>821-822間で勘違い発生→
以下考えてることがバラバラでgdgd
結論:>>824が喧嘩腰ではなく懇切丁寧にうまく勘違いを訂正できればよかったのだが
勘違いしてる相手には異次元にしか聞こえかった
0867nobodyさん
2010/05/23(日) 22:44:49ID:???0870nobodyさん
2010/05/23(日) 22:47:55ID:???0871nobodyさん
2010/05/23(日) 22:49:15ID:???0872nobodyさん
2010/05/23(日) 22:50:16ID:???お前らも同類
0873nobodyさん
2010/05/23(日) 22:52:32ID:???0874nobodyさん
2010/05/23(日) 22:52:37ID:???0875nobodyさん
2010/05/23(日) 22:52:58ID:???0876nobodyさん
2010/05/23(日) 22:55:45ID:???複雑だから?速度面で?
0877nobodyさん
2010/05/23(日) 22:56:07ID:???0878nobodyさん
2010/05/23(日) 23:05:50ID:???すごいやつがいたんだなwww
0879nobodyさん
2010/05/23(日) 23:08:56ID:???0880nobodyさん
2010/05/23(日) 23:11:09ID:???終わったのにいつまでもやってんじゃねえよ
wwwwwwwwwwwwwwwwwwwwwwww
0881nobodyさん
2010/05/23(日) 23:17:24ID:???ありがとう。
こっちも一応速度テストは>>816と>>851とおまけでglob使うのでしてみた。
>>816が0.0009x
>>851が0.0006x
globが0.001x
結果は、
>>851 > >>816 > glob
globって遅いんだね。
やっぱ速度差なのかな?1/10000秒単位だから、もっと他に理由があると思ったんだけど。
0884nobodyさん
2010/05/23(日) 23:21:40ID:???正規表現は書き方と対象文字列の長さによって大きく速度が変わるよ。
あと、>>851は
strrchr($v, '.') == '.txt'
こうすりゃもっと簡単で柔軟。
0885nobodyさん
2010/05/23(日) 23:22:23ID:???ディレクトリ名がhoge.txtの場合を考えないとだめなんでないの
0886nobodyさん
2010/05/23(日) 23:24:21ID:???いいこと聞いた。今度試してみよう。
0887885
2010/05/23(日) 23:30:01ID:???0888nobodyさん
2010/05/24(月) 00:06:24ID:DmnGs3M4for($i=4;$i<21;$i++){
$key = $i-4;
array_push($tes,$key=>$row[i]);
}
array_pushで$aに連想配列で値を追加していきたいですが、エラーに成ってしまいます。
正しい書き方はどんな感じでしょうか?ちなみに、$row,$keyはintです。
0889nobodyさん
2010/05/24(月) 00:11:39ID:???0890nobodyさん
2010/05/24(月) 00:12:00ID:???array_push($tes, array( $key => $row[i] ) );
それともこっち?
$tes[$key] = $row[i] ;
0891nobodyさん
2010/05/24(月) 00:25:59ID:???print_rすると、
0=>11,1=>21,2=>5,・・・・
となって欲しいのですが、どうなのでしょうか?
0892nobodyさん
2010/05/24(月) 00:51:39ID:???0893nobodyさん
2010/05/24(月) 00:53:00ID:???なら>>890のでできるはずだけど
$tes = array();
for($i=4;$i<21;$i++){
$key = $i-4;
$tes[$key] = $row[$i];
}
print_r($tes);
0894nobodyさん
2010/05/24(月) 01:15:26ID:???$rowはpearのDBからの取得です。
$tes = array();
$row = $res->fetchRow();
for($i=4;$i<21;$i++){
$key = $i-4;
$tes[$key] = $row[i];
}
みたいにやってみたんですが、$rowの値が$tes入ってないようです><
お手数おかけして申し訳ないです。
0895nobodyさん
2010/05/24(月) 01:19:37ID:???$tes[$key] = $row[i];
$tes[$key] = $row[$i];
どこが違うかよく見てみ
0896nobodyさん
2010/05/24(月) 01:21:28ID:???スレ汚し申し訳けありませんでした。
解答ありがとうございました
0897nobodyさん
2010/05/24(月) 01:59:46ID:???keyが0から始まる正数なら別にkey指定しなくてもいいと思うけど
$tes = array();
for($i=4;$i<21;$i++){
$tes[] = $row[$i];
}
print_r($tes);
結果は同じになると思う
0898nobodyさん
2010/05/24(月) 02:00:57ID:???0899nobodyさん
2010/05/24(月) 02:04:06ID:???0900nobodyさん
2010/05/24(月) 02:07:12ID:???$tes = array_slice($row, 4, 17);
0901nobodyさん
2010/05/24(月) 02:19:52ID:???シンプルに書けるっていう意味ならそれでいいと思うけどね
0902nobodyさん
2010/05/24(月) 02:22:12ID:???さーせんでした
0903nobodyさん
2010/05/24(月) 07:57:43ID:???0904nobodyさん
2010/05/24(月) 11:51:31ID:???何が間違っているかさっぱりわかりません。
どなたかご教授頂けませんでしょうか、よろしくお願い致します
function printHeder(){
print<<<END
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
END;
}
function printFooter(){
print<<<END
</body>
</html>
END;
}
0905nobodyさん
2010/05/24(月) 11:54:48ID:???もう少し分かるように説明して。
0906nobodyさん
2010/05/24(月) 12:01:44ID:???このラベルって、同一ソースファイル内でユニークでなくとも良かったっけ?
0908nobodyさん
2010/05/24(月) 12:08:23ID:???0909nobodyさん
2010/05/24(月) 12:08:36ID:???最初のfunction printHederはfunctionの文字が緑色に替わるのですが
下のfunction printFooterは黒色のままなのです。(PHPエディターを使っています)
エラーメッセージは
Parse error: syntax error, unexpected $end in C:\www\0801.php on line 92
その行(一番最後の行)はこうなっています
90 END;
91 }
92 ?>
0911nobodyさん
2010/05/24(月) 12:18:28ID:???0912nobodyさん
2010/05/24(月) 12:24:28ID:???今全てのENDの前後のスペース、インデント調べてやりなおしたところ正常に作動しました。
みなさまお力貸してくださりほんとうにありがとうございました。
昨日の夜から何時間も解決できずにモヤモヤしていたものが吹っ飛び今はスッキリ爽快です。
0913nobodyさん
2010/05/24(月) 12:27:06ID:???この長い月日のおかげで俺の存在がこのスレで大きかった事がよくわかった
0915nobodyさん
2010/05/25(火) 12:31:12ID:???お前がいなくて誰も答えてないからな
0916nobodyさん
2010/05/25(火) 12:37:19ID:???if (a==1){
functionA()
}
}
みたいな条件一致するまでループっていう方法ってPHPだとAjax使うしかなさそう?
0920nobodyさん
2010/05/25(火) 12:49:02ID:???タイムアウトのこといってるならAjaxでもPHPにリクエストする以上結果は同じでしょうに
0921nobodyさん
2010/05/25(火) 12:55:47ID:???0922nobodyさん
2010/05/25(火) 13:02:40ID:???0923nobodyさん
2010/05/25(火) 15:34:04ID:LcAAmhVu管理画面に入出する際のIDの名称ってどれにしてます?
0924nobodyさん
2010/05/25(火) 15:53:03ID:???0925nobodyさん
2010/05/25(火) 16:02:21ID:???0926nobodyさん
2010/05/25(火) 16:17:33ID:???0928nobodyさん
2010/05/25(火) 16:35:14ID:???0929nobodyさん
2010/05/25(火) 16:37:37ID:???0930nobodyさん
2010/05/25(火) 16:49:07ID:???0931nobodyさん
2010/05/25(火) 22:16:47ID:???名称と言うか呼称というかフォームのラベルの表記みたいな事だろ
サイト管理者用の前提で考えれば
ログインするIDなんだからログインIDがベスト
0932nobodyさん
2010/05/25(火) 22:22:02ID:???一般的にはユーザ名かアカウントだと思うな
0933nobodyさん
2010/05/25(火) 22:51:23ID:LcAAmhVu一般会員用 → ユーザ名
にします。ご意見ありがとうございました。
0934nobodyさん
2010/05/25(火) 23:05:41ID:???http://pc11.2ch.net/test/read.cgi/php/1272872528/
0935nobodyさん
2010/05/26(水) 00:06:49ID:???0937nobodyさん
2010/05/26(水) 00:58:30ID:???こんな感じで。
$str = gen_str( "a", 5 ); // aaaaa
0938nobodyさん
2010/05/26(水) 01:00:23ID:TMQUCua5str_repeat
0942nobodyさん
2010/05/26(水) 03:32:21ID:???0944nobodyさん
2010/05/26(水) 04:10:51ID:???魚をやるより釣り方を教えてやる
>>937
PHPマニュアルには文字列処理を行う関数をまとめたページがちゃんとあって
http://php.net/manual/ja/ref.strings.php
文字列を処理するならまずここを見ておけ。
0947nobodyさん
2010/05/26(水) 10:24:22ID:???俺もだけどな。
0948nobodyさん
2010/05/26(水) 11:00:08ID:???$b = array('1', '2', '3', '4');
上の配列で全組み合わせを出力するにはどうすればいい?
ただしa-aとか1-1とか同じ値の組み合わせは除外する。
0949nobodyさん
2010/05/26(水) 11:05:17ID:???0951nobodyさん
2010/05/26(水) 11:20:39ID:???0953nobodyさん
2010/05/26(水) 11:37:01ID:???やっぱり以下のように変更。
$a = array('a', 'b', 'c', 'd');
$b = array('1', '2', '3', '4');
$c = array('A', 'B', 'C', 'D');
a-1-A
a-2-A
...
1-a-D
A-c-1
みたいな全組み合わせだ。
各配列一つずつ使って重複してはいけない。
0954nobodyさん
2010/05/26(水) 11:39:14ID:???値の重複消してマージするのってあったっけ。
0955nobodyさん
2010/05/26(水) 11:39:59ID:???http://pc11.2ch.net/test/read.cgi/php/1271172618/
0956nobodyさん
2010/05/26(水) 11:40:03ID:???ま、質問じゃないのでスルーかな。
0957nobodyさん
2010/05/26(水) 11:43:18ID:???一つの解でも色々方法があると思うのでそれに興味があった。
>>956
二つの配列でもオッケイです。
0958nobodyさん
2010/05/26(水) 11:59:05ID:???ルールは守れ
0960nobodyさん
2010/05/26(水) 12:05:35ID:???ちなみにさっきの質問はしょぼい方法しか思いつかなかったわ。
0961nobodyさん
2010/05/26(水) 12:06:51ID:???0962948
2010/05/26(水) 12:21:00ID:???自己解決しました
こんな簡単なのも答えられないなんてこのスレ意味あるの?
0963nobodyさん
2010/05/26(水) 12:22:04ID:???それぞれに対して全順列出す方法をとるかなぁ。
3個固定なら、6通りなので俺なら6パターン分直接作るかなぁ。
それ以上は、また別途だな
0964nobodyさん
2010/05/26(水) 12:29:18ID:???0966nobodyさん
2010/05/26(水) 22:57:43ID:qKCwPOmRちなみにubuntuでlampp/bin/peclでやってみてます。
checking for xdl_diff in -lxdiff... no
configure: error: wrong xdiff lib version or lib not found
ERROR: `/tmp/pear/temp/xdiff/configure --with-xdiff=/opt/lampp/lib' failed
0967nobodyさん
2010/05/27(木) 23:31:01ID:pcO12PPcここのサイトのやり方でできました。
libxdiffが必要とか初心者の俺にはわからんよ・・・
ちなみにlibxdiffのバージョンは0.23でやりました。
http://www.koshigoe.sakura.ne.jp/hiki/?%5BPHP%5D%A5%DE%A5%CB%A5%E5%A5%A2%A5%EB%A5%A6%A5%A9%A5%C3%A5%C1%A5%F3%A5%B0+vol.01#l10
0968nobodyさん
2010/05/27(木) 23:41:23ID:???これが理解できないのが理解できない
error: wrong xdiff lib version or lib not found
0969nobodyさん
2010/05/28(金) 06:34:11ID:1AVHPGERえー
だってどこもpecl install xxxxみたいな方法でのインストールって書いてあるから
わざわざlibxdiffが別途必要なんてわからんよ。
PECLのホームページにもlibxdiffが置いてあるわけじゃないし。
ほかのも全部別途lib必要なのか?
0970nobodyさん
2010/05/28(金) 06:40:45ID:???いや966にそう書いてあるじゃん
0971nobodyさん
2010/05/28(金) 07:16:16ID:1AVHPGER初心者の俺には、何これ?と思うのよ。
パッケージ内に含まれてんじゃないのかよと。
そんなもの初めからパッケージに含んでおいてくれよと思うんだが。
0972nobodyさん
2010/05/28(金) 07:24:24ID:???0973nobodyさん
2010/05/28(金) 08:02:56ID:???0974nobodyさん
2010/05/28(金) 09:35:42ID:???言い訳になるけど、俺もまさかphpのマニュアルに書いてあることを
やってないはずないと思ったんだけどさ。
0975nobodyさん
2010/05/28(金) 10:15:35ID:???0976nobodyさん
2010/05/28(金) 10:16:27ID:???0977nobodyさん
2010/05/28(金) 15:20:03ID:???いまさらネチネチいうなと思われるかもしれないが、そんなパッケージの肥大化は避けてほしい、
というか、じゃあ何の為にライブラリ化したんだってなっちゃう。
configureはすぐ慣れるからがんばれ
0978nobodyさん
2010/05/28(金) 15:47:26ID:qWcy7992イメージとしては以下のような感じかな?と思っています。
class class1{
require 'function.php';
}
$obj = new class1;
$obj->test();
#function.php
function test(){
echo 1;
}
0979nobodyさん
2010/05/28(金) 15:52:57ID:???require 'function.php';
class class1 extends class2 {
}
#function.php
class class2 {
function test() {
echo 1;
}
}
ならまだわかるけど
0980nobodyさん
2010/05/28(金) 16:13:53ID:???extends class2で継承してるから不要なのではないのですか?
function.phpを class2.php ならrequireは不要ということですか?
0981nobodyさん
2010/05/28(金) 16:21:20ID:???関数定義を遅延実行したいのかな
クラス定義はパース時に、include/require は実行時に評価されるから
コンストラクタかメソッドの頭で require_once() するといい
0982978
2010/05/28(金) 16:24:49ID:qWcy7992普通そうだと思うのですが、オープンソースのシステムを見ると
ユーザ定義関数のみのファイルが結構あります。
しかし、接続自体はclassを介して行っているので
>>978みたいに、後から読み込むのかな?と思っていました
0985nobodyさん
2010/05/28(金) 16:35:54ID:???クラスの関数じゃなくて、グローバルの関数に。
でも変数はローカル。 $this->xx = も通る。
0986nobodyさん
2010/05/28(金) 16:41:47ID:???http://pc11.2ch.net/test/read.cgi/php/1275032024/
0987nobodyさん
2010/05/28(金) 17:39:34ID:???0988nobodyさん
2010/05/28(金) 17:53:39ID:???ちょっとお伺いしたいんだけど
みなさまはSMARTYなんていうスマートそうなテンプレートエンジンは
実際開発の現場では使っていらっしゃるの?
デザイナーがいる環境でデザイナーにHTMLとその中にスマートな変数書いてもらってたり
しちゃってる方がいるのか知りたいの。
0990nobodyさん
2010/05/28(金) 18:15:32ID:???ほんとにただのデザイナなら厳しいかもね。
ちょっとでもロジック的な考えをしてくれる人なら分かってもらえると思うけど。
あとはどちらがどこまでやるかの切り分けだけしっかりしておけばgdgdにならずにいけるよ
0991988
2010/05/28(金) 19:21:53ID:???ありがとうねー。
やっぱHTMLもらってこっちで入れたほうがよいよーな気ぃするねー。
ただでもデザイナーさんでもJSとか少し書ける人だからやってもらうかと思ってたの。
それ以前意に周りでSMARTY自体使ってるって話あまり聞かないからそのも気になっちゃって。
もし他のかたも使ってるって方いらっしゃったら教えてくださいな。
0992nobodyさん
2010/05/28(金) 19:34:40ID:???デザイナだけで出来るんだよね。
0995nobodyさん
2010/05/28(金) 20:47:15ID:???0997nobodyさん
2010/05/28(金) 21:13:11ID:???数ヶ月に1回なんか作って満足したらしばらくこんな調子なんだけど
みんなもそうかい?
0998nobodyさん
2010/05/28(金) 22:16:48ID:???セキュリティは滅茶苦茶だと思いますけど
0999nobodyさん
2010/05/28(金) 22:20:41ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。