【PHP】下らねぇ質問はここに書き込みやがれ 40
レス数が1000を超えています。これ以上書き込みはできません。
00011様
2007/02/22(木) 22:37:41ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 39
http://pc10.2ch.net/test/read.cgi/php/1171280039/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc10.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc10.2ch.net/db/subback.html
00021様
2007/02/22(木) 22:39:19ID:???【PHP】下らねぇ質問はここに書き込みやがれ 29
http://pc8.2ch.net/test/read.cgi/php/1158434799/
【PHP】下らねぇ質問はここに書き込みやがれ 30
http://pc8.2ch.net/test/read.cgi/php/1159979905/
【PHP】下らねぇ質問はここに書き込みやがれ 31
http://pc8.2ch.net/test/read.cgi/php/1161733546/
【PHP】下らねぇ質問はここに書き込みやがれ 32
http://pc8.2ch.net/test/read.cgi/php/1162818436/
【PHP】下らねぇ質問はここに書き込みやがれ 33
http://pc8.2ch.net/test/read.cgi/php/1164209222/
【PHP】下らねぇ質問はここに書き込みやがれ 34
http://pc8.2ch.net/test/read.cgi/php/1165519374/
【PHP】下らねぇ質問はここに書き込みやがれ 35
http://pc10.2ch.net/test/read.cgi/php/1166676139/
【PHP】下らねぇ質問はここに書き込みやがれ 36
http://pc10.2ch.net/test/read.cgi/php/1168395610/
【PHP】下らねぇ質問はここに書き込みやがれ 37
http://pc10.2ch.net/test/read.cgi/php/1169644229/
【PHP】下らねぇ質問はここに書き込みやがれ 38
http://pc10.2ch.net/test/read.cgi/php/1170520777/
00031様
2007/02/22(木) 22:40:36ID:???■本家マニュアル 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://smarty.php.net/
■Zend本家 http://www.zend.com/
■Zend Framework http://framework.zend.com/
■php | architect http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
00041様
2007/02/22(木) 22:41:41ID:???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プログラムとして実行された結果になる。
00051様
2007/02/22(木) 22:43:03ID:???→ 確認すべきは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さん
2007/02/22(木) 22:48:33ID:???0007nobodyさん
2007/02/22(木) 22:54:32ID:DRqW6V/hExifじゃなくてもコメントみたいなのを書き込められればいいんですが。
0008nobodyさん
2007/02/23(金) 00:24:55ID:kn9G5EQ+seq type
1 a
1 b
2 b
3 a
3 a
4 a
MySQLと絡めた質問なのですが、上のようなデータが格納されていたとき、
GROUPした後のseqの数(上の場合だと4)を取得したいのですが、どのようにすればいいでしょうか?
SELECT COUNT(*) FROM `hoge` WHERE `type`='a' GROUP BY `seq`
これではできませんでした。
このクエリをcountした数を現在は取得しています
0009nobodyさん
2007/02/23(金) 00:26:39ID:???なぜでしょうか?
0011nobodyさん
2007/02/23(金) 00:35:50ID:awTHtUaF昔の人がどんなことで悩んでいたのか勉強したいんです。
よろしくおねがいします。
0013nobodyさん
2007/02/23(金) 00:53:31ID:DxH8hg7x>見た目に関するロジックは全部Smarty側でやってる。
>(htmlspecialcharsみたいなエスケープとかは除く)
そういう表示にのみ関係する処理こそSmartyで。
{$foo|escape:"html"}
0014nobodyさん
2007/02/23(金) 00:56:27ID:???$a = "aaa\n";
$a .= "bbb\n";
$a .= "ccc\n";
の様な記述で、変数に複数行を代入しています。
質問なのですが、Perlの
$a=<<"EOB";
aaaa
bbbb
ccc
ddd
EOB
の様に、変数に複数行を一度に代入する方法はありませんか?
001514
2007/02/23(金) 00:58:21ID:???0016nobodyさん
2007/02/23(金) 00:59:40ID:mvdvT2ju$s_pw = "guest";
この状態で
SELECT * FROM account WHERE id='$s_id', pass='$s_pw'
を実行すると
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' pass='guest'' at line 1
というエラーが発生します。
idもguestもあるのになぜこのようなエラーが出てしまうのでしょうか?
001716
2007/02/23(金) 01:00:50ID:mvdvT2juPHP 5.1.4
MySQL 5.0
WindowsXP
0018nobodyさん
2007/02/23(金) 01:13:29ID:???0020nobodyさん
2007/02/23(金) 01:16:57ID:mvdvT2juバグですかね?
0021nobodyさん
2007/02/23(金) 01:38:23ID:???0022nobodyさん
2007/02/23(金) 01:41:55ID:mvdvT2ju特にそれらしいものは見つかりません。
0023nobodyさん
2007/02/23(金) 01:43:16ID:???↑なぜシングル?
0024nobodyさん
2007/02/23(金) 01:43:58ID:???$s_pw = "guest";
こう書いてないで
$s_id = "guest";
$s_pw = 'guest"; ←こうやってないか?
0025nobodyさん
2007/02/23(金) 01:46:01ID:mvdvT2ju$sql = "SELECT * FROM account WHERE id='$s_id', pass='$s_pw'";
だからです
0026nobodyさん
2007/02/23(金) 01:48:46ID:mvdvT2ju$dbUser = "root";
$dbPass = "root";
$dbName = "name";
function Do_MySQL($sql){
global $dbHost,$dbUser,$dbPass,$dbName;
$dbHandle = mysql_connect($dbHost,$dbUser,$dbPass);
if ($dbHandle == False) {
print ("#can not connect db\n");
exit;
}
$dbLocate = mysql_select_db($dbName);
if ($dbLocate == False) {
print ("#can not connect db2\n");
exit;
}
$result = mysql_query($sql);
echo mysql_error(); ←ここでエラーを吐き出しています。
mysql_close($dbHandle);
return $result;
}
$s_id = "guest";
$s_pw = "guest";
$result = Do_MySQL("SELECT * FROM account WHERE id='$s_id', pass='$s_pw'");
正確にはこのように実行しています。
0027nobodyさん
2007/02/23(金) 01:49:22ID:mvdvT2juダブルクォーテーションで囲っています。
0028nobodyさん
2007/02/23(金) 01:58:20ID:???だけでやったらどうなる?
0029nobodyさん
2007/02/23(金) 02:14:39ID:???WHERE id='$s_id' AND pass='$s_pw'
0030nobodyさん
2007/02/23(金) 02:29:37ID:???カンマとかふざけてるのかと
0031nobodyさん
2007/02/23(金) 04:48:20ID:???$dbHost = "localhost";
$dbUser = "root";
$dbPass = "root";
$dbName = "name";
ここらへんは普通定数にしないか?
そしたらglobalなんてやる必要もないし。
0032nobodyさん
2007/02/23(金) 04:55:38ID:???0033nobodyさん
2007/02/23(金) 05:34:19ID:???0034nobodyさん
2007/02/23(金) 06:28:51ID:???http://dev.mysql.com/doc/refman/4.1/ja/select.html
にあるSQL_CALC_FOUND_ROWSの説明を見るよろし。
0035nobodyさん
2007/02/23(金) 08:27:49ID:???mysql> CREATE TABLE KIJI(
-> id MEDIUMINT NOT NULL AUTO_INCREMENT,
-> name VARCHAR(50),
-> mail VARCHAR(50),
-> naiyou VARCHAR(50),
-> PRIMARY KEY(id));
この様なテーブルがあって、ここから記事一覧を取得しようとしているのですが、
Fatal error: Call to a member function query() on a non-object in C:\Program Files\xampp\htdocs\sample_bbs\bbs.php on line 14
となってしまいます。
何かアドバイスいただけませんか?
--ソース抜粋--
$sql = <<<EOS
select id,namae,mail,naiyou from kiji
EOS;
//クエリ実行
$result = $con->query($sql);//ここが14行目
--ここまで--
環境:WindowsXP,XAMPP最新版
0036nobodyさん
2007/02/23(金) 08:29:46ID:???003735
2007/02/23(金) 08:55:48ID:AmbF/Hk90038虚弱PHP
2007/02/23(金) 09:18:26ID:???そういうのサニタイズ脳だと思うんだ。
いや、別にdefault_modifiers使ってもいいんだけど、
オレオレフレームワークの思想で、
ViewオブジェクトでSmartyアサイン直前にやってるの。
0041nobodyさん
2007/02/23(金) 12:30:57ID:???メール処理じゃないけど、UTF-8とUTF-8Nの違いを知らなくて、どえらい悪戦苦闘したことがありました。
それ以来、PHPのスクリプトファイルは、UTF-8Nで保存するように意識しています。
UTFの「BOM」が邪魔してるって可能性は?
0042nobodyさん
2007/02/23(金) 12:47:23ID:???SQL文を組み立てるときの処理についてですが、
SQLインジェクション対策として、プリペアードステートメント、プレースホルダーという仕組を利用した方がいいと思います。
http://www.ipa.go.jp/security/awareness/vendor/programming/a02_01.html
SQL文をプレースホルダー(=「?」)を使って、簡単にエスケープする関数が、PHPオンラインマニュアルで紹介されているから参考にされてみてください。
http://php.benscom.com/manual/ja/function.mysql-query.php
↑$phsにプレースホルダーに対応する文字列を配列で渡して使うようです。
004342
2007/02/23(金) 12:55:11ID:???あれ?URLが違ってた。
http://www.php.net/manual/ja/function.mysql-query.php#70686
function mysql_prepare ($query, $phs = array())を以下のように使います。
$s_id = "guest";
$s_pw = "guest";
$sql = "SELECT * FROM account WHERE id = ? AND pass = ?";
$phs = array($s_id, $s_pw);
$sql_prepare = mysql_prepare($sql, $phs);
$result = Do_MySQL($sql_prepare);
0044nobodyさん
2007/02/23(金) 13:04:51ID:???出力するデータをどこでエスケープするか?
Smartyに渡す直前の段階でエスケープした値を、Smartyに渡すのが良いと思う。
テンプレートファイルに処理(ロジック)が乗っかっているのは、保守性が中途半端になりそうな予感。
テンプレートファイルは、DreamweaverでデザインをいじることだけできればOK
0045nobodyさん
2007/02/23(金) 14:37:52ID:???0047nobodyさん
2007/02/23(金) 15:02:56ID:???0048nobodyさん
2007/02/23(金) 15:19:41ID:X1ZVe2VS複数の画像をアップロードするコードを書いたのですが、
長辺が1500px超える画像をアップするとうまく動きません。
photoshopで1600*1200の真っ白なファイル(76kb)をアップロードするとエラーになり、デジカメで撮影した1280*960の画像(250kb)をアップロードすると、普通にアップできます。
GDを使ってリサイズする処理が途中に入るのですが、その辺が原因でしょうか?
レンタルサーバでphp.iniでmemory_limitを16Mにしています。
よろしくお願いします。
0049nobodyさん
2007/02/23(金) 15:28:18ID:???BOMなしで保存してます
が、たまに文字化けしてしまいます
ttp://www.res-system.com/item/500
この辺を読んでみたのですがUTF-8のメールで
文字化け自体は直らないことなのでしょうか?
0050nobodyさん
2007/02/23(金) 15:40:02ID:???GDで画像処理はかなりメモリ食うからそうかもね
1600*1200だと32ビットカラーにしても8Mバイトになるからね
memory_limitあげたらいいんじゃないの
0051nobodyさん
2007/02/23(金) 15:50:25ID:ynqfDxVOUTF8からISO-2202-JPに変換する場合はmb_convert_encoding
で行うと変換できない文字でメールが切れてしまうのですが
日本語のメールを配信する場合、mb_convert_encodingを使って
変換するのが一般的なのでしょうか?
なにかよいライブラリがありましたら紹介していただけないでしょうか?
0052nobodyさん
2007/02/23(金) 15:55:18ID:qX2geE0Z0053nobodyさん
2007/02/23(金) 16:02:23ID:???JOINしたテーブルの値を条件としたDELETEとか出来ますよ。
JOIN先のテーブルの値は無理だけど、
適宜CASCADEとかでリレーション貼っておけば一緒に消えますね。
0054nobodyさん
2007/02/23(金) 16:29:05ID:???どうやればいいんですか?
select * from table1 natural join table2 where table2.id = 10
でヒットするレコードを消すために
delete from table1 natural join table2 where table2.id = 10
と実行してみたのですが構文エラーが出て消せないんですよ
0056nobodyさん
2007/02/23(金) 17:24:19ID:???0057nobodyさん
2007/02/23(金) 18:23:22ID:???delete join なんて聞いたことないしな。
0059虚弱PHP
2007/02/23(金) 19:01:40ID:???みたいな感じで行けないの?
0060nobodyさん
2007/02/23(金) 20:20:02ID:mvdvT2juモバゲーのように自動的にログインさせたいのですが、
何か方法などはないのでしょうか・・・。
0061nobodyさん
2007/02/23(金) 20:31:10ID:???http://pc10.2ch.net/test/read.cgi/hp/1141800196/l50
0062nobodyさん
2007/02/23(金) 20:37:34ID:mvdvT2juいってきます
0063nobodyさん
2007/02/23(金) 20:43:31ID:???echo "[".$key."] = ".$value."<br>\n";
}
これで一気に書き出せると思ったが無理だったorz
0064nobodyさん
2007/02/23(金) 20:52:18ID:???0065nobodyさん
2007/02/23(金) 20:56:00ID:???とか言って見るテスト
0066nobodyさん
2007/02/23(金) 21:03:50ID:mvdvT2ju携帯でアクセスして、foreachでまわしたときは、
[HTTP_X_UP_SUMBO] = 携帯固定ID
が表示されたのですが、
直接 echo $_SERVER['HTTP_X_UP_SUMBO'];
だとページが表示されないのはなぜなのでしょうか・・・?
0068nobodyさん
2007/02/23(金) 21:34:10ID:???007066
2007/02/23(金) 21:42:15ID:mvdvT2ju俺も実務経験なしの初心者です
>>68
echo $_SERVER['HTTP_X_UP_SUBNO'];
にすると、「リクエストされたページは表示できません。」と出ます。
>>69
ソースは
<?
echo $_SERVER['HTTP_X_UP_SUBNO'];
?>
だけです。
0071nobodyさん
2007/02/23(金) 21:47:35ID:???var_dump($_SERVER);
echo $_SERVER['HTTP_X_UP_SUBNO'];
?>
してみ?
0072nobodyさん
2007/02/23(金) 21:48:45ID:mvdvT2juvar_dumpの45行と、最後のechoの個別IDが表示されました。
$_SERVER['HTTP_X_UP_SUBNO'];を実行するにはそれ以前に何か実行しておかないといけないのでしょうか?
0074nobodyさん
2007/02/23(金) 21:53:12ID:mvdvT2juすまん、携帯だからコピペできない
0075nobodyさん
2007/02/23(金) 21:55:35ID:???0079nobodyさん
2007/02/23(金) 22:24:37ID:???会員制のWEBでパスワードをスクリプト側で暗号化してDBに保存する
のって意味あるの?
DBサーバーが乗っ取られても大丈夫ということかもしれないけど、
DBサーバーが乗っ取られたらパスワードが分かろうと分かるまいと、
全てのデータが盗まれるわけだからもう終わりだよね?
0080nobodyさん
2007/02/23(金) 22:27:54ID:???0081nobodyさん
2007/02/23(金) 22:32:28ID:???システム上誤って(セキュリティの不備とか)パスワードが
盗まれたり漏れた場合に平文のパスワードが漏れるのと
不可逆暗号のパスワードが漏れるのとじゃ全然意味合いが違うっしょ
0083nobodyさん
2007/02/23(金) 22:38:47ID:???あ〜、なるほどね。サンクス。そういう意味か…
大手の企業サイトでも、結構パスワード再送機能で、再度同じパスワードが
送られてくるケースが多いけど、それは逆にそれらを全然考慮していないってことなのかな?
0084nobodyさん
2007/02/23(金) 22:46:59ID:???実装に関してはユーザから見えないでしょ
勘違いしてると思うからこれを
ttp://php.benscom.com/manual/ja/function.crypt.php
0085nobodyさん
2007/02/23(金) 23:24:13ID:???実装が見える見えないは関係ないだろうが。
パスワード再送が可能ということは、パスワードをハッシュ化してないか、
またが可逆暗号で保存しているということであり、
これは万が一のときに非常に危険である。
普通、サイトごとにパスワードを全部変えているという人は少ない。
だから、ほぼ絶対に復号できない方法、すなわちランダムSalt付きでのハッシュ化がベスト。
0086nobodyさん
2007/02/23(金) 23:28:35ID:???ランダムの生成して送っといて変更してもらうっていう手とってるな
0087nobodyさん
2007/02/23(金) 23:48:58ID:???0089nobodyさん
2007/02/24(土) 00:04:43ID:???前にその話題を出したものなんですが
>ランダムSalt付きのハッシュ
これの使い方が良くわかりません。
これは、それぞれのユーザーのパスワードを暗号化するときに、
それぞれ別の文字を与えるということであってますか?
で、その与えた文字はどこに保存すればいいのでしょうか?
DBクラックされたらその文字もわかってしまうと思うのですが
別のところに保存しておくということが必要なんですか?
0090nobodyさん
2007/02/24(土) 00:07:31ID:???0091nobodyさん
2007/02/24(土) 00:24:00ID:SolPpwuf0092nobodyさん
2007/02/24(土) 00:26:56ID:???0093nobodyさん
2007/02/24(土) 00:54:17ID:???0096nobodyさん
2007/02/24(土) 01:35:00ID:???実用さとか追求せずに適当な感じで
0097nobodyさん
2007/02/24(土) 01:37:42ID:???0098nobodyさん
2007/02/24(土) 01:43:49ID:i51GRfpkこれらのテーブルのフィールド名とか型とかを一括して取り出して表示したいんですけど、
なんか便利な関数かライブラリってありますでしょうか?
イメージとしては、配列の中身を整形出力するvar_dump()みたいな感じで、
テーブルの構造を整形出力して確かめたいんです。
今のところphpMyAdminを使って一つ一つのテーブルを手動で開いてカラム名とか確認してるので面倒で・・・
0099nobodyさん
2007/02/24(土) 01:51:21ID:???0100nobodyさん
2007/02/24(土) 01:55:20ID:TWO55K1R例
$sitei = 'C';
$str = 'ABCDEFG';
指定したCまでの文字 ABC と出力したい
0101nobodyさん
2007/02/24(土) 02:07:07ID:???0102nobodyさん
2007/02/24(土) 02:07:39ID:???0103nobodyさん
2007/02/24(土) 02:19:09ID:/9A/DTQNもちろん、そんなことをすれば、穴だらけになります。
そこで、FCKEditorから受け取った値を正規表現を使って変換することを考えました。
例:
<p>→[p]
<strong>→[strong]
<table width="200" cellspacing="1" cellpadding="1" border="1">
→
[table---200---1---1---1]
tableタグも正規表現を使えば、上手く表現できそうな感じです。
その後でhtmlspcialcharsすれば、セキュリティ的にも問題ないと思います。
表示するときは、正規表現を使って逆に変換します。
質問は、上記のような事をやっている方・プロジェクトは無いですか?
便利なので、誰かやってそうな気がしますが。
0104nobodyさん
2007/02/24(土) 04:12:21ID:XQwWa3rhhtmlspecialchars() のように手軽にできるものありますか?
今は str_replace を使って個別に置換してるんですけど
$str = str_replace("/", "/", $str);
0105nobodyさん
2007/02/24(土) 04:35:34ID:???ファイル名に使えない文字なんて、
ファイルシステムで変わるし、自分で関数作っちゃうのが早いんじゃないかな。
>今は str_replace を使って個別に置換してるんですけど
個別というと1個ずつおきかえてるのかな?
str_replaceはしらないけど、
preg_replaceなら配列に入れて全部いっぺんに置き換えれるよ。
0107nobodyさん
2007/02/24(土) 05:53:52ID:???ファイル名に2バイトなんて普通だろ。
1バイトしか使えないような馬鹿なOSがあるのかw
2バイト文字に神経質すぎだろ、オマエ
0108104
2007/02/24(土) 06:02:24ID:XQwWa3rh対象の文字って結構たくさんあるんですかねぇ
preg_replace や strtr を使ってやってみます
先人が便利な関数作ってくれていないかなぁと
>>106
日本語ファイル名を扱うのでとりあえず
2バイト有りでやってみてます
0110nobodyさん
2007/02/24(土) 06:35:27ID:???0112nobodyさん
2007/02/24(土) 07:17:27ID:???ほっとけよ
0113nobodyさん
2007/02/24(土) 07:54:50ID:xkGH8kMq>>97
utnつけてるHTMLを読み込まれるだけで良いのでしょうか?
アクセスしたら自動的にログインされた状態にしたいのです
0114nobodyさん
2007/02/24(土) 10:51:52ID:???utnはDoCoMoのFOMAしか対応していない。 ユーザーが「端末情報を送信しますか?」とでるので、いいえと選択したら送信されず、自動ログインはできない。
HTTP_X_UP_SUBNOはauで、携帯本体で「端末情報送信する」に設定してる人のみ。
softbankは知らない。
0115nobodyさん
2007/02/24(土) 11:25:55ID:SolPpwuf0116nobodyさん
2007/02/24(土) 11:39:47ID:???0117nobodyさん
2007/02/24(土) 11:48:08ID:???0118115
2007/02/24(土) 11:52:04ID:???0119117
2007/02/24(土) 11:56:52ID:???0120nobodyさん
2007/02/24(土) 12:26:34ID:???0123nobodyさん
2007/02/24(土) 13:25:28ID:???HTMLタグ書くようにPHPコード書けば動くと思ってるのかもしれんぞw
0124nobodyさん
2007/02/24(土) 13:34:14ID:???php5って変数から変数への代入って参照渡しじゃなかったっけ?
それともオブジェクトのみの話?
$a = 100;
echo $a."<br>";
$b = $a;
echo $b."<br>";
$a = 'a';
echo $a."<br>";
echo $b."<br>";
100
100
a
100
0128nobodyさん
2007/02/24(土) 14:21:28ID:???のたうちまわった挙げ句カウンタができた。
多分ツッコミどころ満載というか、オブジェクト指向になりきれてないような気が。
誰かネ申な人アドバイスください。
ttp://sakuratan.ddo.jp/uploader/source/date33554.zip
わかんねーよお武家うtk指向。
0130nobodyさん
2007/02/24(土) 14:41:23ID:???あとyes/noの文字列じゃなくてtrue/falseや1/0使ったら?
$flagの意味もわからんけど
0131128
2007/02/24(土) 14:48:41ID:???>>130
抽象度。ってなにy=ー( ゚д゚)・∵.
同一IPでも日付が変わってればカウントしたいので、
とりあえず$flagたててます。
うあ、住人がたでも「?」なコーディングしてるらしい('A`)
0132nobodyさん
2007/02/24(土) 15:17:35ID:???Counterというクラス名なのに、カウンター固有のロジックはほとんどクラス外にあるし。
staticなfunctionをまとめてるだけだから、クラスのインスタンスを作る意味ゼロだし。
0133nobodyさん
2007/02/24(土) 15:19:15ID:???0134nobodyさん
2007/02/24(土) 15:21:16ID:???カウンタだから、必要なメソッドはカウントアップと
各データ取得だけでよいよ後は隠して
インターフェイスこんな感じで
class Counter
{
var $_logdir = '';
var $_options = '';
function Counter($logdir = './log/', $options = array()) {}
function setLogDirectory() {}
function setOptions() {}
function countUp() {}
function getCountTotal() {}
function getCountToday() {}
function getCountYesterday {}
function getLastAccess() {}
function _write() {}
function _read() {}
}
0135nobodyさん
2007/02/24(土) 15:21:56ID:???見てて気持ち悪い。
0136nobodyさん
2007/02/24(土) 15:26:03ID:???>んなわけねーだろボケが
ttp://f3.aaa.livedoor.jp/~matukazu/php5/php5_hensu.php
ttp://blog.so-net.ne.jp/nakagami/2005-11-10
0137128
2007/02/24(土) 15:46:46ID:???やっぱ全然オブジェクト指向になりきれてないすか…。
ベタ書きとそう変わらないorz
>>134
ありがとです。
とりあえずその示してくれた型に入れて作り直してみます。
>>135
きっとよくわかってないことの裏返しですorz
やっぱりわかったようでわかってなかったようで…。
ググって、ちょっとしたら作り直します。
0138nobodyさん
2007/02/24(土) 15:47:31ID:???124で変数から変数への代入は値渡し?参照渡し?
125でそんなわけない
126でPHP4は値渡しだよ、PHP5は参照渡しだよ
127でんなわけねーだろボケ
136で意味不明なリンク
やっぱりボケだったようで
0139nobodyさん
2007/02/24(土) 15:49:33ID:???あのね、わかってないんだったらコード書く前に基礎を学んだほうがいいと思うよ
言われたことそのまま取り入れても、なぜそうするのかが分かってないだろ?
そもそも「〜〜」すればオブジェクト指向になるってもんじゃないし。
0140nobodyさん
2007/02/24(土) 15:57:31ID:26WGt2h1それともDBの中に入れちゃっても大丈夫かな
保存ディレクトリまでのパスとかURLとか
皆さんどうしてますか?
TABLE1
商品カテゴリ URL パス ページimg (略
事務用品 ttp://ry /usr/html/jimu /user/html/img/jimu
パソコン用品 ttp://ry /usr/html/paso /user/html/img/jimu
TABLE2
商品名 商品カテゴリ
机 事務用品
モニタ パソコン
棚 事務用品
鉛筆 事務用品
結果セットテーブル
商品名 URL パス ページimg (略
机 ttp://jimu/ry /usr/html/jimu /user/html/img/jimu
モニタ tttp://paso/ry /usr/html/paso /user/html/img/paso
棚 ttp://jimu/ry /usr/html/jimu /user/html/img/jimu
鉛筆 ttp://jimu/ry /usr/html/jimu /user/html/img/jimu
結果セットを foreachで 表示やら各種処理です。
アドバイスお願いします。
0141nobodyさん
2007/02/24(土) 16:04:08ID:???0143nobodyさん
2007/02/24(土) 16:15:52ID:???素人が質問して、
素人が答えるスレ
わかってるか?
0144nobodyさん
2007/02/24(土) 17:08:56ID:???0146nobodyさん
2007/02/24(土) 18:04:12ID:C5SeaRxM変更したいのですがchmod()、ftp_chmod()以外でも可能でしょうか?
環境はwinのPHP5です
0147nobodyさん
2007/02/24(土) 18:10:30ID:???Windowsにパーミッションはありません。 ので、変更は出来ません。 さらにchmod,ftp_chmod以外ではパーミッションの変更はできません。
0149nobodyさん
2007/02/24(土) 18:26:14ID:???http://php.benscom.com/manual/ja/function.chmod.php
注意: この関数は Windows 環境にはまだ実装されていません。
0150nobodyさん
2007/02/24(土) 18:37:48ID:wnb8mZxAこのページにあるようなアクセス推移をグラフするスクリプトがほしいんですが、
公開されてるところはないでしょうか?ライブラリなどがわかれば知りたいです。
スクリプトは英語でもOKです。
0151nobodyさん
2007/02/24(土) 18:55:25ID:???の判断ってどのようにすればいいでしょうか。
0153nobodyさん
2007/02/24(土) 19:23:32ID:???0156nobodyさん
2007/02/24(土) 20:31:35ID:YJBwbPsK2、その後、ログインする機能をつけたいと思っています
1でフォームを通じてデータベースに登録するところまではできました
2ではどうしたらいいのでしょうか
ログインするページで、データベースから登録された全てのIDパスを読んで、フォームに入れられた情報が合致するかどうかをチェックしているのでしょうか?
0157nobodyさん
2007/02/24(土) 20:34:15ID:???0158nobodyさん
2007/02/24(土) 20:34:18ID:???where id=入力されたid
and pass=入力されたpass
0159nobodyさん
2007/02/24(土) 20:44:34ID:YJBwbPsKすばやい解答ありがとうございます!
プログラムど素人で、phpは勉強し始めて一ヶ月でわからないことだらけですが、
すごく面白いですね
ここのスレの人たちも親切ですし、すごくやる気がでてきます
本当にありがとうございました
0160nobodyさん
2007/02/24(土) 20:46:43ID:YJBwbPsKすばやい解答ありがとうございます!
プログラムど素人で、phpは勉強し始めて一ヶ月でわからないことだらけですが、
すごく面白いですね
ここのスレの人たちも親切ですし、すごくやる気がでてきます
本当にありがとうございました
0161nobodyさん
2007/02/24(土) 20:55:06ID:???0164162 ◆4M/QOnfmpY
2007/02/24(土) 21:53:21ID:???どうなってんのよおぃ……
0165nobodyさん
2007/02/24(土) 23:05:59ID:???かける?
0166nobodyさん
2007/02/24(土) 23:16:39ID:???かける?
0167nobodyさん
2007/02/25(日) 01:05:09ID:gfMJR4ridbから取り出すプログラムを組みたいのですが
エラーが出てしまうのでよろしくお願いします。
16:$con=mysql_connect("localhost","y","p","test1");
17:$query="select*from db;";
18:$res=mysql_query($con,$query);
19:
20:while ($row=mysql_fetch_array($res)){
21:print('<tr><td>'.$row["id"].'</td><td>'.$row['db'].'</td><tr>');
22:}
23:mysql_free_result($res);
24:mysql_close($con);
エラー内容
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Program Files line 18
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files line 20
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\Program Files line 23
取りあえず以上なんですがよろしくお願いします。
0168nobodyさん
2007/02/25(日) 01:15:25ID:/w8sKU8xAuthについて質問です。
MySQLにパスワードと名前を入れておいて、そこを読み取って認証するという
単純な認証を試しに作ってみたのですが、どうも巧く行きません。
具体的には、どのような入力をしても、以下の「MyAuth.php」のswitch($status)でdefaultが選ばれてしまうので、困っています。
どなたか、アドバイスをください。
以下のURL先がソースコードです。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29230
0169nobodyさん
2007/02/25(日) 01:17:44ID:???まずDBに接続出来ていない。
mysql_connect("localhost","y","p","test1")
の条件で本当に接続できるか確認。
出来ているなら、mysql_connectのマニュアル読んでさらに確認。
0170nobodyさん
2007/02/25(日) 01:22:57ID:???(PHP 4, PHP 5)
mysql_query ? MySQL クエリを送信する
説明
resource mysql_query ( string query [, resource link_identifier] )
0171nobodyさん
2007/02/25(日) 01:24:26ID:???がおかしいだけだな。
$query="select * from db";
にして味噌
0174nobodyさん
2007/02/25(日) 01:32:16ID:???0175168
2007/02/25(日) 01:33:36ID:???どのようにその原因を探せば良いのかが分からないのです。
0176nobodyさん
2007/02/25(日) 01:39:09ID:???0177168
2007/02/25(日) 01:45:18ID:???$statusをたどるという事の意味がよくわからないです。
Auth.phpのコードを読むという事でしょうか?
0178nobodyさん
2007/02/25(日) 01:50:06ID:???"loginFunction"ってのはログイン画面だけを書く場所じゃないの?
その後に認証されてるかどうかをチェックしていくようだが
http://www.phpbook.jp/pear/pear_auth/index.html
0180nobodyさん
2007/02/25(日) 01:53:06ID:???ログインごときでハマるぐらいなら使わないほうがよっぽど早いと思うが。
0181178
2007/02/25(日) 01:58:53ID:???statusに何も入らないって事はセッションが確立できてないとか?
とりあえずさっきのURLの奴を最初から順に追ってくべきだと思うが
0182168
2007/02/25(日) 02:15:30ID:???先ほどのURLの文書は参考にさせていただきます。
今のところ、MySQLを動作させていない状態でも挙動が一緒なので、
きっと、データベース周りがおかしいのだと思います。
しかし、PEAR::DBを使ったデータベース接続は問題が無いので、
なかなか、問題点の予想がつきません。
>>179
http://pear.php.net/manual/ja/package.authentication.auth.php
は、一通り目を通したつもりなのですが、原因が分かりませんでした。
再読してみます。
>>180
便利だと聞いて、使ったら痛い目に遭ってます(三日ほど
勉強と思って、使ってみているつもりです。
0183nobodyさん
2007/02/25(日) 02:23:47ID:0G38USQnシステム全体で使う物を定義したphpをいちいち全php(というか実際には一番下の)
にrequire_once書かないで、自動的に読み込む方法ってありますか?
DBにアクセスする基底クラスとか、いろんな場所から使う物にrequire_onceしとけば
たいてい、読み込むだろうけど、なんか管理しづらいというか、
「ああ、ここには読み込まれてないのか」的なエラーは面倒なので
あったらお願いします。
0185168
2007/02/25(日) 02:30:37ID:???<IfModule mod_php.c>
php_value auto_prepend_file "hoge.php"
<IfModule>
って入れればOKだったはず。
適当なURLが見つからないが、
http://www.shigeweb.jp/php/project_p/?section=setup&page=htaccess
あたりを参考にしてください。
0186185
2007/02/25(日) 02:42:09ID:???.htaccessに
<IfModule mod_php.c>
php_value auto_prepend_file "hoge.php"
</IfModule>
だった。
0187185
2007/02/25(日) 02:44:48ID:???グダグダやな。
PHP4なら
.htaccessに
<IfModule mod_php4.c>
php_value auto_prepend_file "hoge.php"
</IfModule>
だった。
PHP5なら、5で。
0189183
2007/02/25(日) 03:53:14ID:0G38USQnありがとうございます
とうぜんですがphp.iniでもいけるみたいですね。
.htaccessを使えばディレクトリ単位で変えられますね
ふむ。便利だ。
ありがとうございました。
どうでもいいけど。phpの公式日本語マニュアルが出ない・・・
まあ、他にもいろいろあるから良いけど。
0190nobodyさん
2007/02/25(日) 06:03:56ID:t/+ZOEawwww.x.com と secure.x.com で一つのクッキーやセッションを共有することはできますか?
やり方を教えてください
よろしくお願いします
0191nobodyさん
2007/02/25(日) 06:11:50ID:t/+ZOEaw完全な共有でなくても、擬似的に共有したような状況にできる方法があったら
ご教授ください
0192nobodyさん
2007/02/25(日) 06:22:31ID:t/+ZOEawフォームにデフォルトで " と ' を含む文を表示させたいのですが崩れてしまいます・・・
フォームの中の " ' をちゃんと表示させる方法はありますか?
0195nobodyさん
2007/02/25(日) 08:36:48ID:???0196nobodyさん
2007/02/25(日) 08:39:16ID:???0197nobodyさん
2007/02/25(日) 10:47:00ID:???phpじゃなくてhtmlの話だな
既に二人が答えてるけど、マジッククオート関係を調べれば意味がわかると思う
0198nobodyさん
2007/02/25(日) 13:31:33ID:???echo "結果$str_m";
例なんですが、↑は大丈夫で↓は駄目です。
$str['m'] = "あああ";
echo "結果$str['m']";
そこで中括弧で括るとOKな事は分かったんですが、
{$str['m']} 、 ${str['m']} 両方動作するのですが、どっちがいいのでしょうか?
echo "結果".$str['m']; にしろってのは無しの方向でお願いします。
0199nobodyさん
2007/02/25(日) 13:39:54ID:???0200nobodyさん
2007/02/25(日) 13:49:17ID:???どっちでもいいよ意味は同じ
むしろパーサからしたら echo "結果" . $str['m'];
の方が早いだろうしダブルクォート内に
変数を入れ込まないと相当読みづらくなるっていう
場合でもない限り俺は最後のスタイルで書く
0201198
2007/02/25(日) 14:05:36ID:???ぐぐっても分からなかった(検索キーワード的にも難しかった)のでスッキリしました。
速度に関しては、以前から連結が最速というのは知ってますが、
実際はヒアドキュメント内で$_SERVER['']などの記述をどうしようか模索してました。
出力部がスクリプト内に点在しているのが管理的にも嫌だったので、
変数にためて最後に出力したり、ヒアドキュメントなど利用しているのですが、
そもそもその方法が駄目なのかなとも思います。
最後に>>200さんの改行スタイルを解析中です。
0202nobodyさん
2007/02/25(日) 14:11:11ID:0G38USQn早いって言うのは
}を見つけるまでそれが変数だとPHPが解らないからって感じかな?
まあ、微々たるモンだろうけど。
それにクォート内の色が変わるエディタを使っていたら
一番下のやり方が見やすいし。
たしかに一度ドットで抜けて、また戻ってって面倒なときあるけどね。
どうしても{}を使うなら{$hoge}が見やすいかな?
0204nobodyさん
2007/02/25(日) 14:39:11ID:???0205nobodyさん
2007/02/25(日) 14:54:51ID:???0206nobodyさん
2007/02/25(日) 15:08:59ID:???これで十分
0207nobodyさん
2007/02/25(日) 15:13:27ID:???0208nobodyさん
2007/02/25(日) 15:15:35ID:???0210nobodyさん
2007/02/25(日) 15:17:32ID:???ついでに言うと$output .= ってやってって最後にどんと。
zen-cartだったかな?
<? ?>で書いてあってすげー読みづらかった…
しかも同じようなコード繰り返してるし。
0211nobodyさん
2007/02/25(日) 15:18:40ID:???【おまえらに作らせよう】
http://pc10.2ch.net/test/read.cgi/php/1172328149/
【恥を知れ】
http://pc10.2ch.net/test/read.cgi/php/1161784348/
【著作権ってなんですか?】
http://pc10.2ch.net/test/read.cgi/php/1162123400/
【口だけクン】
http://pc10.2ch.net/test/read.cgi/php/1170317609/
【Mr.へりくつ】
http://pc10.2ch.net/test/read.cgi/php/1171955922/
0212nobodyさん
2007/02/25(日) 16:29:35ID:???0213nobodyさん
2007/02/25(日) 16:29:38ID:???0214nobodyさん
2007/02/25(日) 16:30:44ID:???0215nobodyさん
2007/02/25(日) 16:41:44ID:???0216nobodyさん
2007/02/25(日) 16:55:06ID:XAraiK/yそこで質問です
フォームで改行された場合、 str_replaceで\r\nを<br>で置き換えます
投稿された文章を見る場合だけなら問題ないのですが、
投稿したコメントを編集しようとした場合、<br>タグが出てきますよね
編集の際、
普通に書き込む時と同様に、<br>を表示させないようにするためにはどのようにすればいいのでしょうか
0217nobodyさん
2007/02/25(日) 16:59:33ID:???デザイナーの入る余地はない。
っていうかデザイナーの絡む仕事って言うのやったことない
0218nobodyさん
2007/02/25(日) 16:59:50ID:???DBには投稿されたまま保存して
画面上に表示するときだけ<br>に変換する
textareaに表示するときはそのまま表示
0219nobodyさん
2007/02/25(日) 17:21:26ID:???if (mb_detect_encoding($str) != 'EUC-JP') {
mb_convert_variables('EUC-JP', mb_detect_encoding($str), $str);
}
これ必須だったりします?別になくてもおk?
0220nobodyさん
2007/02/25(日) 17:30:21ID:???1.異なった文字コードで投稿される場合があるのか
2.異なった文字コードを変換して保存する必要があるのか
による
0221nobodyさん
2007/02/25(日) 17:53:25ID:???俺は今まで
/*入力確認*****************/
〜ソース〜
/*DB登録処理***************/
〜ソース〜
みたいに書いてたんだけど、なんか分かりづらい気もして。
気にする事はないだろうけど、、綺麗なソースを書きたいので、気になりました。
0224nobodyさん
2007/02/25(日) 18:01:35ID:???グダグダになるに$1
0225nobodyさん
2007/02/25(日) 19:31:15ID:XAraiK/yなるほど!
ありがとうございます
0226nobodyさん
2007/02/25(日) 19:45:40ID:eI7feJlvどこのレンタルサーバを使われていらっしゃいますか?
あと、PHP4とPHP5のスクリプト互換性は合った方がいいですか?
0227nobodyさん
2007/02/25(日) 19:59:22ID:???レン鯖をつかうような掲示板とかのちょっとした小物だったらphp4で書いてる。
よく使うレン鯖は今んと頃軽くて使い勝手が良いので勘弁。
0229190
2007/02/25(日) 20:58:19ID:IYDfC2eT説明不足ですみません
htmlspecialcharsで変換するのは知っていますが、ユーザーがフォームに " ' を入れた場合、それを
修正してもらうためにもう一度 フォームの中に " や ' が表示された状態で画面を再表示させたいの
です。
フォームのvalueにhtmlspecialcharsで修正した値を入れると、"e;などの文字列がフォーム内に直接
表示されてしまいますよね。しかしhtmlspecialcharsで修正しないと " のせいでフォームが途中で途切れ
てしまいます。これをなんとかしたいのです。
0230190
2007/02/25(日) 20:59:42ID:IYDfC2eT0232nobodyさん
2007/02/25(日) 21:08:21ID:???マジッククォートはoffだし、onでもフォーム内にバックスラッシュが表示されるだけでしたが。
そうではなくて、例えばユーザーがフォーム内に「Arcator"bar"Baalouse」と入力したら、まったく
同じものが修正要求のメッセージと共に表示されないと困るのです。
0233nobodyさん
2007/02/25(日) 21:10:16ID:???0234nobodyさん
2007/02/25(日) 21:11:51ID:???0235nobodyさん
2007/02/25(日) 21:13:59ID:???何をどうしたくて現状どうなってるのかサッパリわかんねえ
0236nobodyさん
2007/02/25(日) 21:20:20ID:IYDfC2eT$val = ""e;";
<input type="text" name="test" value="{$val}">
↑これでは変換前の実体参照がそのまま表示されるだけですね
$val = '"';
<input type="text" name="test" value="{$val}">
↑これでもフォームが途中で途切れてしまいますね
フォームのデフォルトバリュー内に " や ' が混在するとき、どうすれば正常な
表示が可能なのか、というのが質問の趣旨です。マジッククォートやhtmlspecialchars
では、この問題を解決できないと思うのですが。
0237nobodyさん
2007/02/25(日) 21:26:20ID:???\/ ● 、_ `ヽ ======
/ \( ● ● |つ
| X_入__ノ ミ
、 (_/ ノ /⌒l
/\___ノ゙_/ / =====
〈 __ノ ====
\ \_ \
\___) \ ====== (´⌒
\ ___ \__ (´⌒;;(´⌒;;
\___)___)(´;;⌒ (´⌒;; ズザザザ
0239nobodyさん
2007/02/25(日) 21:30:57ID:???\ ∩─ー、 ====
\/ ● 、_ `ヽ ======
/ \( ● ● |つ
| X_入__ノ ミ
、 (_/ ノ /⌒l
/\___ノ゙_/ / =====
〈 __ノ ====
\ \_ \
\___) \ ====== (´⌒
\ ___ \__ (´⌒;;(´⌒;;
\___)___)(´;;⌒ (´⌒;; ズザザザ
0240nobodyさん
2007/02/25(日) 21:33:14ID:???quotって事か?
何言ってるのか本当に意味わからん
0241nobodyさん
2007/02/25(日) 21:39:37ID:CDvbRnfg戻り値がオブジェクト(http://jp2.php.net/manual/ja/language.types.object.php)の
型名はどうなるのでしょうか?
それから、PHPの標準関数はどこに定義されているのでしょうか?
見てみたいのですが、見られますか?
0242nobodyさん
2007/02/25(日) 21:44:55ID:???じゃ引数じゃないか?
@return foo
だと思うが
0243nobodyさん
2007/02/25(日) 21:47:23ID:???PEARの書式でもながめてみたら?
関数はPHPのソースにあるでひょ
Cで書かれてるはずだけど
0244nobodyさん
2007/02/25(日) 21:56:00ID:???http://manual.phpdoc.org/HTMLSmartyConverter/PHP/phpDocumentor/tutorial_tags.return.pkg.html
0245241
2007/02/25(日) 21:57:24ID:???@returnでした。
>>243
なるほど。素直に'object'ですね。
参考にPEARを覗いてみます。
>関数はPHPのソースにあるでひょ
>Cで書かれてるはずだけど
grepで検索して覗いてみます。
ありがとうございました。
0246nobodyさん
2007/02/26(月) 01:29:31ID:MqypCXgAテーブル名:list_table
-----------
id | name |
-----------
1 | tato |
-----------
2 | hanako|
-----------
これをWEBフォームよりnameを一括変更するのが目的です。
やり方としては全レコードをmysql_fetch_assocで抽出し、
フォーム部分<input name="name" type="text">のvalue部分に表示させ、
そのフォーム部分の名前を変えて送信すれば、データベースのレコードも変わる、という感じです。
各個人を一人ずつ変える事なら出来たのですが、
一括変更がなかなか出来ません・・・。
どなたかお知恵をお貸し下さい。
宜しくお願いします。
次に現在の内容を晒します。
0247246
2007/02/26(月) 01:30:02ID:MqypCXgA//php該当部分抜粋
$editFormAction = $_SERVER['PHP_SELF'];
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "edit")) {
$updateSQL = sprintf("UPDATE list_table SET name=%s WHERE id=%s",
GetSQLValueString($_POST['name'], "text"),
GetSQLValueString($_POST['id'], "int"));
mysql_select_db($database_MyDB, $MyDB);
$Result1 = mysql_query($updateSQL, $MyDB) or die(mysql_error());
}
//フォーム部分抜粋
<form method="post" name="edit" action="<?php echo $editFormAction; ?>">
<?php do { ?>
<?php echo $row_Recordset['id']; ?>
<input type="text" name="name" value="<?php echo $row_Recordset['name']; ?>">
<input type="hidden" name="id" value="<?php echo $row_Recordset['id']; ?>">
<?php } while ($row_Recordset = mysql_fetch_assoc($Recordset)); ?>
<input type="submit" value="送信"><input type="hidden" name="MM_update" value="edit">
</form>
如何でしょうか?
宜しくお願いします。
0248nobodyさん
2007/02/26(月) 01:37:37ID:???0250nobodyさん
2007/02/26(月) 03:32:17ID:???include "hogehoge.php"; ってことか。
0251nobodyさん
2007/02/26(月) 03:33:57ID:???0253nobodyさん
2007/02/26(月) 04:15:31ID:???Received:の経路情報だけ?
他にも詐称が不可能なヘッダ情報ってある??
0254nobodyさん
2007/02/26(月) 04:58:19ID:7mBYKw3Tたとえば、
$var = "abc";
preg_match('/^aaa{$var}zzz/', $str, $result);
のように、$varを正規表現の中に入れて中身を展開させたいのですが・・・
0255nobodyさん
2007/02/26(月) 05:02:33ID:???0256nobodyさん
2007/02/26(月) 05:02:35ID:???アホだろ
0258nobodyさん
2007/02/26(月) 05:49:25ID:???0259nobodyさん
2007/02/26(月) 05:58:24ID:???それがここの仕様
0260254
2007/02/26(月) 05:59:13ID:7mBYKw3T254で記載したコードで試したうえで出来ないので質問いたしました。
>>257
あっ、すいません、ここには手打ちで書いたのでうっかりシングルにしちゃいましたが、
実際のソースのほうではダブルで括ってます。
でも正規表現では{}は意味を持つので、変数を囲うのに使えないし・・・
0261nobodyさん
2007/02/26(月) 06:04:57ID:???使えるって。先に変数展開されてから関数に渡されるんだから。
試してもいないで言ってるだろう、お前。
つか、正規表現の「{}」って何?
0262261
2007/02/26(月) 06:12:37ID:???でも問題ないよ。たとえば
$s = "aaaabbbcccddd";
$x = "bbb";
print preg_replace("/a{3}{$x}c{2}/", "ZZZ", $s);
というコードで結果は
aZZZcddd
ってなるから。
0263nobodyさん
2007/02/26(月) 06:43:34ID:xTDxI0kc$name = "a'b";
select * from table where name = '$name';
PHPでこれを実行するとちゃんとname = a'bが取得できます。
しかしこれは
select * from table where name = 'a'b';なわけで、危険なのでは?と思い質問しました。
magic_quotes_gpc は Offです。
問題なしでしょうか?
0264263
2007/02/26(月) 06:46:01ID:xTDxI0kc↑半角&#39bです。
0265nobodyさん
2007/02/26(月) 07:09:31ID:???0268nobodyさん
2007/02/26(月) 07:33:25ID:???> PHPでこれを実行するとちゃんとname = a'bが取得できます。
どう実行したのか具体的に書いてよ。
単にライブラリの方で自動エスケープしてくれただけじゃないの?
0269nobodyさん
2007/02/26(月) 07:38:00ID:???そしたら、速攻でSQLインジェクションやってあげるから。
0270nobodyさん
2007/02/26(月) 07:40:24ID:???> select * from table where name = 'a'b';なわけで、危険なのでは?と思い質問しました。
危ない以前にSQLシンタックスエラーで実行できない。
0271263
2007/02/26(月) 07:47:26ID:xTDxI0kc正確には
$name = "a'b"; ではなく
$nameはPOSTまたはGETで送られたa'bです
0272263
2007/02/26(月) 07:52:29ID:xTDxI0kc↑GET
0273263
2007/02/26(月) 07:59:42ID:xTDxI0kc間違いです。勘違いしてました。
忘れてください。
0275nobodyさん
2007/02/26(月) 08:55:20ID:???htmlspecialchars($変数, ENT_COMPAT, EUC-JP);
第二引数をつけないと脆弱性がある。 190が悩んでるような"や'を入力された場合のことね。
http://au.php.net/manual/ja/function.htmlspecialchars.php
0277nobodyさん
2007/02/26(月) 09:11:49ID:???<input type="text" name="name" value="<?php echo $row_Recordset['name']; ?>">
を
<input type="text" name="name[<?php echo $row_Recordset['id']; ?>]" value="<?php echo $row_Recordset['name']; ?>">
にする。
で、$_POST['name'][1]〜$_POST['name'][最後]までループで回して、毎回UPDATEする必要がある。
246のソースのままじゃ、1人分しか対応できない。
<input type="hidden" name="id">は消す。
mysql_select_db($database_MyDB, $MyDB);
foreach ($_POST['name'] as $key => $value) {
$updateSQL = "UPDATE list_table SET name = '" . $_POST['name'] . "' WHERE id = " . ($key + 1);
$Result1 = mysql_query($updateSQL, $MyDB) or die(mysql_error());
unset($updateSQL);
}
でいいんじゃないかな。
一括で変換したい場合は、フォーム1つの中で、idとnameの組み合わせをレコード数分見つけられないといけないから、作り方に工夫が必要。 1フォーム1レコードだったらhiddenでidとか埋め込めるけどね。
0278275
2007/02/26(月) 09:13:50ID:???ENT_QUOTESだ。
0279nobodyさん
2007/02/26(月) 10:53:00ID:???普通に考えたらGETだろうとPOSTだろうと「a'b」は「a'b」のままなんだが、
ひょっとしてテーブルに格納されてるのも検索で使った入力値も
「a'b」じゃなく「a&#39b」だって話か?
画面で見ると where name='a'b' に「見える」というだけで実は where name='a&#39b' ?
じゃあ一体何の問題が言うんだね、君は。
0280nobodyさん
2007/02/26(月) 11:11:07ID:???0281nobodyさん
2007/02/26(月) 11:59:30ID:???HTMLの書き方についてはネットでも自動チェックできるところがあるけど、
PHPについては、どういう書き方が正しいのか?処理がスムーズに行われるのか?
について、いつも悩む。書き方によってパフォーマンスも違うだろうし。
0282nobodyさん
2007/02/26(月) 12:18:42ID:???プログラムとHTMLは違う。
PHPは構文エラーがあれば教えてくれるんだし。
コーディングなら、他人が書いたソースでも読んでみて
参考になるところがあれば、どんどん真似をして自分のものにしなさい。
コーディング規約を読んでみるのもよし。
0284nobodyさん
2007/02/26(月) 12:19:19ID:???ttp://www.e777.co.jp/perlcw/perlcw.html
まあIDE使ったほうが良さげ
0285284
2007/02/26(月) 12:20:51ID:???昼休み暇だからって被りすぎだろ コラー!
0287nobodyさん
2007/02/26(月) 12:44:43ID:eLbz34G20288nobodyさん
2007/02/26(月) 12:59:51ID:???0289nobodyさん
2007/02/26(月) 13:04:35ID:???これをそのまま?と表示させたいときどうしたらいいでしょうか?
0290nobodyさん
2007/02/26(月) 13:06:58ID:???関数でべた書きしてました・・
出直してきます。
0291289
2007/02/26(月) 13:07:28ID:???これをそのまま♥と表示させるにはどうしたらいいですか?
0293nobodyさん
2007/02/26(月) 13:15:59ID:blVK8UOLそれぞれの用途に合わせたテンプレートを読み込む仕様にしたいと思っています。
例えば、最初にアクセスした時にform.phpというテンプレートを読み込むとします。
必須項目をすべて入力したら、次のconfirm.phpを読み込む。
入力してなかったら、form.phpを再度読み込んでエラーをフォームの上に表示する。
ここまではよくあるパターンだと思うのですが、入力エラーの場合
最初に入力した内容もリセットされます。
form.php内のフォームを
<input name="test" type="text" value="<?=$_POST["test"]?>">
とすれば元の入力値も表示されますが、ラジオボタンやチェックボックスの場合は
このような方法は使えません。
そこで質問ですが、確認を入力フォーム上で行う場合、どのような
構築の仕方・ソースの書き方をすればいいのでしょうか?
0297289
2007/02/26(月) 13:27:51ID:???これをそのまま♥と表示させるにはどうしたらいいですか?
<?php
$keyword = $_GET['keyword'];
echo $keyword;
?>
これだとうまくいきませんでした
0298nobodyさん
2007/02/26(月) 13:29:24ID:???0299nobodyさん
2007/02/26(月) 13:29:55ID:???0300293
2007/02/26(月) 13:33:31ID:???テキストボックスやテキストエリアの場合、それでもいいのですが、
チェックボックスやラジオボタンの場合は、どうするのでしょうか?
if ($_POST["items"]=="あああ") {
echo <input name="items" type="radio" value="あああ" checked="checked" />
} else {
echo <input name="items" type="radio" value="あああ" />
}
みたいなのを数だけ用意するのでしょうか?
でも、それだとソースが増えすぎる気が。。
0301289
2007/02/26(月) 13:42:03ID:???if ($_POST["items"]=="あああ") {
$aaa = "checked";
}
echo <input name="items" type="radio" value="あああ" $aaa />
0302293
2007/02/26(月) 13:53:37ID:???じゃ、テキストボックスが10個あったら
if ($_POST["items"]=="あああ") {
$aaa = "checked";
}
を数だけ用意する事になりますよね?それだとソースが増えすぎる気が・・。
(それが普通の書き方なら、分かるのですが・・・
0303293
2007/02/26(月) 13:54:11ID:???↓
じゃ、チェックボックスが10個あったら
すみません、書き間違いです。
0304289
2007/02/26(月) 14:06:39ID:???case "あああ" : $aaa = " checked"; break;
case "いいい" : $iii = " checked"; break;
case "ううう" : $uuu = " checked"; break;
・
・
・
}
増えすぎますね でもこれしかわかりません ごめん
詳しい人いたらよろしくです
>>297の質問もよろしくです
0305nobodyさん
2007/02/26(月) 14:17:13ID:???投稿された、及びセッションからの値を
デフォルト設定arrayに流してるなあ
0306nobodyさん
2007/02/26(月) 14:28:15ID:???そのHTML自体をPHPで生成して、checkedにしたい項目だけ置換して使うとか?
0307293
2007/02/26(月) 14:35:58ID:???ありがとうございます。
自分でも色々考えたりググったりしているのですが、
どうしても問題が解決しません。
今回のケースでは「登録時」ですが、「編集時」はどうなるのか?
とか考えると、SESSIONで保持する方法は合わないと思うんです。
フルコントローラぽっく、ひとつのファイル上でテンプレートを読み込む
形を考えてるのですが、現状では難しそうなので、個々のファイルに
アクセスする方法に変えた方がいいかもしれませんね。
0309289
2007/02/26(月) 14:58:22ID:???$keyword = $_GET['keyword'];
$keyword = rawurlencode( "$keyword" );
echo $keyword;
?>
>>308
ありがとうございます だめでした・・・
0310nobodyさん
2007/02/26(月) 15:03:13ID:???ちがうよ。元のURLをエンコードしないと。
http://localhost/test.php?keyword=%26hearts%3b
0312nobodyさん
2007/02/26(月) 15:22:45ID:???($_get[type]==form){$tpl='form.php'}
白紙表示 :セッション[formdata]が在ればセッションから表示
↓
ポスト->セッションへ格納
xxx.php?mode=regist&type=confirm (確認画面表示
($_get[type]==confirm){$tpl='confirm.php'}
エラー戻りはエラーメッセをセッション[error等]へ格納してformへ、 OKで完了はcomplateへ
xxx.php?mode=regist&type=complate (完了
保存処理&リダイレクト等
編集は
xxx.php?mode=modify&type=
(略
こんな感じじゃないのかねえ
なんとでもできそうな・・
<文法適当です
0313289
2007/02/26(月) 15:24:13ID:???違います 説明が下手でごめんなさい 元のURLは
http://localhost/test.php?keyword=♥
で ♥と表示させたい です
0317nobodyさん
2007/02/26(月) 16:00:25ID:???RFC1738を参照: http://www.faqs.org/rfcs/rfc1738
URIに含むことが許されていない文字は、全てRFC1738に基づいて
URLエンコードしなければならない。
もちろん「?」もそのままではURIに含むことができないので、URLエンコード
する必要がある。rawurlencode("?") の結果をパラメータに指定するだけ。
0318317
2007/02/26(月) 16:01:37ID:???脳内変換しておいてくれ。
0319nobodyさん
2007/02/26(月) 16:05:19ID:???>>293=>>297かよ
checkboxの話はどうなったんだ
ったく手当たり次第に思いつくまま質問しやがって
0320293
2007/02/26(月) 16:08:21ID:???ありがとうございます。セッションに関してですが、
if (isset($_POST["name"])) {
$_SESSION["name"]=$_POST["name"]; //フォームの数だけ用意
}
みたいな感じになるのでしょうか?
それとも一括でポストをセッションに格納するのでしょうか?
>>315
自分で検討してみたところ、チェックボックスやラジオボタンについては
if (isset($_POST["name"]) {
$checked = "checked=checked";
}else{
$checked="";
}
みたいなのでいけました。(チェックボックスなら配列に入れてarray_search)
ただ、あまりスマートじゃありませんね。求める方法としては
312さんが書かれているような方法が最適だと思っています。
}
0321293
2007/02/26(月) 16:09:32ID:blVK8UOLいえ。自分はひとつの事しか質問してません。
それにパラメーターにハートは無理だと思いますし・・。
0322nobodyさん
2007/02/26(月) 16:10:05ID:Sd3D9dFcと思ったのですが、「Fatal error: Call to undefined function」が返ってきます。
どうすればできるのでしょうか? PHPのバージョンは PHP 4.4.4 です。
class MyClass
{
function foo()
{
return "にゅるぽ";
}
function bar()
{
echo $this->foo()
}
}
0323nobodyさん
2007/02/26(月) 16:11:52ID:???そりゃ、QueryStringから抽出すればできるけど
そういう質問じゃないだろ。だったらURLエンコードするべき。
そんなURLが来るようなら元のURLを作ってる部分のバグ。
ためしに&heartsでググったらURLがどうなるかやってみろ。
0324291
2007/02/26(月) 16:22:03ID:???>そういう質問じゃないだろ。
最初からそういう質問ですけど・・・
URLはエンコードされてることくらいわかってるつもりですごめんなさい
0325nobodyさん
2007/02/26(月) 16:27:21ID:???>最初からそういう質問ですけど・・・
自分で書いた>>297のソース見てみろよ。
普通にGETパラメータから取得しようとしてるじゃんか。
あれでやるならURLエンコードするしかないし
QueryStringから抽出するなら正規表現なり、substrなりご自由に。
>URLはエンコードされてることくらいわかってるつもりですごめんなさい
わかってるやつが書く文章とは思えない。「されてる」んじゃなくて「する」んだから。
0326nobodyさん
2007/02/26(月) 16:37:08ID:???0327291
2007/02/26(月) 16:42:02ID:???QueryStringで取得してもGETで取得してもrawurlencodeするでしょ
>ためしに&heartsでググったらURLがどうなるかやってみろ。
URLはエンコードされてることくらいわかってるつもりですごめんなさい
googleに「されてる」と言う意味です
0328nobodyさん
2007/02/26(月) 16:48:37ID:???何度も言うけど、URIに含まれてはいけない文字は、URLエンコード
する必要があるんだってば。
パラメータで指定する際に、
http: //localhost/test.php?keyword=%3F (Shift-JISの場合)
0329291
2007/02/26(月) 16:53:57ID:???わかってます 何度も言うけどそれはわかってます
しかしもし特殊文字を入れられたときそれをちゃんと表示させたいのです
完璧を求めちゃいけませんか?
0330nobodyさん
2007/02/26(月) 16:54:01ID:???>QueryStringで取得してもGETで取得してもrawurlencodeするでしょ
この文章も意味がわからないし・・・
1.$_GET["target"]で取得する
元のテキストをrawurlencodeしてください
2.QueryStringから取得する
$_SERVER["QUERY_STRING"]を使って
正規表現、strpos、substrなどで抽出してください。
これのどちらかです。好きなほうを選んでください。
個人的にはrawurlencodeするのをそこまで渋る理由がわからない。
0331291
2007/02/26(月) 17:06:08ID:???違います URLに特殊文字を直接入力されたとき
置換するとそのまま表示できるので
特殊文字全部を置換しなければいけないのでしょうか?
特殊文字全部を置換するとできますが、他に簡単な方法はないのでしょうあk?
0332nobodyさん
2007/02/26(月) 17:06:44ID:???/ \ /\ キリッ
. / (ー) (ー)\
/ ⌒(__人__)⌒ \ < 完璧を求めちゃいけませんか?
| |r┬-| |
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
0334nobodyさん
2007/02/26(月) 17:12:40ID:eLbz34G2PHPからmySQL等でDB取得する際にSQL文が必要ですが、
1,パターンに応じてPHPでSQL文を色々と生成して一つの取得関数からdataを取る
2,取得関数を沢山つくりそれぞれで取得
検索やら、WHERE後の条件が複雑な時、皆さんどうしてますか!
0335291
2007/02/26(月) 17:15:38ID:???ttp://ja.wikipedia.org/wiki/PHP♥
これは特殊文字全部置換してるの?と疑問に思ったので
フォームからもURLからもいけるって楽じゃないですか
>>334
1,パターンに応じてPHPでSQL文を色々と生成
0337246
2007/02/26(月) 17:17:50ID:nxJeXNNs>>248
>>249
ヒント、ありがとうございます。
なるほど、確かに1回しか発行してませんね・・・。
機能している個別の修正フォームを使い回した為、
その部分は問題ないと思いこんでおりました。
>>277
詳しいご説明、ありがとうございます。
自宅に戻り次第、試してみます!
一括で変換する場合は注意が必要と、勉強させてもらいました。
ありがとうございました。
0340nobodyさん
2007/02/26(月) 17:33:39ID:???<?php
//$requestURI = $_SERVER["REQUEST_URI"];
$requestURI = "http://ja.wikipedia.org/wiki/PHP♥";
$lastIndexOfSlash = strrpos( $requestURI, "/" );
echo substr( $requestURI, $lastIndexOfSlash+1 );
?>
0342nobodyさん
2007/02/26(月) 17:36:14ID:???<?php
//$requestURI = $_SERVER["REQUEST_URI"];
$requestURI = 'http://ja.wikipedia.org/wiki/PHP♥"e;';
$lastIndexOfSlash = strrpos( $requestURI, "/" );
echo substr( $requestURI, $lastIndexOfSlash+1 );
?>
0345nobodyさん
2007/02/26(月) 18:27:30ID:???ページを表示した際、
<!--kokotitle-->と記した箇所を、任意のページタイトルに置き換える様に
$title = str_replace('<!--kokotitle-->', $pagename, $title)
とPHPを記述したのですが、Yahoo、googleなどの検索エンジンで
タイトル部分を読み取ってくれません。
ロボットはPHPを実行してはくれないのでしょうか?
ご教授お願いします。
0346nobodyさん
2007/02/26(月) 18:34:15ID:???<?php
$pagetitle = "下らねぇ質問はここに書き込みやがれ 40";
...
?>
<html>
...
<?= $pagetitle ?>
...
</html>
googleかなにかではGETでidっても文字使ったのは極力使うなと言われてるかな
hogehoge.php?id=777
0347345
2007/02/26(月) 18:38:47ID:???idに文字は使ってません。
テンプレート型のアルバムで
<title><!--kokotitle--></title>
このタイトルが可変部分で、表示した時にタイトルが置き換わる様になってるんです。
ちなみに$pagetitleが含まれてるのが別スクリプトなので、
<title><?include("../../../../../title.php"); print $pagetitle?></title>
といちいちincludeしなきゃいけないのも何だか負荷かかりそうですね。
0348nobodyさん
2007/02/26(月) 18:46:10ID:???ひょっとしてそれはギャ(ry
>>346は1つのファイルの中に記載
phpの場合はhtmlとphpが共存できる
<?php ... ?>の部分はphpで処理されてそれ以外はhtml
0349nobodyさん
2007/02/26(月) 18:51:54ID:???例えばSMARTYだとタイトルきちんとなってない?
0350nobodyさん
2007/02/26(月) 18:54:44ID:???<!--
これ使うから表示されないんじゃね?
0351291
2007/02/26(月) 19:26:00ID:???0353nobodyさん
2007/02/26(月) 19:51:42ID:FYsfyk0lタブのほうが楽なんですけど理由があるなら空白に移りたいです
0355nobodyさん
2007/02/26(月) 20:25:31ID:???ありがとうございます。
0356nobodyさん
2007/02/26(月) 20:36:32ID:Sd3D9dFc{
function foo()
{
return "にゅるぽ";
}
function bar()
{
echo $this->foo()
}
}
同一クラス内で定義されたメンバにアクセスしたいのですが
$this->関数名() や self::関数名() では「Fatal error: Call to undefined function」が返ってきてしまいます。
どうすればできるのでしょうか?
PHPのバージョンは PHP 4.4.4 です。
0357nobodyさん
2007/02/26(月) 20:44:23ID:???こうならできるんですか……
0358nobodyさん
2007/02/26(月) 20:48:14ID:Sd3D9dFcそれならできます。
が、あるスクリプトのソースを読んでみたら
$this->関数名() や self::関数名() が使われていました。
その関数は同一クラス内でコールされた関数です。
ちなみに self::関数名 だと「Fatal error: Undefined class name 'self'」が返ってきます。
0359nobodyさん
2007/02/26(月) 20:51:56ID:???0360nobodyさん
2007/02/26(月) 20:54:37ID:P0Om59/Aif($ore==50) die;
}
0361nobodyさん
2007/02/26(月) 20:56:06ID:Sd3D9dFcそれが何度も見直したし、関数名をコピー&ペーストしてみたんですが
やはり結果は同じです。関数名は間違えていないと思います。
そのあるスクリプトというのが、PHP5で書かれているとあったので
$this->関数名() や self::関数名() は PHP4.4.4 では使えないのかしら?
0362nobodyさん
2007/02/26(月) 20:58:27ID:???0363nobodyさん
2007/02/26(月) 21:05:54ID:???実際のコードとは違うんだろうな
実は タ イ ポ なんじゃないか?
0364nobodyさん
2007/02/26(月) 21:06:58ID:Sd3D9dFc「Fatal error: Call to a member function on a non-object」が返ってきました。
うーん、素直に クラス名::関数名() でアクセスするしかないか……。
0365nobodyさん
2007/02/26(月) 21:09:07ID:???0366nobodyさん
2007/02/26(月) 21:09:15ID:Sd3D9dFcすみません。
でも、実際のコードを貼ると何百行にもなってしまいます。
しかもそのクラスはincludeされる方なので……。
0367nobodyさん
2007/02/26(月) 21:10:21ID:Sd3D9dFcそれかも知れません。
詳細情報をお願いします。
0368nobodyさん
2007/02/26(月) 21:12:56ID:???の下に
$obj_myclass = new MyClass();
$obj_myclass->bar();
追加して php -f test.phpしたら にゅるぽ って普通に出るが
WinBinary php 4.4.5
0371nobodyさん
2007/02/26(月) 21:20:54ID:???0372nobodyさん
2007/02/26(月) 21:24:09ID:Sd3D9dFcnew でオブジェクトを生成しないと、$this->関数名() でコールできないんですね。
今度はうまくいったみたいです。
ありがとうございました。
0373nobodyさん
2007/02/26(月) 21:43:00ID:lOqD3fXrユーザーが自由に登録できるフォームで、半角英数しか使わせたくないのですが、
/や\などの記号を禁止するにはどうしたらいいのでしょうか?
strstrで特定の記号を含むかどうかチェックしていくのでしょうか?
0374nobodyさん
2007/02/26(月) 21:58:57ID:???正規表現使うか、ctype_alnum()を使う
フォームでJavaScriptでチェキするとコスト削減になる(PC)
0375nobodyさん
2007/02/26(月) 22:09:53ID:lOqD3fXrすばやい返答ありがとうございます
ジャバスクリプト使えないので、ctype_alnum()を調べてみます
ありがとうございました
0376375
2007/02/26(月) 22:14:04ID:lOqD3fXrctype_alnum()で一発でできました
本当にありがとうございます
あなたが今晩良い夢を見られますように
0377nobodyさん
2007/02/26(月) 22:51:50ID:bnCsMm+y$con=mysql_connect("localhost","us","pas","test1");
$query="select*from kate;";
$res=mysql_query($con,$query);
while ($row=mysql_fetch_array($res)){
print('<tr><td>'.$row["id"].'</td><td>'.$row['name'].'</td><tr>');
}
mysql_free_result($res);
初めてのPHPで、データベースからidとnameを取り出したしたいんですが
以下のようなエラー表示がされます
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in
が表示されます。
自分で調べてみたのですが良くわからなくなってしまって・・・
よろしくお願いします。
0379345
2007/02/26(月) 23:00:34ID:???http://******.jp/test.php?a=orangeだとtitleがorange、
http://******.jp/test.php?b=rangeだとtitleがrange
と置き換えられる様に組んでたんですが、
検索エンジンではどうやら?以降が無視されて
全部クエリー無しのtest.phpで認識されちゃうみたいです。
これは静的ページを作る以外どうしようも無いんでしょうか?
0380345
2007/02/26(月) 23:07:37ID:???ttp://blog.tanaka-cs.com/archives/2004/09/post_11.html
お騒がせしました皆さん。
おやすみなさい。
0381nobodyさん
2007/02/26(月) 23:17:25ID:7mBYKw3Tそのまんまファイルとして保存するときに注意するべきことってありますか?
特にセキュリティ的な観点で。
JPEGはいろいろ埋め込めるとかいう情報を聞いたので不安になって。
あと画像に偽装したexeファイルとかがありうるのか??とか。
0383nobodyさん
2007/02/26(月) 23:45:53ID:???これって怖くねーか?
何のアプリなの?
ttp://www.phppro.jp/phptips/archives/vol28/#2
0386nobodyさん
2007/02/27(火) 00:23:44ID:vlBw/BNp自分が求めている結果はArrya([0]=>a)なのですが、配列の中に配列ができてしまいます。
どなたかご教授お願いいたします。
$str="abcdefg";
preg_match_all("[a]",$str,$hensu);
$hensuの中身
Array(
[0] => Array([0] =>a)
)
0387nobodyさん
2007/02/27(火) 00:56:25ID:???一文字あるかどうかなら preg_match のほうがいいんじゃね。
んであれば preg_match が1を返すから
if(preg_match("[a]",$str)){
print "aあるよ!";
}
でいいんじゃない?
いまいち使用目的が分からんから的外れかもしれんけど。
0388387
2007/02/27(火) 00:58:01ID:???0389nobodyさん
2007/02/27(火) 01:19:31ID:???それがpreg_match_allの機能だが。
自分の無知を棚に上げて無駄とかほざくんじゃねぇカスが。
関数リファレンスみてパラメータや関連関数を使えばお望みの出力が得られるんじゃね。
0390386
2007/02/27(火) 01:19:51ID:vlBw/BNppreg_match_allだと無駄に配列ができてしまうのですが解決策はないでしょうか?
正規表現で結果を配列に取得したときにArrya([0]=>a)としたいのですがなかなか解決しないっす。
0393nobodyさん
2007/02/27(火) 01:43:59ID:???自分でCで関数書くので無い限り、道具に自分を合わせるべきだと思う。
そこにこだわる必要性も感じないし。
柔軟に考えたほうがいいんじゃない。
0396nobodyさん
2007/02/27(火) 03:42:18ID:kRyot4Bbhttp://ja.wikipedia.org/wiki/ウィキ
を、
http://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A3%E3%82%AD
といった感じにするには、どのような関数を使えば実現できるのでしょうか?
0397nobodyさん
2007/02/27(火) 03:55:44ID:???http://jp.php.net/manual/ja/function.rawurlencode.php
0398nobodyさん
2007/02/27(火) 04:12:48ID:UeI7w9y/それで、家にある本しらみつぶしに調べたけどどの本にもそんな注意書きないんだよね。
php.netのマニュアルにも明確に書かれてないし。。
file_exists()がURL指定ではダメで、fopenなら大丈夫って言う境界線は何なんだろう。
0399nobodyさん
2007/02/27(火) 04:15:31ID:LoXhV5hdDBサーバーがクソ遅いれんさばを借りてしまったんです。
0401nobodyさん
2007/02/27(火) 06:18:42ID:L7ggisbuプログラミング歴が浅く、自分が扱うファイルが大きい方なのか小さい方なのか検討が付きません。
もし大きすぎるようであればファイルを分割する等して対処しようと思っています。
0402nobodyさん
2007/02/27(火) 06:27:14ID:???allは複数の結果を一発で取得するために用意されてる機能なんだから
配列の配列じゃなきゃ意味がないじゃない。
なんでallにこだわるの?
0404nobodyさん
2007/02/27(火) 06:47:33ID:L7ggisbu普通ですか、有難う御座います。
そのまま処理する事にします。
0405nobodyさん
2007/02/27(火) 07:10:57ID:???phpにアップロードされたJPGファイルを複製して
サイズを変更した上でサーバーに保存するみたいな機能ってありますか?
たとえば画像掲示板とかって、書き出し時にAタグのwidth属性とかで
縮小版を表示⇒クリックして元のサイズの画像表示してますけど、
縮小版ではなく、完全にオリジナルとは別の小さいサイズの画像を表示させるとか
出来たらいいなぁと思ってるんですが、、
phpで無理なら、他のやり方ってありますか?
0406nobodyさん
2007/02/27(火) 07:30:08ID:???GDとか使えるようになってれば簡単にできるよ。
マニュアルのこの辺参照。
ttp://www.php.net/manual/ja/ref.image.php
0407390
2007/02/27(火) 07:51:20ID:vlBw/BNpallを使わず、preg_matchで求めてる結果になるよう挑戦してみます
0408nobodyさん
2007/02/27(火) 08:02:11ID:???仕様っつーか、マッチするもの全部(複数個)取得→match_all()、1件だけ→match()と
使い分けるものなのに、何故わざわざ1件のみの取得にallを使おうとするのかが意味不明。
そもそも元のコードで
$str="abcdefg";
preg_match_all("[a]",$str,$hensu);
とあったけど、
$str="abcadefg";
preg_match_all("[a]",$str,$hensu);
という内容だったらどういう結果が返ってきて欲しいわけ?
0410nobodyさん
2007/02/27(火) 08:50:18ID:???お前は氏んだほうがいいよwww
こういう馬鹿なド素人ばかりだから、システムの脆弱性はいつまでも無くならない。
0411nobodyさん
2007/02/27(火) 08:54:52ID:vlBw/BNp乗せたコードの$strに入っているaは一つだけですが、
複数存在した場合Array([0]=>a,[1]=>a,[2]=>a・・・)のような結果を期待しております。
match_allですと配列の中にまた配列というふうに多重になってしまい期待した通りにはならないアドバイスを受けました。
0412nobodyさん
2007/02/27(火) 09:43:40ID:???0413nobodyさん
2007/02/27(火) 10:09:43ID:???ふーん。
じゃあ、
$str="abcadabefg";
preg_match_all("(a)(b)",$str,$hensu);
の場合は?
0414nobodyさん
2007/02/27(火) 10:13:35ID:???preg_match_all("[a]",$str,$hensu);
$hensu = $hensu[0];
でいいんじゃないかな。
0415nobodyさん
2007/02/27(火) 10:38:27ID:dFVIrde40416nobodyさん
2007/02/27(火) 10:40:02ID:???0417虚弱PHP
2007/02/27(火) 11:07:41ID:???staticメソッドとか、インスタンスとか勉強した方がいいと思うよ。
>>374
javascriptでのチェックはユーザーの利便さのためであって、
サーバー側でのチェックがいらなくなるわけじゃない。
再チェック絶対必要。
>>379
本題とは関係ないけど、ひとまずXSSされないように気をつけてね。
>>399
ベンチマークをとりましょう(ローカル環境でね)。
SQLiteの方が速い場合はあるよ。
0418nobodyさん
2007/02/27(火) 11:46:50ID:???どういう変数名を付ければいいか悩んで
なかなか進まない時があります…。
0419nobodyさん
2007/02/27(火) 11:59:02ID:???0421nobodyさん
2007/02/27(火) 12:08:20ID:???0422nobodyさん
2007/02/27(火) 12:08:22ID:???/* 変数名+番号:顔写真
変数名+番号:身分証写真 */
って感じでコメント付けちゃってるな
コード使い回すときに便利良いかなとおもって。
0423nobodyさん
2007/02/27(火) 12:20:35ID:???/**
* 会員登録
*/
とかするのが、コーティング規約なんだろうけど、これだとわかりづらいしな。。
0424nobodyさん
2007/02/27(火) 12:27:56ID:???仕事でやっていないなら、変数名なんて、自分が分かりやすいのをつければいいだけど。
昔、VBの変数名を日本語でやっている人もいたけど、それで分かりやすければ、それもありかと。
仕事でなら、プロジェクト内のネーミング規約を作るはずだから、それに従えばOK。
0425nobodyさん
2007/02/27(火) 12:28:42ID:???作るものなの?
0426nobodyさん
2007/02/27(火) 12:29:33ID:???0427424
2007/02/27(火) 12:32:25ID:???>作るものなの?
普通は作るよ。
たまにドキュメント不要論を声高に主張する人がいる現場だと、
作らないこともあるけど、違う人がソースを読む時に、混乱する。バグの元。
同じつづりなのに、全く違う意味を持ってたら、読みにくいでしょ。
0428nobodyさん
2007/02/27(火) 12:34:15ID:???ある程度の構築仕様書は作るんだけど、ネーミングは作ってないな。
最初にネーミングを考えて作るより、作りながら考えた方が早いと思って。
が、実際に悩むもんな〜
0429nobodyさん
2007/02/27(火) 12:36:13ID:???この変数は見た目でブーリアンとか分からない!とかかんとか。
0430nobodyさん
2007/02/27(火) 12:39:05ID:???命名規約っていっても、キャメルケースとか、特定のPrefixをつけるとかそんなもんだけどね。
0431nobodyさん
2007/02/27(火) 12:41:48ID:???最初はnameだけにしてた箇所も、後からc_name(会社名)とかm_name(会員名)
に分けたいとか言った場合とかさ。
なんしか、悩むべき箇所だよな
0432424
2007/02/27(火) 12:42:42ID:???俺は、詳細設計の段階で変数となりそうなものを、ピックアップしてリストにしちゃうけど、
# クラス設計の際にクラス名、メソッド名で使うから、その流れで。
その後は、情報を共有してなるべく統一するように心掛けるって感じかな。
設計段階で、全て割り出せエスパーはいないから。
>>429
VBだとプリフィックスでstrとかblnとかつけるけど、javaやphpはつけないなぁ。
javaはコンパイラでエラーがでるから早期に分かるけど、phpはバグの時に気付く...orz
0433nobodyさん
2007/02/27(火) 12:44:04ID:2btkWh5gでかい動画のアップロードをしようと思っています。ini_setで↓POSTとUPLOADを変えようと思っても、変わらないのです…メモリーは変わりますが…
ini_set('post_max_size', '500M');
ini_set('upload_max_filesize', '450M');
ini_set('memory_limit', '500M');
phpinfo();
マニュアルを見る限り、少なくともupload_max_filesizeは変わるはずなんです…
upload_max_filesize "2M" PHP_INI_PERDIR PHP <= 4.2.3では、PHP_INI_ALL
post_max_size "8M" PHP_INI_PERDIR PHP <= 4.2.3 では PHP_INI_SYSTEM。 PHP 4.0.3 以降で利用可能。
ttp://jp2.php.net/manual/ja/ini.php
php.iniの方を変えれば勿論大丈夫ですが、流石にアタック食らったりしたら…と言うことで、一部だけ変えたいのです。何故変更できないかご存知の方いませんか?;;
0434nobodyさん
2007/02/27(火) 12:45:59ID:???せいぜい大文字を使う場合とか_を使う場合とか
そのへんのフレームワークと同じ程度
ちょっと長いクラスを書くと関数名が被って
面倒になってxxxxx1とかつけちゃって読みにくいったら
0435nobodyさん
2007/02/27(火) 12:51:29ID:???例えば、「会員用のプロフィールにある名前」
とか言う場合だったら $member_profile_nameとか、$m_profile_nameとか
$memberProfileNmaeとかになるだろうけど、いかんせん長い。
だから434みたいに数字付けるけど、たしかにわかりにくい。
0436nobodyさん
2007/02/27(火) 13:05:03ID:???長いと少し遅くなるのか(といっても誤差範囲だろうけど)
>>433
PHP_INI_PERDIR は .htaccessまで ini_setじゃ無理
0438nobodyさん
2007/02/27(火) 13:27:51ID:???だんだん長くなってきて、むかついてきて、
そのうち $member_profile_name_getを
$m_p_n_g1 とかやっちゃって余計に分からなくなる。
0440nobodyさん
2007/02/27(火) 13:31:47ID:2btkWh5gありがとうございます
でも、 PHP <= 4.2.3では、PHP_INI_ALL
って、php4.2.3以上では、ALLで何処でも変更可能って、解釈してたんだけど、違いますか?
0441nobodyさん
2007/02/27(火) 13:34:04ID:2btkWh5g取り消す… ごめん、不等号読めてなかった。。。w
素直にiniいじります
0442nobodyさん
2007/02/27(火) 13:36:12ID:???外部サーバからデータを送信されるのを防ぐのに一番適切な方法は何ですか?
当初リファラでチェックしてたんですがi-modeでエラー出るみたいで。
0444nobodyさん
2007/02/27(火) 14:08:33ID:???0445nobodyさん
2007/02/27(火) 14:10:16ID:???0446nobodyさん
2007/02/27(火) 14:12:35ID:???日本人気質か
セッション使うとか、いろいろやり方はあるだろ
0448nobodyさん
2007/02/27(火) 14:16:48ID:???0449nobodyさん
2007/02/27(火) 14:22:53ID:???知識だけ知ってて実際のやり方は知らない
所謂知ったかぶりの典型
日本人気質か
0450nobodyさん
2007/02/27(火) 14:25:41ID:???セッションも潰れるのは確定。
もちろんプロキシ変数もだめ。
携帯も使えてなるべくセキュアにというのなら
携帯のみ別ルーチンしなければならない。
0451nobodyさん
2007/02/27(火) 14:27:47ID:???リファラーやクッキーは怪しいけどセッションは通ったような。
0452nobodyさん
2007/02/27(火) 14:28:51ID:???0453nobodyさん
2007/02/27(火) 14:30:19ID:???ある程度自分で決めて実際にやっていったら良いと思う。
リファラを抜けるくらい必死な奴だとちょっとした串チェックも
抜けてくるので焼き鳥等でブラックリスト化するってくらいかな
0454nobodyさん
2007/02/27(火) 14:32:36ID:???0455nobodyさん
2007/02/27(火) 14:33:26ID:???0456nobodyさん
2007/02/27(火) 14:35:38ID:2KFAKokDそれはいつも思うんだが、タブ(の幅)っつうのはエディタの設定でしょ?
そのプロジェクトのルールで、タブ幅は4文字分って決めればいいだけの話じゃない?
空白ははっきりいって効率が悪い。
0457nobodyさん
2007/02/27(火) 14:36:10ID:???もしかしたらクッキーとまちがいたかも…
以前docomoでクッキーかセッションかで渡したら
んなもんないぞゴルァっていわれたのしか覚えてないんだ
適当言ってゴメン
0458nobodyさん
2007/02/27(火) 14:46:26ID:???同意! 前の会社は半角スペース2文字だった
確かに見た目はそれなりに良いとは思うが面倒くさくてたまらんかった・・・・
しかしながら、ソース内のテーブル定義を編集する時
カラム毎の複数行にわたる部分コピペとかでは楽だった。
0459nobodyさん
2007/02/27(火) 14:46:44ID:???クッキーが駄目なんでURLに付加するセッションなら可
0461nobodyさん
2007/02/27(火) 15:03:41ID:???優しい俺が教えてやろう。
お前がやろうとしてることは「CSRF対策」と本質的に同じだ。
したがってCSRFについてググれ。
0462虚弱PHP
2007/02/27(火) 15:48:20ID:???タブ幅とインデントを区別しないと
4インデント、8タブとか使ってるような
Emacsユーザーに「は?」とかムカつく反応されるぞw
0463nobodyさん
2007/02/27(火) 16:12:33ID:???別にそのプロジェクトだけだったらそれでいいんじゃない
ただアンカー先の話題はpearやzfの話だろ
公開ライブラリみたいに不特定多数が使う場合は
環境によって見え方が変わらない方がベターって事
あとスペースで効率が悪いのは
スペース設定のタブ使ってないからじゃないの
それこそエディタ設定の話
0464nobodyさん
2007/02/27(火) 16:27:36ID:???0465nobodyさん
2007/02/27(火) 16:28:49ID:???lessでちょっとだけ見たいときもあるし、csvwebとかから見ることもある。
diff -u で作ったパッチをわざわざエディタで確認することは滅多にないけど、
良く見る情報だからズレるとちょっとイヤかな。
そんなわけで分割スペース派
0466nobodyさん
2007/02/27(火) 17:58:47ID:???なんて夢を一瞬見ました。
0467nobodyさん
2007/02/27(火) 18:35:29ID:???そうやって意味の無い数字で名前つけるのはやめれ
引継ぎが発生すると後から面倒見るやつが地獄を見る
そうでなくても未来の自分は他人と同じ
>>435
クラスを使えばそんな名前付ける必要は出ないんじゃ
0468nobodyさん
2007/02/27(火) 19:00:42ID:DCSYlRNJどなたかご存知でしたらご教授下さい。
$_POST に渡される文字列で "." が "_" に自動的に置換されてしまいます。
Apache もしくは PHP の設定かと思うのですが、良く分かりません。
原因をご存知でしたら教えて下さい。
よろしくお願いします。
0469nobodyさん
2007/02/27(火) 19:56:31ID:???http://jp.php.net/manual/ja/language.variables.external.php
0470nobodyさん
2007/02/27(火) 21:13:50ID:WfwsS845の例えば”例 2102. 値を設定する”で、
$xml->movie[0]->characters->character[0]->name = 'Miss Coder';
ってあるんですけど、
[0]って必要なんでしょうか?
0471nobodyさん
2007/02/27(火) 21:33:32ID:???0472nobodyさん
2007/02/27(火) 21:45:20ID:???ただ映画情報のXMLでmovieとcharacterのエレメントは
複数登録されるようなフォーマットのイメージだから
そういう取り方をしてるのかと
0473nobodyさん
2007/02/27(火) 21:47:50ID:???多次元配列変数を指定した場合、その配列内の3次元以上のものは
取得できないのでしょうか?
関数内で print_r してみると、
配列変数内の、3次元以上のものが表示されません。
0474nobodyさん
2007/02/27(火) 22:02:59ID:???0476nobodyさん
2007/02/28(水) 01:22:24ID:???ありがとうございます。呼び出し元自体が関数で、
そこに global で呼び出していないのが原因でした。
凡ミス恥ずかしい限りです。ただ、
function func1() {
global $test; // これを書いていなかった
// 〜配列の生成処理等〜
$test["items"] = $_tmp["items"]; // これのみ二次元配列の代入
$test["prices"] = $_tmp["prices"]; // 一次元配列の代入
$test["data"] = $_tmp["data"]; // 一次元配列の代入
print_r($test); // 正常に出力
Test_Class::viewArray(); // global $test; print_r($test); を処理
}
のような処理をしていたのですが、最後の処理で、$test["items"] の配列のみ
出力されないのが理解できませんでした。(多分どこか自分の書き方がおかしいのだと思いますが・・)
とりあえず、ありがとうございました。
0477nobodyさん
2007/02/28(水) 03:23:13ID:NIuJbHw3たとえば縦横サイズをある任意の値(元の半分とか)にリサイズした場合、
たしかにピクセルサイズは指定した通りになるのですが、ファイルサイズ(バイト数)が増えてしまいます。
普通、サイズが小さくなればファイルサイズも小さくなると思うのですが。。。
たとえば240*192で4374バイトのpng画像を120*96にリサイズしたら、8094バイトになってしまいます。
これはどうにかならないのでしょうか??
ちなみにソースは、レッツPHPの写メールBBSのthumb_create関数をほぼそのまま借りました。
0478nobodyさん
2007/02/28(水) 04:14:19ID:???pngで出力してるなら、
imagepngのqualityパラメータで調整。
PHP4ならzlibのデフォルトの圧縮レベルが使われる。
jpegで出力してるなら、
画像パターンによってはファイルサイズが大きくなる事もある。
imagejpegのqualityパラメータを下げてもいいけど、たぶん激しく汚くなる。
jpegの仕様だから仕方ない。
0479nobodyさん
2007/02/28(水) 04:17:42ID:???レンタル鯖使ってるからわからん
0480nobodyさん
2007/02/28(水) 05:06:04ID:NIuJbHw3> imagepngのqualityパラメータで調整
特に調整してないのでデフォルト値になっていると思います。PHP4です。
デフォルト設定(100%?)で、ファイルサイズが大きくなってしまうものなんでしょうか?
なお、PNGでもJPEGでもどちらでも、なぜか見た目のサイズは小さくなってるのにファイルサイズは増えてしまいました。
もちろん元の画像サイズがかなり大きい場合にはこの限りではないのですが、
「元の画像サイズが小さい&サムネイル化した画像と元画像との差が小さい」という条件では、
このような逆転現象(?)になってしまうようです。
0481nobodyさん
2007/02/28(水) 05:45:30ID:mYjvryh6キー入力があったかを調べる標準関数
みたいなのがありましたら教えてください。
コンソールプログラムならkbhit、
ウィンドウズプログラムならWM_KEYDOWNみたいなのです。
0482nobodyさん
2007/02/28(水) 06:02:21ID:???話はそれからだ。
0484481
2007/02/28(水) 06:20:21ID:mYjvryh6ありがとうございます。
phpの内容はhtmlに変わるので無理っぽいですね。
ボタンの送信みたいなのを使えば代用はできるかもしれませんが。
→のボタンをチェックした状態で送信したら
キャラクターが右に移動した状態で再読み込み、みたいな。
jsは構文チェックしてくれるエディタが見つからなかったので、
すっ飛ばしてphpを勉強していました。
0485nobodyさん
2007/02/28(水) 06:32:05ID:???0488nobody
2007/02/28(水) 10:46:21ID:???(環境)IE6、WinXP-sp2、Apache、PHP5
画面A(検索画面)でPOST実行し、画面Aに結果表示した後、
画面A内のリンクから画面Bに遷移し、画面Bから
画面Aにブラウザの戻るをしたら、ページの有効期限切れとなってしまいます。
ケスケやFireFox、Operaでは発生せず、IEだけです。
PUKIWIKIの対策ページを参考にしましたが、解決しません。
何か解決方法や参考サイトがあれば、宜しくお願いします。
セキュリティ上どうしようもないのでしょうか?
解決したような事を書いてるHPも複数あるので、なんとか
なると思っていますが。。。
0489488
2007/02/28(水) 10:51:23ID:???ごめんなさい。。^^;
0490nobodyさん
2007/02/28(水) 10:54:32ID:???大手の銀行や上場企業のサイトを見るとjavaがほとんどですが、
phpって企業サイトには向かないのでしょうか?
私は数人の会社なので、どっちでもいいのかもしれませんが、
javaに比べてphpだとセキュリティーとかに不安があるとか、
処理速度が遅いとかっていうことがあるのでしょうか?
0491nobodyさん
2007/02/28(水) 11:05:38ID:???セキュリティーは関係ない。JAVAに比べてphpはメモリー関係で融通が効かないから。
大規模になればなるほど、その辺がまず問題なるが、アクセスが多くなるほど、phpはクラッシュして不安定になる。
小規模ならphpで十分だ。JAVAは運用がその分面倒だし。
0492nobodyさん
2007/02/28(水) 11:12:32ID:???0493nobodyさん
2007/02/28(水) 11:14:58ID:???処理速度は遅いと思うよジャヴァと比べたら
0494nobodyさん
2007/02/28(水) 11:55:52ID:???ここらへんとか
http://www.glamenv-septzen.net/pukiwiki/index.php?PHP%2F%A1%D6%A5%DA%A1%BC%A5%B8%A4%CE%CD%AD%B8%FA%B4%FC%B8%C2%C0%DA%A4%EC%A1%D7%C2%D0%BA%F6#content_1_1
http://memo.xight.org/2006-06-13-2
0495nobodyさん
2007/02/28(水) 11:59:42ID:???そらぁ何台もアプリケーションサーバがあるようなシステムではJavaだろうけど、
一台のホストにWebサーバもデータベースもぶちこむ安システムならPHPもそう負けないだろ。
0496nobodyさん
2007/02/28(水) 12:01:10ID:???0497nobodyさん
2007/02/28(水) 12:15:02ID:???0499nobodyさん
2007/02/28(水) 12:41:26ID:NIuJbHw3> 元のPNGが8ビットで縮小版が24ビットになってるとか
GD関数ではビット数を調べたり、変換させたりが出来るのでしょうか?
ざっとマニュアルを見たところ、ビット数に関する記述は見つかりませんでした。。。
0500nobodyさん
2007/02/28(水) 12:42:45ID:???参考までに教えてほしい。
0501nobodyさん
2007/02/28(水) 12:42:55ID:mYjvryh6ローカルサーバーでクッキーの実験をしているんですけど、
以下のようにしても何も表示されません。
原因を教えてください。
output_bufferingをonにして警告を出なくはさせました。
<?php
setcookie ("Test_Cookie", "syuturyoku", time() + 3600);
echo $_COOKIE['Test_Cookie'];
setcookie ("Test_Cookie", "", time() - 3600);
?>
0502nobodyさん
2007/02/28(水) 14:12:33ID:???何も表示されなくて当たり前。
setcookieはレスポンスヘッダに値を書く命令。
$_COOKIEはリクエストヘッダから読まれた値。
0503nobodyさん
2007/02/28(水) 14:35:16ID:???投稿されてからある程度だったビデオは他の動画からのリファラとかクリックでカウントすればできそうだけど、
投稿されたばかりのビデオとかはどうするんだろ・・・。
0504nobodyさん
2007/02/28(水) 14:38:06ID:???0505nobodyさん
2007/02/28(水) 15:08:01ID:Y6O44be+ブログの最新記事を表示させてるのですが
<?php get_archives('postbypost', '10','custom' ,'<li>' ,'</li>'); ?>
これで記事は取得できるんですが
取得した記事の後に時間を表示させたいのですがどう組み合わせたらいいのか
教えて下さい。
<?php the_time('Y.m.d H:i') ?>
時間取得は上記で取得してます。
試行錯誤したのですが組み合わせができなくて困ってます。
助けて下さい。
0506nobodyさん
2007/02/28(水) 15:12:00ID:???なんなんだお前は。
独自関数が入ったコードで、さも当たり前のように質問するな。
それで回答できる超エスパーは存在しないぞ。
0508nobodyさん
2007/02/28(水) 15:17:12ID:dDErVMbVhtml(UTF8)入力⇒html(UTF8)一部文字化け、となります。
最初は日本語でも文字化けしていたのですが
調べたらEUCで受け渡しているようです。
とりあえず渡れされたものを、EUC⇒UTF8で日本語や繁体時など普通の字は元に戻るのですが
簡体字はEUCで渡す時点で?に文字化けしてるようで対処しようがありません。
受け渡しをUTF-8に統一したいのですが
どういった指定方法があるのでしょうか?
.htaccessに
php_value default_charset utf-8
php_value mbstring.internal_encoding UTF-8
など書いて見ましたが何も変わらず・・・
mb_language("uni");
mb_internal_encoding( UTF-8 );
とかも・・・
0510505
2007/02/28(水) 15:25:24ID:Y6O44be+独自仕様なのわかりませんでした。
すいません;;
0511nobodyさん
2007/02/28(水) 15:38:23ID:???それが分からないようなら、PHPの基礎から勉強できる書籍でも買って勉強してください。
その部分のソースを張れば誰か答えてくれるかもしれません。
またはwordpressを知ってる人が答えてくれるかもしれませんが・・。
0512nobodyさん
2007/02/28(水) 15:45:35ID:miuFrXG1select address1 from table1 union select address2 from table1
このSQLをPHPでmysql_fetch_arrayするとエラーがでます。
エラー:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
しかしデータベースを直接操作するとエラーは出ずうまく取得できます。
なぜでしょうか?
0514512
2007/02/28(水) 15:58:14ID:miuFrXG12つ以上のレコードから重複を取り除きたい
コード 住所1 住所2
1 東京都 中央区
2 東京都 新宿区
3 大阪府 中央区
住所1は東京都と大阪府
住所2は中央区と新宿区
を取り出したいのです。
1つのレコードなら
select distinct address1 from table1
で取得できますが2つ以上の場合どのようにすれば取得可能でしょうか?
0517nobodyさん
2007/02/28(水) 16:04:22ID:???<?php get_archives('postbypost', '10','custom' ,'<li>' , the_time('Y.m.d H:i').'</li>'); ?>
0518nobodyさん
2007/02/28(水) 16:10:20ID:???UTF-8で受け渡しのする他のサーバーでは文字化けしないので
使用しなければならないサーバーでEUC渡しになってしまうようです。
その段階で?になっているので、内部エンコーダーを
レンタルサーバーなりの範囲で変えればいいと思うんですが
何をいれても変化がなく・・・(うけつけない?)
0519505
2007/02/28(水) 16:11:53ID:Y6O44be+phpサイトを見て勉強してきます。
丁寧にありがとうございます。
>>517
神様ありがとうございます。
本当に助かりました
感謝です!
0520509
2007/02/28(水) 16:12:51ID:???そういうことか。
おれも中国語扱っているから分かるが、それなら、プログラムの先頭で
mb_internal_encoding("UTF-8");
を使え。それで、解決だ。
0521nobodyさん
2007/02/28(水) 16:34:28ID:???mb_internal_encoding("UTF-8");
・・・・
print_r(mb_detect_encoding ( $name ,$arr, TRUE ));
EUC-JP
なぜでしょうorz
0522nobodyさん
2007/02/28(水) 16:42:38ID:???$nameがEUC-JPだから
$name = mb_convert_encoding($name, "utf-8", "euc-jp");
rint_r(mb_detect_encoding ( $name ,$arr, TRUE ));
でどう
0523nobodyさん
2007/02/28(水) 16:46:21ID:???0524nobodyさん
2007/02/28(水) 16:50:06ID:???unionって列の名前が異なっててもいいの?
select address1 from table1
union
select address2 as address1 from table1
だったらどう?
0525514
2007/02/28(水) 16:50:24ID:miuFrXG1ありがとうございました。
0526514
2007/02/28(水) 16:52:49ID:miuFrXG1同じエラーがでますた。
0527nobodyさん
2007/02/28(水) 16:59:12ID:???今のところ後ろの方は
そういう感じで集計しているのですが
結局?は?のままなのです。
そして.htaccessで、変換関連は拒絶されました・・・
0528nobodyさん
2007/02/28(水) 17:02:06ID:???それ通らなければSQLのエラー。ちなみにMySQL3ではunion使えないよ。
0529nobodyさん
2007/02/28(水) 17:02:10ID:???SELECT DISTINCT address1,address2 FROM table1
でいけない?
なんのDB使ってるか分からんからなんとも言えんけど;
0530nobodyさん
2007/02/28(水) 17:04:11ID:???なんかsqlだけなのでスレ違いな気もするけど。
0531nobodyさん
2007/02/28(水) 17:09:21ID:AnB9SYohテキストボックスの初期値にできるんでしょうか?
0533514
2007/02/28(水) 17:12:03ID:miuFrXG1重複を取り除けません
>SELECT address1,address2 FROM table1 GROUP BY address1
address2を取得できません
0534nobodyさん
2007/02/28(水) 19:54:21ID:???まず
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
は直ったの?SQLの問題じゃないし
mysql_fetch_arrayの引数が適当なリソースじゃないってエラー
;
$result = mysql_query(....);
$row = mysql_fetch_array($result);
mysql_queryのリターンを指定してるかい?
0535nobodyさん
2007/02/28(水) 19:54:23ID:???0536nobodyさん
2007/02/28(水) 20:00:26ID:???0537nobodyさん
2007/02/28(水) 21:18:42ID:???現在、$array[0]=a $array[1]=b $array[2]=c
となっています。
これらのキーをそれぞれプラス1して、
$array[1]=a $array[2]=b $array[3]=c;
…としたいのですが、どうやったらいいでしょうか?
標準関数一発で出来そうな関数は無かったので質問しました。
0538nobodyさん
2007/02/28(水) 21:29:47ID:/OxDoLcNほげほげ,ほげ\n
もげもげ,もげ\n
PHP
$fx = fopen("hoge.dat", "r");
while (!feof($fx)) {
$str = fgets($fx);
trim($str);
$elem = explode(",", "$str");
$print "$elem[0] $elem[1] ";
}
fclose($fx);
結果
ほげほげ ほげ
もげもげ もげ
期待する結果
ほげほげ ほげ もげもげ もげ
というわけでtrim関数が期待通り動いてないみたいなんですが
俺のせいですかorz
0539nobodyさん
2007/02/28(水) 21:33:57ID:ZCmQSNG70540481, 501
2007/02/28(水) 21:49:59ID:mYjvryh6>>502
できました。
>>485
$_COOKIEでロードし変化させてsetcookieでセーブ
みたいなのを考えていたんですけど、
呼び出す順番に制約があるので無理っぽいです。
エクステンションというのも調べてみます。
0541nobodyさん
2007/02/28(水) 23:11:57ID:???クラスフォルダ(classes等)の中でさらに機能ごとに分類して設置したりしてる?
0542537
2007/02/28(水) 23:24:41ID:???0544nobodyさん
2007/03/01(木) 00:07:48ID:???とか
0545nobodyさん
2007/03/01(木) 00:15:29ID:???住所1 重複不可
住所2 重複おk
ってことかな?
既存のデータベースに対する操作ならEXISTSあたりでできそうだけど
新規にテーブル作ってつっこむならコードと住所1をプライマリキーに
0546nobodyさん
2007/03/01(木) 00:35:17ID:d9i72hOuユーザー関数functionの引数の型の
指定の仕方がありましたら教えてください。
0547nobodyさん
2007/03/01(木) 00:38:55ID:a/RduvQDどんな場合でも10行以上の表示をさせない為には
どうすれば実現できますか?(最後の行には[続き]リンクを入れる)
mb_strpos関数で\nを検索して、改行数をカウントする方法で
やっていますが、これだと改行いれずに文字を多く書かれてしまうと
スルーされます。改行と文字数をいっぺんにカウントする
関数を作っていますが、複雑でよくわからなくなってきました。
何か良い方法や解説しているサイトなどあればご紹介お願いします。
0549nobodyさん
2007/03/01(木) 00:46:26ID:???投稿した文字の改行を取り除いて、指定した文字数ごとに改行いれればいいんじゃない?
文字ごとに切り抜いていって配列に格納して、countで10以上なら10までは表示して以降は[続き]リンクを
続きリンクはview?id=1002&mode=allみたいな感じで普通の閲覧(10行までの表示)と全て表示を切り替える
0551547
2007/03/01(木) 00:57:40ID:a/RduvQDレスありがとうございます。
なるほど〜改行とった後で文字列のカウントですか〜
いや〜まったく思いつきませんでしたw
解決できそうです。ありがとうございました!
0552481, 546
2007/03/01(木) 02:05:12ID:d9i72hOu分かりました。ありがとうございました。
後、自分は>>481でもあります。
キー入力でのキャラの移動は無理でしたが、
フォームとクッキーを使ってならできました。
ただ、遅すぎて実用は難しそうです。
うpローダーがtxtでアップしても内容がhtmlになってしまうみたいなので、
ソースは表示→ソースで確認してください。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3719.txt
0553547
2007/03/01(木) 02:05:28ID:a/RduvQD再度考え直しました。以下の方法で実現できそうです。
1列の文字数を30と仮定して、30文字までを抜き出し
mb_strpos関数で改行を探し、あった場合、その位置までを
変数に格納、次のmb_strpos開始位置を改行のあったところから
30文字分を抜き出し検索、改行がなかった場合、抜き出した文字全てを
変数に格納、これを10回繰り返し、まだ文字が残っていた場合、
[続き]リンクを入れて終了。
しかし問題もありそうです。ブラウザの文字の大きさはそれぞれ違うし、
人によっても大きさを変えています。その場合の対処が
できそうもありませんが、それはそれとして置いときますw
あと、mb_strpos関数の挙動が不審なのも気になりますが、
文字コード等の問題かな?ま〜置いときますw
一応、事後報告として。。。^^;
0554nobodyさん
2007/03/01(木) 02:47:30ID:???改行も投稿内容のうちってことで
携帯ユーザーに多い改行しない投稿も携帯らしさってことでね
0555nobodyさん
2007/03/01(木) 06:33:32ID:???スレッドが消えちゃったんですが、掲示板に戻るで戻ったら、
このスレが再度見つかりました。これって何??
俺だけ?!
0556nobodyさん
2007/03/01(木) 06:38:46ID:???0557nobodyさん
2007/03/01(木) 06:59:15ID:???trim()は標準でスペースもタブも\rも削除するから多分大丈夫
>>538
Perlやってるやつが良く陥る罠
0558547
2007/03/01(木) 09:28:54ID:???文字数だけってことは
あ
い
う
って感じに入れられると、場合によってはすごい行数を
使ってしまう場合がありますよね?
それが嫌だったので、なんとかしようと思ってました。
全く手付かずで、1日悩んでしまいました ><
0560547
2007/03/01(木) 09:47:05ID:???投稿する人に負担になってしまうかもしれませんね〜^^;
でも投稿文字制限は1000文字なんですが、558のようにやると
すごい行数を表示してしまうので、やはりなんとかしたいですねw
行数を増やそうかな。。。
0561nobodyさん
2007/03/01(木) 10:02:39ID:???・N行までの改行数制限
・全体の最大文字数
でそれぞれ制限かけたら?
0562nobodyさん
2007/03/01(木) 10:34:22ID:???1000行表示されたところで自己責任だろ。そういうバカなユーザーは切り捨てろ
0563538
2007/03/01(木) 10:39:56ID:mfeLki9Qこれでうまくいきました。
ありがとうございました。
>>557
ご指摘の通りPerlやってるやつです。
本当にあり(ry
0564nobodyさん
2007/03/01(木) 10:44:44ID:???配列10個のstrlenの合計が規定値より多ければ字数で。
少なければ改行コードで。
ってのはどう?
0565547
2007/03/01(木) 11:06:34ID:???文字数の制限というより、改行の制限ですね。
文字は1000文字以内ならいくらでも問題ないですが、
改行がいっぱい入れられて、行数を稼がれることが問題です。
>>562
荒し対策は難しいですね〜^^;
レスポンスを考えると、今作ってる処理はforの中にfor文があって、
さらにifが多数。。。ほんとはやりたくないんですが。。
>>564
良さそうですね!改行コードでexplodeは素晴らしいかもw
もう少し煮詰めてみます。ありがとうございます!
0566nobodyさん
2007/03/01(木) 11:18:41ID:???別に正規表現使わずにstrpos()でするのが最適ですよね?
0567nobodyさん
2007/03/01(木) 11:35:01ID:???特定の1文字が何回含まれているか、になると
strposの場合ループ処理になるから微妙かな。
関数で一発処理できる場合はその方が速いことも多々ある。
0568547
2007/03/01(木) 11:43:08ID:???1列の文字数を30と仮定して、
>>546 さんの言われた改行コートでexplodeして配列格納。
配列ごとに、30文字以内ならそのまま表示用変数に文字格納して、
改行カウントを+1し、30文字より大きければ、
その時の改行カウント×30を300から引いた数値Aと比較し、
大きければその数値Aまでを表示して[続き]リンク表示して終了。
数値Aより少なければ、表示用変数に配列の文字を格納して、
(配列の文字数÷30)+0.99=改行カウント(整数部)とする。
改行カウントが10超えて配列に文字が残っていれば、
[続き]リンク表示して終了。
なんとかいけそうな感じです^^
mb_strpos関数が不審だったので、explodeでの処理はテストも減るし
大助かりですw ありがとうございます!
0570軟式PHP
2007/03/01(木) 11:46:21ID:???0571547
2007/03/01(木) 12:02:51ID:a/RduvQD私に言っていただいてると仮定して。。w
substr_count関数を使うということは、300文字までに
改行が10個あればそこまでを表示して、なければそのまま表示する。
という処理に使えますね。。。。あれ?使えるのかなw
9個なら30文字、8個なら60文字まで、1個なら270文字まで、
今まではこの関数だと、強制10行処理はムリと思ってましたがw
。。。しばらく考えます。レスありがとうございます!
0572nobodyさん
2007/03/01(木) 12:05:18ID:KfGKDn9N事務系<br>
IT系<br>
サービス・接客系<br>
介護・福祉系<br>
工場・作業系<br>
その他<br>
という物が入っている変数から
"サービス・接客系"をマッチさせようとすると、なぜか検知しません。
中身を変えて "サビス・接客系"で
erge("サビス" というように ー を抜かすとマッチするんですが
いったいどういうことでしょう?
0573547
2007/03/01(木) 12:09:24ID:a/RduvQD私に言ったのでなければ、すいませんw
substr_count関数だと最後の改行位置が分らないので
やはりムリと思います。いや〜昨日から悩みっぱなしですw
0574566
2007/03/01(木) 12:32:50ID:???ありがとうございます。
ttp://selfkleptomaniac.org/archives/44
この辺り読んでstrpos()が最適だと思いました。
そして567さんは日本語の理解力が足らないなとも思いました まる
0576547
2007/03/01(木) 13:09:15ID:a/RduvQDやはり。。すいません^^;
0578nobodyさん
2007/03/01(木) 14:00:04ID:Ji+dT1nkいや、この場合アンカーを付けない奴が悪い。君の対応は紳士的だと思うよ。
0579質問 ◆Hx0p2cgJeA
2007/03/01(木) 14:19:40ID:???あったのですが本当ですか?
0581547
2007/03/01(木) 14:25:27ID:a/RduvQDどうもです^^
でも自分の勘違いが周りも勘違いさせる可能性があるので、
一種の荒らしかもしれませんw
0582質問 ◆Hx0p2cgJeA
2007/03/01(木) 14:28:54ID:???では、一度インスタンス化したら、クラス内や関数内で
もう一度インスタンス化しないほうがよいのですね?
0583虚弱PHP
2007/03/01(木) 14:44:43ID:???どんな負荷要求があるのか…。
ひとまずインスタンスが使いまわせるなら、
Singletonパターンのようなもの使ったりすればいいと思う。
本来使いまわせないものを使いまわそうと工夫するぐらいなら、
パフォーマンスを犠牲にした方がマシだと思う。
PHPでのインスタンス化ってそんなに負荷かかるかな?
0584nobodyさん
2007/03/01(木) 15:11:33ID:???0586nobodyさん
2007/03/01(木) 17:36:06ID:???URLが正当なものかチェックするプログラムを書いているのですが、
URLに含めてはいけない文字列があったらfalseを返すか、
全てエンコードしてtrueを返すかどちらがいいのでしょうか?
0588nobodyさん
2007/03/01(木) 17:44:06ID:WjIfG4Omhttp://up2.viploader.net/pic/src/viploader425975.jpg
0590586
2007/03/01(木) 17:46:54ID:???リンク先を確認する画面を出したいのですが、
その際にURLが不正だったらエラーを出して何もしないか、
エンコードしたURLを出して、
確認してクリックしてくださいというような
メッセージを出すかといった感じです。
0591nobodyさん
2007/03/01(木) 17:51:56ID:??????と思いながら3回ほど上下左右に視線を動かしてみたが、
どこがどうなのか分からなかった
もう見ない方がいいのか
0592547
2007/03/01(木) 17:52:28ID:a/RduvQDforではなくてdo〜whileだったりと多少誤差はあるものの、
>>547 で書いたとおりにほぼ作りました。
レスくれた皆さんありがとうございました!
0594nobodyさん
2007/03/01(木) 18:08:05ID:???いったい一度にどれだけの同時アクセスがあるんだ、と。
そんなレベルで悩んでるということは、たいしてアクセスの無いサイトを運営してると思われる。
だったら、負荷がどうのこうのとか悩む前に、アクセスアップを悩むほうが先じゃないか、と。
0596nobodyさん
2007/03/01(木) 19:08:13ID:7eZkn0sw$_GET内によってリンク先などを変えたりする場合に
<a href=hoge.php?$_GETの内容>hoge</a>のようにできると条件分岐が必要なくなるので便利なのですが。
0599nobodyさん
2007/03/01(木) 19:21:07ID:???0607nobodyさん
2007/03/01(木) 20:09:32ID:???0609nobodyさん
2007/03/01(木) 20:47:37ID:lXqb5ag8どうやればいいのですか?
0610nobodyさん
2007/03/01(木) 20:48:35ID:???0612nobodyさん
2007/03/02(金) 00:13:48ID:???内部的にセッション入りの登録ページURLを返信してくれる
といった機能を
XREAで
実装したいのですが可能でしょうか?
0613nobodyさん
2007/03/02(金) 00:27:46ID:???0616nobodyさん
2007/03/02(金) 01:11:13ID:???そう?
メールの送信先が@xrea.comでなく任意のhoge.hoge相手なら
.forwardやaliasesも使えないだろうから、
1.POP3でxreaサーバからhoge.hogeサーバのメールを受信
2.メールのFrom:を見て規定のフォーマットのメールを送信
っていうPHPスクリプトをcronで起動するって感じになりそな気がするけど。
(hoge.hogeからxrea.comにメールを自動転送する手もあるけど)
0617nobodyさん
2007/03/02(金) 01:45:09ID:BzmNP0/K配列にある全ての画像を合成するプログラムなら組んだ
0618nobodyさん
2007/03/02(金) 02:12:38ID:2TC1CsXh0619nobodyさん
2007/03/02(金) 02:21:34ID:???0620nobodyさん
2007/03/02(金) 02:30:59ID:???0621nobodyさん
2007/03/02(金) 02:34:08ID:2TC1CsXh0622nobodyさん
2007/03/02(金) 02:35:31ID:2TC1CsXhこれをそのまま
echo C[2000, 180]・(1/12)^180 (11/12)^1820;
で表示されますか?今テスト環境が無いのですぐ確認出来ませんので…
0623nobodyさん
2007/03/02(金) 02:35:35ID:???0624nobodyさん
2007/03/02(金) 02:37:25ID:???0627nobodyさん
2007/03/02(金) 02:54:57ID:???http://pc11.2ch.net/test/read.cgi/php/1145308869/585
0628nobodyさん
2007/03/02(金) 02:55:48ID:2TC1CsXhその表現として>>622みたいなこと書いたんですが。
0629nobodyさん
2007/03/02(金) 02:56:28ID:2TC1CsXh0630nobodyさん
2007/03/02(金) 02:58:42ID:???0632nobodyさん
2007/03/02(金) 03:20:39ID:???君は基本的な勉強からやり直しなさい。
それじゃ結局「仕様作成とそのコーディングまで全部書いてください」と言ってるだけだ。
0634nobodyさん
2007/03/02(金) 03:52:35ID:2TC1CsXhただ、PHPでこの計算をする方法が全く検討つかないので。
たとえば10の3乗を出す、程度の計算なら思い浮かびます。
$a = pow(((12*1/2)+(2*2)),3)
自分で書けるのはこのくらいの式でして…pow()も最近覚えたばかりです。
0635nobodyさん
2007/03/02(金) 03:59:13ID:???0636nobodyさん
2007/03/02(金) 04:03:00ID:2TC1CsXhまして向こうでは式の事なんか触れてもいないし。
0637nobodyさん
2007/03/02(金) 04:13:51ID:???0638nobodyさん
2007/03/02(金) 04:25:40ID:???0639nobodyさん
2007/03/02(金) 04:28:37ID:???0640nobodyさん
2007/03/02(金) 09:20:42ID:DDcuD0TE0641634
2007/03/02(金) 10:51:36ID:???そんなに偉いんですか?優越感に浸りすぎじゃない?
マルチどうこうってのは完全にただの言いがかりだし。いくら何でも暗すぎ。
なんかスレ全体見ても、いくら教える側とは言え態度でかすぎだろ。
タメ口で話すとか、そういうんじゃなくて、知らないってだけでバカだのアホだの、
中には死ねとかいう発言まであるし。何でPC得意な奴って攻撃的なんだ?このスレは異質
0642nobodyさん
2007/03/02(金) 10:58:19ID:???0644nobodyさん
2007/03/02(金) 11:26:53ID:???そんなに不満があるなら自力で調べろよww
そんな「攻撃的で異質」なヤツらにわざわざ質問してないでさ、自分で考えなよw
0645nobodyさん
2007/03/02(金) 11:28:16ID:???別人だとは思うが一応答えとくか。>>618の質問の内容からして
テンプレから飛んでマニュアルさえ見れば済むような内容。
仮に誰かがその式を教えたとしてもその後に1から10まで質問してくるとしか
思えないようなスキルの無さがレスの端々に伺える。
丸投げ風な質問内容。
逆に最近でいうと>>547みたいな質問者にはみんなちゃんと答えている。
自分で先ず基本的なところを勉強してからくるか丸投げ板にいくといいよ
0646nobodyさん
2007/03/02(金) 11:49:22ID:???Warning: failed to open stream : No such file or directory
を吐き、確認してもファイルパスは合っており、
試しに require に変更すると一時的に収まるのですが、
その後少しまた開発していると、今度はその require が同じエラーを吐き、
require_once に戻すと収まる始末。暫くするとまたエラーで変更の繰り返し・・
これなんでしょうかね?
PHP 5.2.1 on FreeBSD 6.1(VMware)
0647nobodyさん
2007/03/02(金) 12:13:07ID:???ちょっと引いた
0648nobodyさん
2007/03/02(金) 12:16:34ID:???よろしくです
0651648
2007/03/02(金) 14:00:11ID:???これで再現できるかと
$socket = fsockopen ($host, $port);
fwrite ($socket, $req_hdr . $req_body);
// socket_set_timeout ($socket, $sec);
do {
$dat = fread ($socket, $rbufsize);
$res_data .= $dat;
} while (strlen ($dat));
fclose ($socket);
0652nobodyさん
2007/03/02(金) 14:20:16ID:???if($enc != 'SJIS') {
$body = mb_convert_encoding($body, 'SJIS', $enc);
}
投稿された文字列が
mb_detect_encodingで'SJIS'以外だった場合、
mb_convert_encodingで文字コードを'SJIS'に変換してDB保存したいのですが
mb_detect_encodingがうまく作動せず、英文だとASCIIと日本語だとFALSEを返してきます。
ちゃんとSJISを返す(SJISの場合)ようにできないのでしょうか?
0654nobodyさん
2007/03/02(金) 14:29:03ID:???返レスありがとうございます。
$body = mb_convert_encoding($body, 'SJIS', 'auto');
をかければOKということでしょうか?
>あとdetectは使い物にならない。
そうなんですか(^^;
多用してました…
0655nobodyさん
2007/03/02(金) 14:41:25ID:???およ? PHP5.2.1はバレンタイン・デー時点での
最新安定版なんじゃないの?
さっき桜鯖にインストールしたばっかりなのに (;_;)
0657nobodyさん
2007/03/02(金) 14:58:17ID:???なるほど。でも、とりあえず無事に動いているみたいなので
私はこのままにしておきます。
「『動いているならそのままにしろ』が鉄則」と誰かが言っていたので。
何か問題があったらPHP5.1.xくらいにしてみます。
0659虚弱PHP
2007/03/02(金) 15:06:31ID:???>>650
FedoraCore5+PHP 5.2.1で動かしてるけど、
問題は起きてないなぁ。
アクセラレーターとか入れてない??
0660646
2007/03/02(金) 15:33:32ID:???>>659
特にいれてないですね
$php -v
PHP 5.2.1 with Suhosin-Patch 0.9.6.2 (cli) (built: *)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
先日、開発環境の PHP 4.4.* をアップしてから症状が出だしたので、
やっぱりこちらの環境の PHP 5.2.1 の問題なんですかねぇ
自分のスクリプトの書き方がまずいどうこうの問題ではなさそうですし
もう少し様子をみてみます、どもでした
0661nobodyさん
2007/03/02(金) 15:40:14ID:???0662nobodyさん
2007/03/02(金) 16:06:07ID:???{
static $a = 0;
}
とういう具合に、static変数に初期値を設定するのはOKでしょうか?
0663nobodyさん
2007/03/02(金) 16:31:19ID:SAy252RvXAMPPを使ってDBを作って遊んでるんですが
PHPプログラムを動かすと文字化けするのですが?
ttp://phpspot.net/php/ 等で試したのですが・・・
UTF-8 でも駄目で路頭に・・・
0665nobodyさん
2007/03/02(金) 17:07:33ID:???0666nobodyさん
2007/03/02(金) 17:18:39ID:SAy252Rv0667虚弱PHP
2007/03/02(金) 17:47:43ID:???そっか。
Suhosinパッチが当たってるね。
FreeBSDって標準でパッチ当たってるんだっけ?
問題切り分けのために、
できるならパッチが当たっていないPHPでテストした方がいいと思う。
0668nobodyさん
2007/03/02(金) 18:26:29ID:???下山伸二です。
あれから、色々引越しなどもありましてphpの勉強が進んでいないのですが、
なんとか自分のHPらしいものができあがりました。感謝感謝です。
また、ここで勉強させて頂きますので、どうもお手柔らかにお願いします。
今日は、これから出かけますので、この辺で。
0669nobodyさん
2007/03/02(金) 18:38:14ID:???こんな文字列データから数字のみ取り出すのはどうしたら良いですか。
eregだとマッチはするのだけれども、その文字のみ取るというのが出来ません。
アドバイスお願いします。
0671nobodyさん
2007/03/02(金) 18:45:26ID:Q6VSKbxPfor ($i=0;$i<count($value);$i++){
$array[] .= $value[$i];
$array[] = implode(" AND ",$array[]);
}
エラーが出ます。どうすれば良いでしょうか。
0673nobodyさん
2007/03/02(金) 18:52:36ID:???for ($i=0;$i<count($value);$i++){
$array[] .= $value[$i];
$array[] = implode(" AND ",$array[]);
}
}
0676671
2007/03/02(金) 18:59:21ID:???>>675
それやると
Warning: implode(): Bad arguments. in /public_html/test.php
が大量に…
0677nobodyさん
2007/03/02(金) 19:03:36ID:???0678nobodyさん
2007/03/02(金) 19:05:20ID:???$filename = "asdf0002asdf.jpg";
$number = preg_replace("/.*?([0-9]+).*?\.jpg/", "$1", $filename);
0679nobodyさん
2007/03/02(金) 19:10:09ID:w2JedoDoフォームの内のタグを排除する為に
$_POST = array_map("strip_tags",$_POST);
としているのですが、これだとタグを排除するだけで、<とか"は排除出来ません。
普通はhtmlspecialcharsを使うのでしょうが、これを使うと配列内の値は
適応されずに、エラーになりました。
フォームからの値を一括でサニタイズする場合、どういう書き方をするのが
一番ソースが少なく、最適だと言えるのでしょうか?
0680669
2007/03/02(金) 19:10:26ID:6EETpm2Cありがとう!!
0681nobodyさん
2007/03/02(金) 19:12:51ID:???これぞサニタイズ脳。
入力値をサニタイズするんじゃなくて、
入力内容はそのまま受け取って
出力値をサニタイズするんです。
0683nobodyさん
2007/03/02(金) 19:20:47ID:???$aの配列の中身がこうなっています。
( 1=A, 1=B, 2=A, 2=K, 2=D, 3=SS, 3=AX, 4=A…)
この時、
(1=A / 1=B) + (2=A / 2=K / 2=D) + (3=SS / 3=AX) + (4=A …
という様に数字ごとに一組になる様に置き換えたいのですが、
いい方法ありますか?
ややこしくてすみません。
0684679
2007/03/02(金) 19:21:54ID:???$name=htmlspecialchars($_POST["name"]);
こういうことですよね?でも、これだと必ずhtmlspecialcharsを付けないと
行けなくて、ソースが増えすぎると思うのですが・・。
0685nobodyさん
2007/03/02(金) 19:21:56ID:???サニタイズ脳に答えるなんて親切だろ?
preg_replace("/\'|\"|\&|\<|\>/", "", $str);
0686nobodyさん
2007/03/02(金) 19:28:28ID:???高木さんのこのエントリーでも読んで少し勉強してきな。
http://takagi-hiromitsu.jp/diary/20051227.html
0687nobodyさん
2007/03/02(金) 19:31:09ID:???0689nobodyさん
2007/03/02(金) 19:35:51ID:???コーディングスタイルなんて人それぞれだろ?
0693nobodyさん
2007/03/02(金) 19:54:21ID:g1P/5yv2ご存知の方いませんでしょうか?
行列計算に関しての情報が全然見つからなくて困っています。
下らない質問ですいません…。
0696683
2007/03/02(金) 20:01:52ID:???すみません、ちょっとよくわかりません。
私が考えていたのはif文を使って、
数字が同じなら / で区切り、数字が変わったら )+( で区切る様にする
という感じですが、その数字の判別をどうやってやるのかよく分からなくて、、、
0697nobodyさん
2007/03/02(金) 20:05:58ID:???はい、PHPのマニュアルから探しはじめて、PEAR、PECL、
検索エンジンでも探したのですが見付かりませんでした…。
ごめんなさい。
>>695
クロス集計したデータを要約する統計的分析です。
いろんな項目を集約して、分類できそな値を見つけるのが目的です。
ttp://www5.ocn.ne.jp/~shinya91/csm/331csm_multi.html
0699nobodyさん
2007/03/02(金) 20:07:01ID:???0700683
2007/03/02(金) 20:09:53ID:???そうです。
1-A,2-B,2-X,3-AB…
という感じで「半角数字=文字」の束がコンマ区切りで格納されています。
0701nobodyさん
2007/03/02(金) 20:12:29ID:???0703683
2007/03/02(金) 20:17:38ID:???1=A,2=B…イコールの誤りですすみません
explodeすると
1,A,2,B,2,Cという感じにバラバラになってしまうので余計やりにくい様な
0704nobodyさん
2007/03/02(金) 20:20:07ID:???0705nobodyさん
2007/03/02(金) 20:20:40ID:???0706683
2007/03/02(金) 20:32:41ID:???0707nobodyさん
2007/03/02(金) 20:33:07ID:???for ($i = 0; $i < count($arr); $i += 2) {
$test.push({key: MODEL[$arr[$i]], val: $arr[$i+1]});
}
すべてカンマ区切りならこうすれば結構やりやすいんじゃないかと。
0708nobodyさん
2007/03/02(金) 20:36:45ID:???pearやpeclも調べてないんだったら厳しいね。(っていうか調べてたんなら最初から書いてね)
やり方分かってるなら自分でモジュール作ってみたら?
他の人も助かるかもしれないし。
0710683
2007/03/02(金) 20:44:33ID:???その数字が変われば次の処理にいく、という感じにしたいと思います。
0712nobodyさん
2007/03/02(金) 21:17:48ID:g1P/5yv2書き忘れてすみませんでした。
ライブラリは無さそうですか…。残念ですが、自分で作ることにします。
PEARとPECLに登録されるようがんばります。
わざわざレスありがとうございました。
0713nobodyさん
2007/03/02(金) 22:43:15ID:iNFjaYc/PHP側が文字コードをMySQLの設定文字コードに合わせないといけないのでしょうか?
PHPのinernal encodingをEUC-JP、MySQLの設定文字コードをSJISにすると、
正常に検索が行えませんでした。
(LIKE %日本語% を発行すると、一部しか拾って来ませんでした。)
0715nobodyさん
2007/03/02(金) 22:55:57ID:???0717713
2007/03/02(金) 23:13:02ID:iNFjaYc/>>714 さん
レンタルサーバで、MySQLの設定をいじることができません。
>>715 さん
PHPの内部エンコーディングをMySQLの設定文字コードに合わせたくないという事です。
>>716 さん
追加したデータは、EUC-JPで入っています。
INSERT時も内部エンコーディングEUC-JPのPGを使っているので、
データ自体、EUC-JPになっています。
ですので、検索時だけ対処しても駄目だと思います。
0720713=717
2007/03/02(金) 23:31:13ID:iNFjaYc/馬鹿です。
本番環境のエンコーディングが今まで分からなくて・・・
>>719 さん
MySQL 4.0だから、その手は使えません。
それで、最初の質問で「MySQL 4.0を・・・」と書きました。
皆さんは、どうされていたのか、知りたいと思いまして。
やはり、SQL投げる度に(INSERTもSELECTも)、
文字コードの変換を書く必要がありそうですね。
データ量が10万件規模なので、面倒だと思いましたが、
仕方ないようですね。
0721nobodyさん
2007/03/02(金) 23:37:28ID:???これはもうPHP全然関係なくて、さすがにMYSQL内部でがエンコードが違うと
likeで部分一致を試みようと思ってもうまく処理できないんだよ。
諦めてデータベースの中身を1度入れ替えるべし。
0722713=717
2007/03/02(金) 23:40:16ID:iNFjaYc/失礼しました。
SET NAMESではないですね。
ただ、それを実行すると、
#1115 - Unknown character set: 'ujis'
となります。
SHOW VARIABLES LIKE 'character%'
とすると、
latin1 big5 czech euc_kr gb2312 gbk latin1_de sjis tis620 ujis dec8 dos german1 hp8 koi8_ru latin2 swe7 usa7 cp1251 danish hebrew win1251 estonia hungarian koi8_ukr win1251ukr greek win1250 croat cp1257 latin5
となるのですが・・・
0724713=720=722
2007/03/02(金) 23:44:26ID:iNFjaYc/>>721 さん
なるほど。エンコードが違うと、部分一致がうまく処理されないんですね。
>>723 さん
何か上手いやり方があるかと思いましたが、地道にするしかありませんね。
皆さんのおかげで、無事、解決しました。
mb_convert_encodingで文字コード変換します。
ありがとうございました。
0725nobodyさん
2007/03/03(土) 03:03:11ID:fjJSaYh6ZendFrameworkの板から流れてきたんですけど、どうやら問題はPDO関係っぽいので
こちらにおじゃまします。
postgresqlでPDO使ってる人いますか?
接続は
$db=new PDO('pgsql:dbname=testdb user=user');
であってますよね?これでつなげるし、クエリーも出せて結果も受け取れるんですけど
ZendFrameworkを使って接続すると、apache(httpdのuser)君にはそんな権限はありませんって
エラーが出て、どうやら、ユーザーを認識していない様子。
で、ソースをいじって、PDO接続するところを上記のように(ZF使う前からずっとこれでつなげてました)
変えたら、接続できて、その他のメソッドも動きました。
あちらでも指摘されたんですがPHPのマニュアルには
new PDO('mysql:host=localhost;dbname=test', $user, $pass);
と出てるんですよね。でも、このまま頭をpgsqlに変えると、apache君〜のエラーが出ます。
ちなみに、httpdの実行ユーザーをDBの接続ユーザーと同じ名前にすると接続できたりします。
ttp://www.php.net/manual/ja/ref.pdo-pgsql.connection.php
ここを見ると、postgresqlは違うような表記になってますけど、
これって、つなぐDBによって表記が変わるようなしろもんじゃないですよね?
長文失礼しました。
ご指摘ありましたらお願いします。
0726nobodyさん
2007/03/03(土) 03:06:51ID:???変わる代物です。例えば
MySQL : mysql:host=[HostName];dbname=[DatabaseName];charset=[MySQL Charset]
PostgreSQL : pgsql:host=[HostName] port=[PortNumber] dbname=[DatabaseName] user=[UserName] password=[Password]
SQLite3 : sqlite:[DatabaseFileName]
SQLite2 : sqlite2:[DatabaseFileName]
0727725
2007/03/03(土) 03:08:17ID:???PHP5.2.1
postgreSQL8.2.3
apache2.2.2
です。
エラーは
SQLSTATE[08006] [7] FATAL: role "apache" does not exist
です。(権限はないじゃなくて、いませんでした。勘違いですOTZ)
0728nobodyさん
2007/03/03(土) 03:13:14ID:fjJSaYh6即レスサンクス
やっぱりdbによって違うんですか。
ってことは、ZendFrameworkのバグでしょうか?
あっちでも書いたんですけど^^;
いくら試用段階とはいえこんなコアな部分にバグあって
誰も気づかないはずないですよね?
もうちょっといろいろ試してみます。
引き続き何かありましたらレスお願いします。
0729nobodyさん
2007/03/03(土) 04:38:49ID:???必要な情報がDB毎に異なる部分だからこの辺は
統一されている必要性があるとも考えてもいないんじゃない?
バグでなく「仕様」かと。
0730nobodyさん
2007/03/03(土) 05:35:56ID:???DSNの指定はDBごとに異なるものだけど、userとpassについては
第二引数、第三引数に指定することで各種DB共通に処理できる。
$db=new PDO("pgsql:dbname=testdb", "user");
で動かんか?
0731nobodyさん
2007/03/03(土) 07:31:57ID:???<?php
$array = array( "1=A", "1=B", "2=A", "2=K", "2=D", "3=SS", "3=AX", "4=A" );
$str = "";
$i = 0;
// sort($array);
foreach ($array as $val) {
$num = (int)$val;
if ($num == $i) $str .= " / " . $val;
elseif ($num > $i) {
if ($i == 0) $str .= "(" . $val;
else $str .= ") + (" . $val;
$i = $num;
}
else exit("Error");
}
$str .= ")";
echo $str;
?>
0732nobodyさん
2007/03/03(土) 07:47:18ID:???だったらだめじゃん
0733nobodyさん
2007/03/03(土) 08:19:04ID:???$m=(int)$m;
$n=(int)$n;
if ($m == $n){
return 0;
}else if ($m > $n){
return 1;
}else{
return -1;
}
}
sort($array,'sortFunc')
0734nobodyさん
2007/03/03(土) 08:23:48ID:???sort($array,'sortFunc') →usort($array,'sortFunc')
0735nobodyさん
2007/03/03(土) 08:24:37ID:???0736731
2007/03/03(土) 08:24:45ID:???数字はあらかじめソートして配列が作ってあるのが前提です
並べ替えてよいのなら
sort($array, SORT_NUMERIC );
にしてください
0737nobodyさん
2007/03/03(土) 08:29:42ID:???どうしてもださくなるわな
0739nobodyさん
2007/03/03(土) 10:53:33ID:???0740nobodyさん
2007/03/03(土) 11:18:40ID:???>なんか沸いたぞw
この場合の「わいた」は「沸いた」ではなく「湧いた」ではないでしょうか。
ご確認のうえ、訂正をお願いします。
0741nobodyさん
2007/03/03(土) 11:26:05ID:???function hogeHoge($name,$type,$format);
出力側は、hogeHoge("名無し","テキスト","");
みたいな感じですよね?なんか他所で
function hogeHoge($name,$type[,$format]);
こういう書き方を見たのですが、こういう書き方って出来るんですか?
0742nobodyさん
2007/03/03(土) 11:29:27ID:???0744nobodyさん
2007/03/03(土) 11:33:08ID:???Parse error: syntax error, unexpected '[', expecting ')' in C:\home\php\test.php on line 3
人に試させるなよ
0745nobodyさん
2007/03/03(土) 11:33:15ID:???0747741
2007/03/03(土) 11:43:10ID:???マニュアルです。省略可能という事は、
hogeHoge("名無し","テキスト");
こう書けるって事ですか?ただこれをすると
Missing argument 4 for hogeHoge(), というようなエラーが出ました
0748nobodyさん
2007/03/03(土) 11:51:03ID:???0749nobodyさん
2007/03/03(土) 11:51:13ID:???関数定義するとき省略可能なようにする
function hogeHoge ( $name, $type, $format = "")
{
echo $name;
echo $type;
if ($format) echo $format;
}
0751nobodyさん
2007/03/03(土) 12:35:53ID:Z8h+tc0/下記のような方法では、無理でしょうし。
* hoge.php
require_once 'settei.php';
Class Hoge
{
function sample(person){
echo $name[person]."さんです。";
}
}
* settei.php
$name = array(1=>"taro",2=>"jiro",3=>"saburo");
0752nobodyさん
2007/03/03(土) 12:46:09ID:???とクラスが使えない俺が言ってみる。
0753nobodyさん
2007/03/03(土) 13:16:08ID:???static $name = array(1=>"taro",2=>"jiro",3=>"saburo");
にして
settei::name[$person]
でアクセス
PHP4なら
define( "name", array(1=>"taro",2=>"jiro",3=>"saburo") );
にして
name[$person]
でアクセス
検証はしてないのでたぶん
0754nobodyさん
2007/03/03(土) 13:31:19ID:???htmlspecialcharsでも悪くはない。
高木の言うことを鵜呑みにするのは初心者ですか?
0755nobodyさん
2007/03/03(土) 13:33:41ID:2CUy4PID0756725:728
2007/03/03(土) 13:40:25ID:fjJSaYh6>>730
レスありがとうございます
すいません。わかりました。
passwordを省略すると、そのエラーが出るようです。
しかもZendFramework版のほうで指摘されてたのに見逃してたみたいです。
まじでごめんなさいOTZ
いいわけ:でも、エラーの出方が紛らわしいと思いません?^^;
ありがとうございました。
0757nobodyさん
2007/03/03(土) 13:57:33ID:2CUy4PID余計なものまで取得したり、配列がぐちゃぐちゃになって困ってます。
どこを手直ししたらよろしいのかご教授お願いいたします。
【取得したい内容】
apache_child_terminate ? このリクエストの後にApacheプロセスを終了する
・
・
virtual ? Apache サブリクエストを実行する
【ここまで】
(計14行文)
<?php
$url = "http://www.php.net/manual/ja/ref.apache.php";
$subject = file_get_contents($url);
$subject = mb_convert_encoding($subject,"EUC-JP","auto");
$patten = "[(<dt>)+(.*)(</a></span>)+]";
preg_match_all($patten, $subject, $set);
echo"<pre>";
print_r($set);
echo"</pre>";
?>
0758nobodyさん
2007/03/03(土) 16:18:07ID:cG1UPfnL300行ほど並んだCSVファイルから、ランダムで1行だけを取り出し、
その列のデータを配列$arrayに入れる方法を教えて下さい。
0760nobodyさん
2007/03/03(土) 16:24:39ID:???0761nobodyさん
2007/03/03(土) 16:25:32ID:???srand((float) microtime() * 10000000);
$array = array_rand($file);
0762nobodyさん
2007/03/03(土) 16:26:28ID:cG1UPfnL$file = "data.csv";
$file = @fopen($file);
$array = array($file);
$close;
でストップしてます
0765nobodyさん
2007/03/03(土) 16:32:35ID:???$file = "data.csv";
srand((float) microtime() * 10000000);
$array = array_rand($file);
とした時、$arrayには行数が入りますよね?
0767nobodyさん
2007/03/03(土) 16:36:11ID:???HTML化される前のSGMLを使った方がいいんじゃまいか?
<refentry id="function.apache-child-terminate">
<refnamediv>
<refname>apache_child_terminate</refname>
<refpurpose>このリクエストの後にApacheプロセスを終了する</refpurpose>
てな感じにXMLの形式で書かれている。
元ネタはCVSで取得するしか無いが、まぁ難しいもんでもない。
今のように毎回本家に負荷を掛けるより、一回チェックアウトしてローカルファイルとしてやったほうがいいべ。
cvs -d :pserver:[email protected]:/repository checkout -d phpdoc-ja/reference
0768nobodyさん
2007/03/03(土) 16:38:47ID:???理解しました。
$file[$array]で出力するとうまく一行だけ取り出せました。
ありがとうございました。
0769nobodyさん
2007/03/03(土) 16:51:04ID:2CUy4PIDしかし全部14行取得できません。悩みます。
>>767さんのおっしゃること通りですが、私には勉強不足な点がございますので調べてみます。
0770nobodyさん
2007/03/03(土) 16:53:18ID:2CUy4PIDArray([0] => Array
(
[0] => apache_child_terminate ? このリクエストの後にApacheプロセスを終了する
[1] => apache_get_modules ? ロードされた Apache モジュールのリストを取得する
[2] => apache_get_version ? Apache のバージョンを取得する
[3] => apache_getenv ? Apache の subprocess_env 変数を取得する
[4] => apache_note ? Apacheリクエスト記号(note)を取得/設定する
[5] => apache_request_headers ? HTTPリクエストヘッダを全て取得する
[6] => apache_reset_timeout ? Apache の書き込みタイマーをリセットする
[7] => apache_setenv ? Apacheサブプロセスの環境変数を設定する
[8] => ascii2ebcdic ? ASCIIからEBCDICに文字列を変換する
[9] => ebcdic2ascii ? EBCDICからASCIIに文字列を変換する
[10] => getallheaders ? 全てのHTTPリクエストヘッダを取得する
[11] => virtual ? Apache サブリクエストを実行する
)
[1] => Array
(
[0] => apache_child_terminate ? このリクエストの後にApacheプロセスを終了する
[1] => apache_get_modules ? ロードされた Apache モジュールのリストを取得する
[2] => apache_get_version ? Apache のバージョンを取得する
[3] => apache_getenv ? Apache の subprocess_env 変数を取得する
[4] => apache_note ? Apacheリクエスト記号(note)を取得/設定する
[5] => apache_request_headers ? HTTPリクエストヘッダを全て取得する
[6] => apache_reset_timeout ? Apache の書き込みタイマーをリセットする
[7] => apache_setenv ? Apacheサブプロセスの環境変数を設定する
[8] => ascii2ebcdic ? ASCIIからEBCDICに文字列を変換する
[9] => ebcdic2ascii ? EBCDICからASCIIに文字列を変換する
[10] => getallheaders ? 全てのHTTPリクエストヘッダを取得する
[11] => virtual ? Apache サブリクエストを実行する
)
)
0771nobodyさん
2007/03/03(土) 17:03:44ID:???0772nobodyさん
2007/03/03(土) 17:25:28ID:???アドバイスいただきありがとうございます。
0773nobodyさん
2007/03/03(土) 19:19:38ID:Z8h+tc0/のってませんでした。可能でしたら、お教え下さい。。
file_get_contents("http://www.yahoo.comcomcom") <= 404エラー
rescue
exit
みたいな。rubyでいう。
0774nobodyさん
2007/03/03(土) 19:22:21ID:???失敗した場合、file_get_contents() は FALSE を返します。
0775nobodyさん
2007/03/03(土) 19:24:16ID:???print "大成功!";
}
0776773
2007/03/03(土) 19:34:42ID:Z8h+tc0/0777773
2007/03/03(土) 20:11:37ID:Z8h+tc0/"http://www.yahoo.comcomcom"): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
ためしてみたんですが、WARGINGは出ますねぇ。。
0779nobodyさん
2007/03/03(土) 20:27:56ID:???とにかく自分でソース確認しましょうね。
0780nobodyさん
2007/03/04(日) 00:54:24ID:/sugyBqZmy.cnfの[mysqld] に
skip-character-set-client-handshake
を貼り付ければいいわけですよね?
うん〜
0781nobodyさん
2007/03/04(日) 02:01:20ID:74jdPdk8ブロックが閉じる時に変数は破棄されますか?
if(***) {
$hoge;
}
{
$foo;
}
function Bar() {
$bar;
}
0782nobodyさん
2007/03/04(日) 02:04:10ID:???0783nobodyさん
2007/03/04(日) 02:55:29ID:j6Pq8T7o例えば、クラスAは、クラスBからはnewできるが、クラスCからはnewできない、などです。
packageやfriendクラスの概念が無いので正攻法では無理だと思うのですが、
何か擬似的な方法がありましたらご教授下さい。
0784nobodyさん
2007/03/04(日) 03:05:39ID:???関数から抜け出したい(関数内に書かれているその後の処理をしたくない)のですが、
どうやって任意のポイントで関数から抜け出したらいいでしょうか?
breakとかじゃないし・・・
exitだとプログラム全体が終わっちゃうし・・・
0785nobodyさん
2007/03/04(日) 03:06:41ID:???0786nobodyさん
2007/03/04(日) 03:07:10ID:???0788nobodyさん
2007/03/04(日) 03:15:48ID:???えっ、returnって値を返すだけじゃなくて、関数から抜けられるの!?
知らなかった・・・
今までいちいち
return $hoge;
exit;
とかって書いてた・・・orz
0789nobodyさん
2007/03/04(日) 03:32:00ID:???その直前でreturnしてるから、exitまで行ってないけど。
0790nobodyさん
2007/03/04(日) 04:11:57ID:???関数以外のブロックはスコープを隔てません。
>>783
定義したクラスは全てグローバルな同一の名前空間に押し込まれるので、できません。
いや、無理すればできるかもしれないけど、むしろ設計や命名規則などをうまく構築すべき。
無理な方法�@コンストラクタの引数に特定のクラスのオブジェクトを渡し、不正なオブジェクトだったら例外投げたりエラー吐いたり。
無理な方法�AクラスAを無理やりクラスBの親クラスにすれば、AのprotectedなメソッドにはCからアクセスできないので、そこでしかnewできないようにする。
無理な方法�Bコンストラクタ内で、debug_backtraceで直前にどこのメソッドにいたのか調べる。
0791nobodyさん
2007/03/04(日) 04:50:35ID:???こんな感じのことしたいのですがどのようにすればいいでしょうか?
0792nobodyさん
2007/03/04(日) 05:34:39ID:???0793nobodyさん
2007/03/04(日) 05:35:43ID:???>>えっ、returnって値を返すだけじゃなくて、関数から抜けられるの!?
同じ事を言っている事に気付かないのは、俺も共感は出来る。
0794nobodyさん
2007/03/04(日) 05:40:06ID:???0795nobodyさん
2007/03/04(日) 05:41:50ID:???SQL再起動したのか?
後質問するならバージョンとかもちゃんと書けよ。
「PHPプログラムを動かすと文字化けする」ってのも実は良くわからんし。
0797781
2007/03/04(日) 06:44:40ID:74jdPdk8ありがとうございます。
0798nobodyさん
2007/03/04(日) 06:44:57ID:qW7P3ujl今、パーミッションが「0600」のtest.gifというファイルがあるとします。
このとき、rootでSSHログインし、以下のような内容のPHPスクリプトを実行します。
$file = '/home/httpd/(省略)/test.gif';
chmod($file, '0644');
すると、なぜかtest.gifのパーミッションが、「0644」ではなく「1204」になってしまいます。
どうしてこうなるのでしょうか・・・??
スティキービットを立てろなんて命令してないのに。。。
0799nobodyさん
2007/03/04(日) 06:56:26ID:???その図太い神経だけは認めてやるw
0800nobodyさん
2007/03/04(日) 07:00:50ID:qW7P3ujlサーバ名と言いますと・・・??
もしかしてOSのことでしょうか?
OSはLinuxです。
PHPは4.3.1です。
0801791
2007/03/04(日) 07:03:53ID:???0802798
2007/03/04(日) 07:04:46ID:qW7P3ujl直接シェルから
chmod 644 test.gif
と入力してやれば、期待通りの結果(0644)になります。
それなのに、なぜかPHPのchmod()だと「1204」になってしまいます。
0805798
2007/03/04(日) 07:50:53ID:qW7P3ujl>>803さん、ありがとうございます。
そうですね、そこに気づかずにハマってしまいました。。。
0808nobodyさん
2007/03/04(日) 09:12:08ID:???$hoge = new hoge();
$this->hoge = $hoge
$this->hoge->hogeArr();
0809nobodyさん
2007/03/04(日) 10:16:05ID:???0810nobodyさん
2007/03/04(日) 10:32:46ID:???0811nobodyさん
2007/03/04(日) 10:33:53ID:???0813nobodyさん
2007/03/04(日) 11:22:22ID:???このスレを見ている人はこんなスレも見ています。(ver 0.20)
SOHOやフリーでWeb制作してる奴 二十人目 [Web制作]
【漢検】 漢字検定2級スレ part2 【2級】 [資格全般]
【アフィゴマ疑惑】Smart-C Part2【濃厚?】 [Web収入]
【支払遅延】Ads by Goooooogle Part77【奢れる者】 [Web収入]
▲漢字検定って意味ある資格?▲ [教育・先生]
0815nobodyさん
2007/03/04(日) 11:41:06ID:???0816nobodyさん
2007/03/04(日) 12:31:40ID:VcUPN6gu配列の添え字に日本語って使ってもいいのでしょうか?
いや、実際やってみたら使えるんで便利だと思ってるんですけど
英数字の添え字以外はなじみがなくて。
0817nobodyさん
2007/03/04(日) 12:43:12ID:???SJISでなんて怖くて出来ないし
とか色々考えると俺には出来ないな
0818nobodyさん
2007/03/04(日) 12:46:50ID:???0819816
2007/03/04(日) 13:25:09ID:???まあ怖いのはそうなんですがwどうせ商用じゃないし利便性が勝るので気をつけて使います。
0820nobodyさん
2007/03/04(日) 13:35:23ID:J36PC9WXあるファイルで
function hoge(){
$hoge = $_POST['hoge'];
}
としておいて、別ファイルから
hoge();
で呼び出しをしてそれ以降の処理で$hogeを使うのはムリでしょうか?
一度試してみたのですがうまくいってなくて。
できないものなのでしょうか?
0821nobodyさん
2007/03/04(日) 13:38:27ID:???$hoge = $_POST['hoge'];
return $hoge;
}
↓
としておいて、別ファイルから
↓
$hoge = hoge();
↓
それ以降の処理
0822nobodyさん
2007/03/04(日) 13:39:08ID:???0823nobodyさん
2007/03/04(日) 13:40:13ID:???global $hoge;
$hoge = $_POST[?hoge?];
}
hoge();
echo $hoge;
0824820
2007/03/04(日) 14:03:12ID:???ありがとうございます
こんなに早く教えていただけるなんてびっくりしました;
変数の数が少ないときはreturnを使って、
変数の数が多い場合はglobalを使うのが良さそうですね!
どうもありがとうございました!がんばります!
0825nobodyさん
2007/03/04(日) 14:21:51ID:???配列の添え字とか、DBのフィールドに日本語とか
プログラマとして上を目指すなら今のうちに止めたほうがいいな。
趣味程度なら他人に迷惑かけなければ利便性重視でおk
0826nobodyさん
2007/03/04(日) 16:14:39ID:???どこからもってきたのか聞いたら某大手自動車メーカー経由だった
あほか
0827nobodyさん
2007/03/04(日) 16:26:49ID:???return $this->shouhin;
}
ぐらいならいいけど
function getShouhin(){
return $this->商品;
}
とか
function 商品取得(){
return $this->商品;
}
は死刑だな
0828nobodyさん
2007/03/04(日) 16:44:52ID:???そういうことができる仕様になってるわけだから。
でも、俺はめんどうでやっかいなだけだと思うから、
そういう変なポリシーは持たない!
0829nobodyさん
2007/03/04(日) 17:14:35ID:???コードにマルチバイト使用できる「機能」がないほうが速度とか角度とか色々いいだろ
0830nobodyさん
2007/03/04(日) 17:21:07ID:BeWvury2投稿された内容を、一行づつ書き込む(一つの投稿ごとに改行して同じテキストに書き込む)
見るときは、そのテキストから、file()で格納した配列をforeachでループさせる
これで書き込まれた内容と、それに対応する行番号が取得できましたが、
任意の行を削除するにはどうしたらいいのでしょうか?
0832nobodyさん
2007/03/04(日) 17:22:04ID:???複数のクラス間で同じもの共有したのですが、
class Super
{
function Super()
{
$this->time = time();
}
}
class Sub1 extends Super
{
}
class Sub2 extends Super
{
}
a = new Sub1;
print a->time;
sleep(1);
b = new Sub2;
print b->time;
例えば上のような形で、同じtimeの値を共有する方法はありますか?
0834nobodyさん
2007/03/04(日) 17:41:37ID:???SJISに文字コード変換したいのですが、どのようにすればいいでしょうか?
0838783
2007/03/04(日) 18:15:01ID:j6Pq8T7o遅ればせながら、ありがとうございます。
debug_backtrace方式は目からウロコでした。
濫用しない程度に特攻してみます。
0839834
2007/03/04(日) 18:28:40ID:???0842nobodyさん
2007/03/04(日) 19:02:22ID:???ってか、EUCからSJISニ変換したところで無駄に重くなるだけだからやめとけ
0843nobodyさん
2007/03/04(日) 19:02:43ID:KchkAUoCサーバーOS:Windows XP SP1
PHPver:5.1 build 2600
GDのバージョンは2です。
本文:
以下のようなソースを書きました。
$image = imagecreatefrompng('./images/3.png');
imagepng($image);
imagedestroy($image);
$image = imagecreatefrompng('./images/2.png');
imagepng($image);
imagedestroy($image);
望みとしては、3の次に2が横並びで表示するようにしたいのですが、位置の指定方法がまったくわかりません。
それぞれのpngファイルの名前は数の番号を表しています。
この例だと
32
と表示してほしいのですが、
3
としか表示されません。
ファイルじたいをpngファイルとして認識させたいのですが、他に方法があるのならそれでもかまいません。
どうかよろしくお願いします。
なおサーバーのファイルは自分で設定できる立場にあります。他のDLLを導入するなどは可能です。
0844nobodyさん
2007/03/04(日) 19:36:24ID:???というのは下らない冗談で、
とりあえずマニュアルでそれぞれの関数のページ見れば解決すると思うよ
0845nobodyさん
2007/03/04(日) 20:06:30ID:???関係の関数含めて見直します。
0846843
2007/03/04(日) 20:07:00ID:KchkAUoCすごく間違えました。
>>845は私です・・・
0847nobodyさん
2007/03/04(日) 20:07:03ID:???そうそう、無理に英語にしたり、数字つけただけの変数よりも
ローマ字のほうが分かりやすいことも多々あるからさ。
俺は英語+日本語ってのもよく使うよ。
たとえば、$text_hozon とかねw
0848nobodyさん
2007/03/04(日) 20:52:41ID:???$str = 'To: <[email protected]>
Subject: =?ISO-2022-JP?B?WxskQiUkJXMlVyVsJTklOCVjJVElcxsoQiAbJEIlQCUkJTglJyU5GyhC?=
=?ISO-2022-JP?B?GyRCJUgbKEJdGyRCPzc0KSVpJUMlNyVlISobKEIgGyRCIVgbKEJQRU5UQVggSzEw?=
=?ISO-2022-JP?B?RBskQiE/GyhCSzEwMEQbJEI0MEE0JSwlJCVJIVkkWyQrGyhCVmlzdGEbJEJCUBsoQg==?=
=?ISO-2022-JP?B?GyRCMX4kRyQtJGtCZzt2RTUhIhsoQm1peGkbJEI1IUc9M2hNUSVQGyhC?=
=?ISO-2022-JP?B?GyRCJSQlViVrIUQbKEIgbW9yZSBhbmQgbW9yZRskQiEqGyhC?=
Date: Fri, 2 Mar 2007 12:20:19 +0900';
↓以下のような正規表現だとSubjectの2行目の分までは取得できましたが、3行目(n行目)以降をどうやってマッチさせましょう・・・
preg_match("/^Subject:\s*(.*)\s*(\s*.*)\s*/mi", $str, $res);
$subject = mb_decode_mimeheader(join('', $res));
0849848
2007/03/04(日) 20:54:54ID:???実際にはSubject:の2行目以降の行頭にはそれぞれタブが一つずつ入っています。
改行コードは\nです。
要するに一般的なメールのヘッダです。
0850nobodyさん
2007/03/04(日) 20:58:59ID:???http://jp2.php.net/preg_match
0851nobodyさん
2007/03/04(日) 21:05:21ID:???任意の行の内容を改行で上書きすればいいんでないの
指定行を削除する関数でも作っといた方が後々便利かもね
CかC++ならリスト使ってポインタ繋ぎ変えてセルを消せばいんだけどね
>>832
bのコンストラクタで参照渡しかグローバル変数
0852nobodyさん
2007/03/04(日) 21:05:58ID:???なんだか面倒くせぇことやろうとしてるな。2行目以降は無視しちゃえば?w
>>850
難易度的に、マニュアル見て解決できるレベルじゃないだろww
0854nobodyさん
2007/03/04(日) 21:10:36ID:???メールのヘッダって、subject以外にもTABが入りうる箇所ってたくさんあるから、
「TABでsplit」だけではダメな気が。
まず最初にsubjectに関係するn行だけを取り出せれば、その後TABでsplitもアリだけどね。
0855nobodyさん
2007/03/04(日) 21:19:35ID:???0856nobodyさん
2007/03/04(日) 21:22:23ID:???つまりアレか、subjectの行数がn行ある(何行になるのか決まってない)のが問題…ってことでいいのか??
行数が決まってれば簡単なんだろうけど、ややこしいな。
0857nobodyさん
2007/03/04(日) 22:18:45ID:???0858PHP: Hypertext Preprocessor
2007/03/04(日) 22:21:38ID:???ぐぐくれカス!!
http://www.googkle.com/search?hl=en&q=PHP
0860nobodyさん
2007/03/04(日) 22:53:34ID:???PEARのMail_mimeDecode使った方がいいかと
require_once 'Mail/mimeDecode.php';
$str =
"To: <[email protected]>
Subject: =?ISO-2022-JP?B?WxskQiUkJXMlVyVsJTklOCVjJVElcxsoQiAbJEIlQCUkJTglJyU5GyhC?=
\t=?ISO-2022-JP?B?GyRCJUgbKEJdGyRCPzc0KSVpJUMlNyVlISobKEIgGyRCIVgbKEJQRU5UQVggSzEw?=
\t=?ISO-2022-JP?B?RBskQiE/GyhCSzEwMEQbJEI0MEE0JSwlJCVJIVkkWyQrGyhCVmlzdGEbJEJCUBsoQg==?=
\t=?ISO-2022-JP?B?GyRCMX4kRyQtJGtCZzt2RTUhIhsoQm1peGkbJEI1IUc9M2hNUSVQGyhC?=
\t=?ISO-2022-JP?B?GyRCJSQlViVrIUQbKEIgbW9yZSBhbmQgbW9yZRskQiEqGyhC?=
Date: Fri, 2 Mar 2007 12:20:19 +0900\n\n";
$mime = new Mail_mimeDecode($str, "\n");
$result = $mime->decode();
$subject = $result->headers['subject'];
mb_internal_encoding('ISO-2022-JP');
$decoded = mb_decode_mimeheader($subject);
var_dump(mb_convert_encoding($decoded, 'UTF-8', 'ISO-2022-JP'));
[インプレスジャパン ダイジェスト]新刊ラッシュ! 『PENTAX K10D/K100D完全ガイ ド』
ほかVista対応できる大事典、mixi機能活用バイブル… more and more!
0861nobodyさん
2007/03/04(日) 22:55:11ID:???1."PHP:Hypertext Preprocessor"
2."Personal Home Page Tools"
3."Peaceand Happiness through Prosperity"
好きなの選べ
0862nobodyさん
2007/03/04(日) 23:00:32ID:MKGA7vNq・いたずらや悪意のある入力を防ぐ
・マジッククオートで2バイト文字が変にエスケープされて文字壊れしない渡し方は
<input type="hidden" name="company" value="<? echo urlencode( $company ); ?>">
<? echo htmlspecialchars( $company ENT_QUOTES, なになに); ?></td>
で完成なのでしょうか?
htmlentitiesは、どういうときに使うものなのでしょう…
0863nobodyさん
2007/03/04(日) 23:08:46ID:???valueの中もhtmlspecialcharsだよ。urlencodeは<A>タグリンク中の文字列に使う。
0864nobodyさん
2007/03/04(日) 23:09:17ID:???なんでhiddenのvalueにurlencode?
両方ともhtmlspecialcharsでいい
マジッククォートでおかしな動作してほしくなかったらOFFにすればいい
htmlentitiesは全て実体参照に変換したい時に使う
0865nobodyさん
2007/03/04(日) 23:27:26ID:gHI9abtcSQLの再起動はしました
バージョンはXAMPPで
Apache 2.2.4
MySQL 5.0.33
PHP 5.2.1 & PHP 4.4.5
phpMyAdmin 2.9.2
で PHP5です
0866nobodyさん
2007/03/04(日) 23:47:20ID:MKGA7vNqレスありがとうございます。
valueの中身もhtmlspecialcharsだと
文字コードに変わったまま渡され
メール送信したり、比較一致処理ができなかったりしないでしょうか?
0867nobodyさん
2007/03/04(日) 23:48:11ID:???PEARのMail_mimeDecodeだと、マルチバイト処理にやや不安あり、って噂を聞くけどね。
あと添付ファイルがあるときも面倒になる可能性があるとか無いとか。
0868nobodyさん
2007/03/05(月) 00:00:52ID:???HTMLのエスケープは送信時に自動的にアンエスケープされて元通り。
その上でURLエンコードがブラウザによって自動的になされる。
0869nobodyさん
2007/03/05(月) 00:16:18ID:???メール送信やprintしてみましたが、元に戻っているのですね
.htaccessが禁止されていて
マジッククオートが有効固定で文字がおかしくなる時はどうすればいいでしょう?
今まではがんばってエンコードでして英数字で渡していました。
0871nobodyさん
2007/03/05(月) 01:03:29ID:???get_magic_quotes_gpc()を判別してマジッククォートONのときは
stripslashes_array()等を使ってGET、POSTデータからクォートを除去。
0872nobodyさん
2007/03/05(月) 01:14:41ID:???SJISに文字コード変換したいのですが、どのようにすればいいでしょうか?
0874nobodyさん
2007/03/05(月) 03:28:33ID:???skip-character-set-client-handshakeあたりで検索して
コーヒーでも飲みながらゆっくりと落ち着いて色々試してみれ
それでも解決しないなら何をしてどうなったかの詳細を書いてみるが良いよ。
0875nobodyさん
2007/03/05(月) 07:46:06ID:???ちなみにDBにはどんな文字コードで格納してて
PHPシースはどんな文字コードで書いてて
HTMLはどんな文字コードで出力してて
ブラウザのエンコードはどの文字コードが選択されてるんだ?
0876nobodyさん
2007/03/05(月) 11:03:28ID:???0877nobodyさん
2007/03/05(月) 12:45:40ID:VUeVfNbT国を判別する方法ってあるとおもう?よくアクセス解析で都道府県別統計
を取ってくれる物があるけどあんな感じで国別統計というのもとってみたい
なと思ったわけ。
0878834
2007/03/05(月) 12:51:21ID:???0882nobodyさん
2007/03/05(月) 13:13:06ID:???ttp://www.s-center.net/
ここなんだがブログのシステムはDrupal(ttp://drupal.jp/)
使ってるんだが著作権部分を自分の名前にしちゃってるよ
でもfavicon消し忘れ^^;
ttp://www.s-center.net/misc/favicon.ico
しかもTOPに乗っているテキストエディタ Messiahの添付画像は
Drupalのソース(苦笑
0883nobodyさん
2007/03/05(月) 13:20:25ID:VUeVfNbT>>881
.jpとかだったら日本って分かるんだろうけど.comだったらどこの国かはわからないんじゃない?
0884nobodyさん
2007/03/05(月) 13:27:37ID:???2chやBBSなんかでPC用ページを直リンクされた場合とか考えると、
携帯用の実行ファイルを用意するよりも、
どのPC用ページにアクセスしても、そこから振り分けて携帯用ページが表示させるようにした方がいいのかな。
意見聞かせてください。
0885nobodyさん
2007/03/05(月) 13:33:47ID:aOtmvd4tAページのURLはHTTP_REFERERで取得できますが、
Bページ(現在表示されているページ)のURLを取得する方法はありますか?
0886nobodyさん
2007/03/05(月) 13:38:43ID:???whoisのDBを使うんだよ。
>>884
携帯用と分ける方がソースの可読性は下がるけど効率的ではある。
どうせPCと携帯の違いはhtmlコード部分、クッキー部分くらいだと思うし。
0887nobodyさん
2007/03/05(月) 13:55:59ID:???過去に作ったとか自慢げに書いてあるキーロガーとか諸々の糞アプリはフリーのコード盗用から微妙に拡張って感じだろうな
酷いけどまだガキだから仕方ないか
0888nobodyさん
2007/03/05(月) 15:27:28ID:???やっぱりドメインもスクリプトも分けたほうがいいと思う。
たとえばwww.hoge.com(PC用)とm.hoge.com(携帯用)で、それぞれスクリプト用意ね。
なぜなら、最近は携帯でもフルブラウザとかでPC用ページを見たい人もいるだろうから、
「携帯でPCサイトにアクセス→勝手に携帯サイトに飛ばす」ってのは、
ありがた迷惑に感じる人もいるんじゃないのかな。
フルブラウザを搭載してない携帯ならむしろその方がいいんだろうけど。
0889nobodyさん
2007/03/05(月) 15:41:05ID:???s900.xrea.comのDBに
s901.xrea.comからPHPで接続したいのですが可能でしょうか?
可能な場合、
mysql_connect('localhost', 'mysql_user', 'mysql_password');
このlocalhostの部分はどのような書き方になるでしょうか?
0890nobodyさん
2007/03/05(月) 15:41:08ID:???これはひどいなw
ドメインでmixi内検索したら見事に出てきたよ
ttp://mixi.jp/show_friend.pl?id=1368531
0891nobodyさん
2007/03/05(月) 15:52:40ID:???>>888
意見有難う。
なるほど、フルブラウザってものがあったね。定額になったし普及するのだろうか。
実行ファイルから分ける方向でやってみます。
ちなみに、後者の携帯ページを表示というのは、リダイレクトするのではなく
スクリプト内で携帯とPCの表示方法なんかを振り分けて、同じURLでどちらでも見られると言うのを考えていました。
0893nobodyさん
2007/03/05(月) 16:09:23ID:???XREAではlocalhost以外の接続は出来なかったと思う
つまり接続は不可能
可能な場合は普通にホスト名を書けばいい
mysql_connect('s900.xrea.com', 'mysql_user', 'mysql_password');
0895nobodyさん
2007/03/05(月) 16:32:44ID:???>リダイレクトするのではなくスクリプト内で携帯とPCの表示方法なんかを振り分けて
何にせよ、ユーザーが任意に好きなほう(PCサイトか携帯サイトか)を選べたほうが便利かと。
>>892
今すでに発売されてる機種だけを考えるならそれでもいいけど、
今後の新機種まで考えると、その都度いちいちUA判定の処理を追加・訂正しなきゃならんから、俺はUAは一切見ない。
っていうか現状でも見てない。複雑すぎて面倒くさいから。
あくまでもIPで携帯かどうか判定してる。
0896nobodyさん
2007/03/05(月) 16:38:19ID:???ご丁寧にありがとうございますm(_ _)m
接続できるかはXREAに直接聞いて見ます。
結果はここに書いたほうがいいでしょうか?
0897nobodyさん
2007/03/05(月) 16:39:31ID:???俺も聞いたけど、セキュリティのほにゃほにゃでだめだって。
0898872
2007/03/05(月) 16:43:21ID:???内部的にはEUC-JP、表示だけSJISにしたいのです。(携帯端末のため&内部SJISは危険ぽいので)
そこでEUCのhtmlファイルをSJISに変換して表示させる方法をお教えください。
今考え付くのは、
1.htmlファイルをfile_get_contensで$strにいれてmb_convert
2.eval?(使い方不明…)
0899nobodyさん
2007/03/05(月) 16:43:52ID:???0902nobodyさん
2007/03/05(月) 17:04:43ID:???ありがとうございます。
やっぱりだめですか(>дμ)…
>>899さん
他の方に迷惑になりますもんね…
DB内の広告を共有したいと思ったのですが残念(;Ω;)
0903nobodyさん
2007/03/05(月) 17:18:30ID:???IPの方が面倒じゃない?
公式コンテンツとかならIP追加とかで告知は来るけど、勝手サイトには来ないし、
そもそも情報が非常に遅い。
それに、携帯なら基本仕様があるから、SoftBank みたいに社名でも変わらん限り、
UA は原則変わらんよ。
今は基本6種だったかな?
IPの追加と、UAの基本仕様変更だと、圧倒的にIPの追加の方が多いから、
俺はUAにしてる。
セキュリティとかで考えるなら両方かな。
0904nobodyさん
2007/03/05(月) 17:39:16ID:???>圧倒的にIPの追加の方が多いから
そうかな?? どれくらいの頻度か知ってる??
あと、IPなら公式サイトのIPリストから自動で取ってくるスクリプト書けばいいし・・・
0906nobodyさん
2007/03/05(月) 17:50:52ID:JwWe6FJRという配列のデータがあったとして、出力時に重複値を消して
2000,2001,2002
のみ表示するにはどうしたらいいのでしょうか?
0907nobodyさん
2007/03/05(月) 17:53:45ID:???>>DB内の広告を共有したいと思ったのですが残念(;Ω;)
XMLとかで共有すればいいじゃね。
別にテキストだろうが、CSVだろうが何でもいいとは思うけど。
目的をハッキリ理解してないので的外れかもしれないが。
0908nobodyさん
2007/03/05(月) 17:54:44ID:???マニュアル嫁
http://jp2.php.net/manual/ja/function.array-unique.php
0911nobodyさん
2007/03/05(月) 18:20:13ID:???>XMLとか
XML (μдμ○)…わかなにゃ…
勉強してみますね
googleアドみたいに分類してるのでDBじゃないと難しいなぁって思って(>д<;)
0913nobodyさん
2007/03/05(月) 18:47:22ID:???0916nobodyさん
2007/03/05(月) 19:47:55ID:???消えろカス
0918nobodyさん
2007/03/05(月) 20:00:03ID:???どんな祭になるのか楽しみだなw
0919nobodyさん
2007/03/05(月) 20:09:02ID:???0922nobodyさん
2007/03/05(月) 20:18:42ID:???消えろカス
0923nobodyさん
2007/03/05(月) 20:25:53ID:???消えろカス
0924nobodyさん
2007/03/05(月) 20:40:31ID:???0925nobodyさん
2007/03/05(月) 20:49:34ID:???0926nobodyさん
2007/03/05(月) 20:52:55ID:???0927nobodyさん
2007/03/05(月) 20:55:27ID:???0928nobodyさん
2007/03/05(月) 21:14:08ID:???0929nobodyさん
2007/03/05(月) 21:17:31ID:???ばれなきゃ何をやってもいいって考えの馬鹿は使えない。
仕事上で必ず問題を生む。
0930nobodyさん
2007/03/05(月) 21:39:53ID:???調べる方法はありませんか?
0931nobodyさん
2007/03/05(月) 21:39:56ID:???消えろカス
0932nobodyさん
2007/03/05(月) 21:41:14ID:???って聞いたら「分かります」っていうから
じゃあここの表をポップアップウィンドウででるようにしといて
っていったらそれはやったことありませんとか抜かしやがった
分からないなら分からないでそう言えばいいし
それくらいネット探せばすぐみつかるだろってオモタ。
数学は中学程度で十分だし大卒の奴に限ってこんなんが多いよ(サンプル1人だがな)
0933nobodyさん
2007/03/05(月) 21:46:22ID:???0934nobodyさん
2007/03/05(月) 21:47:23ID:???0937nobodyさん
2007/03/05(月) 22:07:18ID:???0939nobodyさん
2007/03/05(月) 23:57:09ID:peb4Wfoiこちらでも質問させて頂きます。
postfix => php PEARで解析 => 送信者に自動返信を出す
までは出来ているのですが、
postfix => php PEARで解析 => 外部ファイルもしくはMySQLに送信者アドレスを記録 => 送信者に自動返信を出す
としたいのです。
ですが、外部ファイルをオープンもしくはMySQLに接続した時点で止まってしまうようです。
環境は
phpinfo()のコピーですが
OS MacOSX 10.4.8
Apache/1.3.33 (Darwin) PHP/5.1.6
MySQL Client API version 5.0.24a
でターミナルでphp -v を実行すると
PHP4.4.4(Cli)
と出ます。
マルチで申し訳ありません。
ご教授宜しくお願い致します。
0940nobodyさん
2007/03/06(火) 00:10:21ID:???分かっててやるなよボケが
0941nobodyさん
2007/03/06(火) 00:16:00ID:Crrd1LQsこちらの方が人が多いということですので。
申し訳ないです。
0942nobodyさん
2007/03/06(火) 00:16:06ID:???ソースも見せないエスパーな質問じゃ答えがかえってくるわけなかろう。
0943nobodyさん
2007/03/06(火) 00:22:05ID:???>>ですが、外部ファイルをオープンもしくはMySQLに接続した時点で止まってしまうようです。
って時点で何らかのバグのような気がするんだけど・・
0944nobodyさん
2007/03/06(火) 00:54:28ID:Crrd1LQs$source = file_get_contents("php://stdin");
/*ブラウザで確認の時はコメントアウト
if(!$source) {
exit();
}*/
$MySQL['HOST'] = 'localhost';
$MySQL['USER'] = 'user';
$MySQL['PASSWORD'] = 'password';
$MySQL['DATABASE'] = 'database';
$mylink = @mysql_connect($MySQL['HOST'],$MySQL['USER'],$MySQL['PASSWORD']) or exit('ERROR');
$sql = "SET NAMES sjis";
mysql_query($sql);
mysql_select_db ($MySQL['DATABASE']) or exit('ERROR');
$params['include_bodies'] = true;
$params['decode_bodies'] = true;
$params['decode_headers'] = true;
$decoder = new Mail_mimeDecode($source);
$structure = $decoder->decode($params);
$from = mb_convert_encoding(mb_decode_mimeheader($structure->headers['from']), mb_internal_encoding(), "auto");
/*メール送信で確認の時はコメントアウト
$from = '[email protected]';*/
$query = "INSERT INTO testtable VALUES(NULL,'$from')";
mysql_query($query,$mylink);
$to = $from;
$title = "test title";
$body = "test body";
$from = "From: [email protected]";
mb_internal_encoding("SJIS");
mb_language("japanese");
mb_send_mail($to, $title, $body, $from);
0945nobodyさん
2007/03/06(火) 00:57:01ID:Crrd1LQs>>942
ありがとうございます。
上記ソースです。
ブラウザでアクセスするとMySQLにちゃんと書き込まれ、[email protected]にメールもきます。
MySQL部分を消して空メールすると、ちゃんと返信メールは返ってきます。
ですが、MySQL部分を使用するとMySQLにも書き込まれず、メールも返ってきません。
ご教授宜しくお願いします。
0947nobodyさん
2007/03/06(火) 01:12:37ID:Crrd1LQsありがとうございます。
/*ブラウザで確認の時はコメントアウト
if(!$source) {
print "exit!";
exit();
}*/
コメントしたままでブラウザ実行
exit!表示されず。
MySQL書込み○ [email protected]にメール○
コメント外してブラウザ実行
exit!表示されました。
MySQL書込み× [email protected]にメール×
0948nobodyさん
2007/03/06(火) 01:21:14ID:???0949nobodyさん
2007/03/06(火) 01:24:53ID:???なんでブラウザで確認する?
しかも違うバージョンのPHPで。
テスト用のメールメッセージ(test.eml)を用意して、
cat test.eml | php nantoka.php
とかしてエラーメッセージの有無を確認してみたら?
0950nobodyさん
2007/03/06(火) 01:27:42ID:Crrd1LQsブラウザで実行した場合は$sourceが空になると思うのでコメントアウトしてたのですが、
その部分が問題なのでしょうか。
exit部分をコメントアウトしたままメール送信してみましたが、やはり書込みされません。
どこが問題なのでしょうか?
0951nobodyさん
2007/03/06(火) 01:31:03ID:???0952nobodyさん
2007/03/06(火) 01:31:17ID:???いままではexitで終了してて
コメントアウト後は $source が取得できなくて駄目ってわけじゃなくて?
0953nobodyさん
2007/03/06(火) 01:53:51ID:Crrd1LQsありがとうございます。
エラー出ました。
「ERROR」としか出なかったんですが、原因追求の方法とかありますでしょうか?
>>951
ありがとうございます。
>>952
どうも違うようです。すいません。
0956nobodyさん
2007/03/06(火) 02:02:42ID:???0957nobodyさん
2007/03/06(火) 02:10:21ID:Crrd1LQsすいません、ボケてました。
mysql_connect()の部分で接続できていないようです。
can't connect MySQL Server through socket
>>955
@消してみましたが、同じエラーが出ます。
0958nobodyさん
2007/03/06(火) 02:15:08ID:Crrd1LQs0959nobodyさん
2007/03/06(火) 02:19:40ID:???0960nobodyさん
2007/03/06(火) 02:32:44ID:???0961nobodyさん
2007/03/06(火) 03:19:58ID:???ttp://tune.ache-bang.com/~vg/outitem/up/img/14288.jpg
の様にエラーが出てしまいます。
php4ts.dllはsys32フォルダ、iniはWINDOWSフォルダにコピーし、
iniの設定も終えています。
何が原因なのでしょうか?
0962nobodyさん
2007/03/06(火) 04:03:46ID:tnKCXHfh色々ググッてみたんですが、情報が少ないのか検索の仕方が悪いのか見つかりませんでした。
文字コードはsjisで、8141が「、」とかそういうやつです。
もしコードの判別以外でも字種を判別できる方法があれば教えてください。
0963nobodyさん
2007/03/06(火) 05:30:48ID:???その説明だとやりたい事が全然分からない。
漢字か平仮名か知りたいって事?
ここの下のほうの関数群でも見てみたら?
http://www.php.net/manual/ja/ref.mbstring.php
0964nobodyさん
2007/03/06(火) 07:14:47ID:AIqpdY9i実現したい処理は、
$hoge1fuga, $hoge2fuga, $hoge3fuga, $hoge4fuga
に入力されている1or2の値によって、
$hoge1fuga_, $hoge2fuga_, $hoge3fuga_, $hoge4fuga_
にそれぞれ"男"or"女"の文字列をいれるというものです。
for($i=1 ; $i <= 18 ; $i++){
switch($hoge.$i.fuga){
case "1":
$hoge.$i.fuga_ = "男"; break;
case "2":
$hoge.$i.fuga_ = "女"; break;
}
}
エラーは4行目の"="でParse errorがでてしまっています。
0965nobodyさん
2007/03/06(火) 07:22:41ID:???0967nobodyさん
2007/03/06(火) 07:31:16ID:???> $hoge1fuga, $hoge2fuga, $hoge3fuga, $hoge4fuga
> に入力されている1or2の値によって、
> $hoge1fuga_, $hoge2fuga_, $hoge3fuga_, $hoge4fuga_
> にそれぞれ
そういう変数名を組み立てるなら
> $hoge.$i.fuga
→${"hoge".$i."huga"}
> $hoge.$i.fuga_
→${"hoge".$i."huga_"}
って書かなきゃダメだ。
できれば変数名を動的に組み立てるのではなく、配列変数を使った方が便利だぞ。
0969nobodyさん
2007/03/06(火) 07:41:34ID:???0970nobodyさん
2007/03/06(火) 07:57:50ID:FqlqnUfZここに親クラスのコンストラクタは自動で呼ばれない的なこと書いてあるけど
この仕様って変わりました?
parent::__construct();
してないのに動いてるっぽいのですけど・・・
0972nobodyさん
2007/03/06(火) 08:09:16ID:???0974nobodyさん
2007/03/06(火) 08:13:47ID:???>下位互換性を維持するため、PHP 5 が指定されたクラスの __construct() 関数をみつけられない場合には、
>古い形式のコンストラクタ関数、つまり、そのクラスの名前と同じ関数が探されます。
これ上位互換じゃね?
0975nobodyさん
2007/03/06(火) 08:23:20ID:???0976nobodyさん
2007/03/06(火) 08:27:07ID:???0977nobodyさん
2007/03/06(火) 08:28:50ID:???その場合は「上位互換」
0978nobodyさん
2007/03/06(火) 08:35:57ID:???0979970
2007/03/06(火) 08:49:11ID:???子クラスにコンストラクタがないと親クラスのコンストラクタが呼ばれるけど、
子クラスにコンストラクタがあった場合、親クラスのコンストラクタは呼ばれませんよって事ですか?
public function __construct(){
parent::__construct();
}
ってやってるのよく見かけるけど、私と同じ勘違い
もしくは、コード見やすく?するためなのかな?
ちなみにZendFramworkのソース見ててあれって思ったもので
class oya
{
public function __construct(){
echo 'OyaClassConst';
}
}
class ko extends oya
{
}
new ko;
です
0980nobodyさん
2007/03/06(火) 08:52:09ID:???>ちなみにZendFramworkのソース見ててあれって思ったもので
の後に、「自分で試したのは」
ZFにあんなコードはないです・・・w
0981nobodyさん
2007/03/06(火) 09:00:04ID:???C++とかでも普通は基底クラスのコンストラクタは先に呼び出されるだろ
例19.8の動かしたらわかるじゃん
In BaseClass constructor
In BaseClass constructor
In SubClass constructor
0982nobodyさん
2007/03/06(火) 09:13:08ID:???たしかPECLモジュールのバージョンが異なってる時に出たと思う
日付的にPHP4にPHP5用のDLL使ったんじゃね
0983虚弱PHP
2007/03/06(火) 09:22:33ID:???> 注意: 子クラスがコンストラクタを有している場合、親クラスのコンストラクタが
> 暗黙の内にコールされることはありません。
確かに微妙な書き方だけど、
子クラスにコンストラクタがなければ親のコンストラクタが暗黙の内にコールされる。
0984nobodyさん
2007/03/06(火) 09:32:26ID:???0985nobodyさん
2007/03/06(火) 09:39:33ID:qe8jfVyG昔ランダムな文字列をどうとかこのスレでいってたきがするのですが、
読み飛ばしていたので記憶が曖昧で・・・。
0986虚弱PHP
2007/03/06(火) 11:30:49ID:???ベストかどうかはわかんないけど、
PHP5で手軽にやるなら
SHA512+Salt(ワンタイムのランダム文字列)
ってのが強いハッシュになると思う。
ランダム生成したSaltとSHA512でハッシュされた値を
両方とも保存。
0987nobodyさん
2007/03/06(火) 11:42:59ID:???0989962
2007/03/06(火) 12:57:04ID:tnKCXHfh説明下手でしたね^^;
簡単に言えばその通りです。
マニュアル見てみたんですがよくわからなくて。
$strという変数に「あ」という文字が入ってる場合、それを16進数に変換して評価したいんです。
できればソースを書いていただければありがたいです。
0990nobodyさん
2007/03/06(火) 13:09:02ID:NArlJJZA0993nobodyさん
2007/03/06(火) 13:35:06ID:???http://jp.php.net/manual/ja/ref.errorfunc.php#ini.track-errors
0994nobodyさん
2007/03/06(火) 13:36:48ID:VT7d92zR分かった分かった。ID出しといてやるよ。
困ったら自演乙うざいよ。うだうだ言ってねーで新しいのさっさと出せよ。
0997991
2007/03/06(火) 13:51:15ID:VT7d92zRとりあえず988は知ったかぶりということでいいかな。さっきから答える気ないし。
「古い」と言ったんだから新しいのを言わないと古いかどうか分からんだろ。
新しいのを言ってくれさえすれば問題ないよ。
0999nobodyさん
2007/03/06(火) 13:52:19ID:???1000nobodyさん
2007/03/06(火) 13:54:15ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。