【PHP】下らねぇ質問はここに書き込みやがれ 66
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2008/03/16(日) 17:23:27ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 65
http://pc11.2ch.net/test/read.cgi/php/1203854597/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0002nobodyさん
2008/03/16(日) 17:23:57ID:???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プログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
0003nobodyさん
2008/03/16(日) 17:24:08ID:???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.を参照
0004nobodyさん
2008/03/16(日) 17:24:20ID:???21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
0005nobodyさん
2008/03/16(日) 17:24:55ID:???■本家マニュアル 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/
0006nobodyさん
2008/03/16(日) 17:25:21ID:???【PHP】下らねぇ質問はここに書き込みやがれ 65
http://pc11.2ch.net/test/read.cgi/php/1203854597/
【PHP】下らねぇ質問はここに書き込みやがれ 64
http://pc11.2ch.net/test/read.cgi/php/1202536271/
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1201425479/
【PHP】下らねぇ質問はここに書き込みやがれ 62
http://pc11.2ch.net/test/read.cgi/php/1199956159/
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1198002831/
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
【PHP】下らねぇ質問はここに書き込みやがれ 59
http://pc11.2ch.net/test/read.cgi/php/1195204145/
【PHP】下らねぇ質問はここに書き込みやがれ 58
http://pc11.2ch.net/test/read.cgi/php/1194084457/
【PHP】下らねぇ質問はここに書き込みやがれ 57
http://pc11.2ch.net/test/read.cgi/php/1193062236/
【PHP】下らねぇ質問はここに書き込みやがれ 56
http://pc11.2ch.net/test/read.cgi/php/1192092941/
【PHP】下らねぇ質問はここに書き込みやがれ 55
http://pc11.2ch.net/test/read.cgi/php/1191058556/
【PHP】下らねぇ質問はここに書き込みやがれ 54
http://pc11.2ch.net/test/read.cgi/php/1189309377/
0007nobodyさん
2008/03/16(日) 17:31:12ID:???くだすれPHP(超初心者用)3
http://pc11.2ch.net/test/read.cgi/php/1193295871/
PHP関連の書籍 第5版
http://pc11.2ch.net/test/read.cgi/php/1203696253/
【PHP】フレームワーク CakePHP 3ホール目【本命】
http://pc11.2ch.net/test/read.cgi/php/1205475360/
【PHP】 Smarty 隔離スレ 【テンプレート】
http://pc11.2ch.net/test/read.cgi/php/1201879269/
PHP総合雑談スレ
http://pc11.2ch.net/test/read.cgi/php/1200314111/
【PHP】フレームワークについて語るスレ10【総合】
http://pc11.2ch.net/test/read.cgi/php/1202521438/
【PHP】Ethna part.2【国産フレームワーク】
http://pc11.2ch.net/test/read.cgi/php/1186096518/
ZendFramework Part2
http://pc11.2ch.net/test/read.cgi/php/1204726884/
フランチョスとsymfony
http://pc11.2ch.net/test/read.cgi/php/1201177567/
最強のPHPエディタはなに?
http://pc11.2ch.net/test/read.cgi/php/1133785416/
0008nobodyさん
2008/03/16(日) 17:49:38ID:???http://pc11.2ch.net/test/read.cgi/php/1188789351/
【PHP】フレームワーク Akelos
http://pc11.2ch.net/test/read.cgi/php/1187333485/
正規表現道場
http://pc11.2ch.net/test/read.cgi/php/1168450843/
正規表現 part4
http://pc11.2ch.net/test/read.cgi/tech/1186030400/
MySQL 総合 Part13
http://pc11.2ch.net/test/read.cgi/db/1201632550/
Oracle 総合 Session6
http://pc11.2ch.net/test/read.cgi/db/1162215948/
SQLite 6
http://pc11.2ch.net/test/read.cgi/db/1193118037/
Microsoft SQL Server 総合スレ 5
http://pc11.2ch.net/test/read.cgi/db/1175091880/
PostgreSQL Part.5
http://pc11.2ch.net/test/read.cgi/db/1196512717/
データベース
http://pc11.2ch.net/db/
0009nobodyさん
2008/03/16(日) 21:29:23ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 65
http://pc11.2ch.net/test/read.cgi/php/1203854597/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0010nobodyさん
2008/03/17(月) 00:31:39ID:???∠ `^`^~^`ヽ、 \
,∠ -‐……‐- 、 \ \
/ .::.::.::.::.:..;.:.:.:..:.:..`ト、 \ \
/ . .::/.:/::.::.:/.::.::.:://.:l.:|:ヽ i \
/ . ::./::/:.:::.:/.::.:::,.イ/.:::l.:|.::..ヽ i \
i.:i.:.:l.l.::l「.`メ.:.:///∠ l.:|.::i.::.ヽ i , ィ´
|::|.::|:l:::lレく:/ // /⌒i.:ト、l.::.:::.〉 i / /
|::|.::|:l:::l1 トミ ,ィr==ト、l:.::.:/ レ'´ .:/
lハ:::ト、::l」_リ i l.:.:.:. リ l/:/ ,f.: .: .:.:i 下らねぇ質問は
l/ ヽ' ' ' ' ┴ー'// ,f: : : : :.:| ここに書き込みやがれ
rソ ハ、 「`7 ' '∠ イ ,f: : : : : : :| チビ人間
rソ ノ.:i:.:.> ‐一 ´_⊥:{ {.: : : : : : .:|
rソ ノr'77´ 二`ニ´  ̄`{ { : : : : : : |
rソ ノr'77 /^フ介ト、 { { : : : : : :.|
,f ノ.:r'77\ //j,。l l〉〉 ,r.{ ト、 : : i : |
0011nobodyさん
2008/03/17(月) 04:09:43ID:???かえた方がいいところがあれば教えて下さい
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding =UTF-8
mbstring.http_input = auto
mbstring.http_output =UTF-8
mbstring.encoding_translation = Off
mbstring.substitute_character = none
mbstring.func_overload = 0
mbstring.strict_encoding = Off
0012nobodyさん
2008/03/17(月) 05:17:29ID:???0013nobodyさん
2008/03/17(月) 05:52:26ID:l3H5wOjF<a href〜>でリンクさせた文字列に変換して返す関数があるのですが、
XSS対策にエスケープするのは、関数内でやるか、echoしたときにやるか、
どちら側でやったほうがいいのでしょうか?
function hoge($str) {
return "<a href=\"$str\">$str</a>\n";
}
echo hoge($_POST['hoge']);
上記がXSSなので、
function hoge($str) {
$escape = htmlspecialchars($str);
return "<a href=\"$escape\">$escape</a>\n";
}
と関数内でエスケープ済みのを返すか、
echo htmlspecialchars(hoge($_POST['hoge']);
とechoの時点でエスケープするか。
どっちがいいのでしょう?よろしくお願いします。
001413
2008/03/17(月) 05:55:25ID:???関数内で処理してそれを普通にechoするしかなさそうですね。
自己解決しました。どうもスレ汚しすみません・・・
0015nobodyさん
2008/03/17(月) 06:03:38ID:???[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding =UTF-8
mbstring.http_input = pass
mbstring.http_output =pass
mbstring.encoding_translation = Off
mbstring.substitute_character = long
mbstring.func_overload = 0
mbstring.strict_encoding = On
0016nobodyさん
2008/03/17(月) 07:26:35ID:???ありがとうございました
mbstring.strict_encodingとは何ですか?
ググってもそれが何かがはっきり書いているページが見つかりません
0017nobodyさん
2008/03/17(月) 07:46:48ID:Qd55gHoh本を買うお金もないのでネットで勉強しようかと思います。
俺はここを参考にしてた!とかお勧めのPHP講座サイトはあるでしょうか。
当方プログラミングの経験は無く、0からはじめることになりまず
0018nobodyさん
2008/03/17(月) 07:47:01ID:???; enable strict encoding detection.
;mbstring.strict_encoding = Off
一方、phpinfoは以下のようになっています
mbstring.script_encoding no value no value
mbstring.strict_detection Off Off
なんか、php.ini-recommendedの記述って
script_encodingとstrict_detectionがごっちゃになってないですか?
つまり、mbstring.strict_encodingという属性は、実際にはないのでは
ないでしょうか?
0019nobodyさん
2008/03/17(月) 08:10:14ID:???php.ini-recommendedの中だけに記述されてある
幻の属性のようですね
ジャップにしか関係ないことなので手抜きされているのでしょうか。
mbstring.internal_encodingとmbstring.script_encodingって
どういう違いがあるのでしょうか?
0021nobodyさん
2008/03/17(月) 13:27:38ID:???その手の質問きたら俺は毎回ここをオススメしてる
宣伝と思われそうだがw
http://www.phppro.jp/school/phpschool/
初心者には普通にオススメ
あと何か作ってみたいものを見つけるのが良いんじゃないかな?
0022nobodyさん
2008/03/17(月) 13:46:19ID:Qd55gHohすいません。
テンプレのものは少し敷居が高かったみたいでした。
>>21
ありがとうございます!
参考にします!
0023nobodyさん
2008/03/17(月) 15:05:48ID:???002422
2008/03/17(月) 16:28:07ID:Qd55gHohhttp://www.phppro.jp/school/phpschool/vol1/4
でhttp://localhost/hello.phpにブラウザで見てみると
Object not found! と表示されてしまいます。
htdocsに入れたので間違いないと思います。
ちなみにXAMPPコントロールパネルは
Apacheがチェックなしで起動になっている状態
MySqlがチェックありで起動になっている状態です。
どういった原因が考えられるでしょうか
002622
2008/03/17(月) 16:43:35ID:Qd55gHohありがとうございました。
ご指摘の通りでした。
こんな単純なミスをして申し訳ないです。
0027nobodyさん
2008/03/17(月) 20:09:06ID:???くだすれPHP(超初心者用)3
http://pc11.2ch.net/test/read.cgi/php/1193295871/
こっちのスレのがオススメ
同じぐらいの人がちらほら居る
0028nobodyさん
2008/03/17(月) 23:57:52ID:d6AL+8ckforeach($data as $record) {
$last_record = array_diff($record,array());
print_r($record, true);
print_r($last_record, true);
}
上記、1つめのprint_rには配列が表示されますが、
2つめの出力は空の配列になってしまいます。
通常の代入で上手くいかなかったため
array_diff をかましてみましたがそれでも現象は変わりません。
配列と参照渡しに関する挙動を疑って調べてみましたが、
関係ありそうな文献は見つかりませんでした。
原因が分かるようでしたら助言お願いいたします。
0029nobodyさん
2008/03/18(火) 00:22:25ID:???これはどこにアップすればいいのでしょうか?
public_html 外のディレクトリにアップしたらいいのでしょうか?
セキュリティが心配です><
0030nobodyさん
2008/03/18(火) 00:27:46ID:???003129
2008/03/18(火) 00:48:08ID:XUFQaeko0032nobodyさん
2008/03/18(火) 01:09:45ID:???0033nobodyさん
2008/03/18(火) 01:10:52ID:???print_rは配列ポインタが終端まで行くのでresetしましょう
つーかdebugで表示させるならprint_rじゃなくvar_dump使え
あと通常の代入で上手くいかなかったって
どう上手くいかないの?
本来やりたい事は$last_recordに何か追加でを代入したいって事だよね?
0034nobodyさん
2008/03/18(火) 01:13:47ID:???/public_html/
index.php
/lib/
db.inc.php
こんな感じで
index.phpからdb.inc.php呼ぶとかで良いんでない?
本当ならlibと同階層アプリケーションディレクトリ作って
そこにあるindex.phpのシンボルをpublic_htmlに貼るのが良いけど
0035nobodyさん
2008/03/18(火) 01:18:56ID:???前々からphpとperlとcでどれだけのパフォーマンスが違うのか、
よく分からなかったので、メジャーな処理20パターンで試してみた。
が、絶句した。なんで、ファイル処理がこんな実装になっているのかと・・・
前スレのこの乞食は反省しろ
0036nobodyさん
2008/03/18(火) 01:43:20ID:???phpはcで作られてるんだからcより遅くて当たり前
0037nobodyさん
2008/03/18(火) 02:07:53ID:???0038nobodyさん
2008/03/18(火) 02:08:01ID:Hp4TM78s「データを削除→登録→削除→登録」してるとSQLiteのrowidがぐちゃぐちゃになるので整理
したいのですがいい方法はありませんでしょうか?
もしくは上から〜行から〜行までというように指定する方法はありませんでしょうか?
なにとぞよろしくお願いします
0039nobodyさん
2008/03/18(火) 02:10:29ID:???0040nobodyさん
2008/03/18(火) 02:18:07ID:???レスありがとうございます。
>print_rは配列ポインタが終端まで行くのでresetしましょう
>つーかdebugで表示させるならprint_rじゃなくvar_dump使え
了解です。実際はlogファイルに吐いてます。
>あと通常の代入で上手くいかなかったって
>どう上手くいかないの?
現状と同様に [ array() ] だけの出力になってしまいます。
>本来やりたい事は$last_recordに何か追加でを代入したいって事だよね?
やりたいことは、配列 $record の値を $last_record に保持しておき、
ループの次周でその値の中のいくつかを使用することです。
004229
2008/03/18(火) 02:38:54ID:XUFQaekoなるほど
ありがとうございます
0043nobodyさん
2008/03/18(火) 03:16:50ID:???最後のを使いたいだけであれば
array_sliceかarray_pop(こっちは元の配列から削除する)を使えば良い
$last = array_slice($data,-1);
var_export($last,true);
$last = array_pop($data);
var_export($last,true);
var_exportはprint_rと使い方は一緒、ただ配列ポインタのresetを勝手にしてくれる
んで、>>28のコードは実際使ってるコードじゃないよね?
間に何らかの処理が入ったコードだと思うんだけど
そこらへんでなんか$recordとか弄ってないの?
0044nobodyさん
2008/03/18(火) 03:23:43ID:???やりたいのはこういう事だよね?
$data = array(
array(1,22,345345),
array(2,222,34532245),
array(3,223,34534125),
array(4,225,34532345),
array(5,226,31245345),
);
$lastRec = array();
foreach ($data as $rec) {
if (empty($lastRec)) {
$lastRec = $rec;
continue;
}
echo "前のキー:".$lastRec[0]."<br>\n";
$lastRec = $rec;
}
まぁやっぱり実際書いてる部分のコードを見ないと何ともいえないな
28の
$last_record = array_diff($record,array());
この部分の$last_recordと=の間が全角なのはおいといて・・・
0045nobodyさん
2008/03/18(火) 03:35:37ID:???自分で最小コード書いて検証しろ
で駄目だったら人に聞け
で、駄目だった最小コードをここに張れ
004628
2008/03/18(火) 04:41:34ID:???>$last_record = array_diff($record,array());
>この部分の$last_recordと=の間が全角なのはおいといて・・・
!!!
お恥ずかしい限りです。
まさにそこが代入できない原因でした。
こんなくだらないことに時間をとらせてしまいすいませんでした。
そして大いに助かりました。どうもありがとうございます。
0047nobodyさん
2008/03/18(火) 08:23:48ID:jD2oSeYGZendStudioでは出来たのですが、
PDTでは「PHP実行可能ファイル」という部分で、
ローカルのファイルしか指定できないようなので、
出来るのかどうかわかりません(><)
004822
2008/03/18(火) 09:52:16ID:npoe+Lzf誘導ありあがとうございます
これからそちらを利用させていただきます
0049nobodyさん
2008/03/18(火) 11:52:57ID:oLNpLuBrsqlite使おうとしているんだができない。
sqlを作成するプログラムを作ると
Fatal error: Call to undefined function sqlite_open()
というエラーがでる。
やったことは
php.iniに
extension=php_sqlite.dll
extension=php_pdo_sqlite.dll
extension=php_pdo.dll
という行を追加
dllファイルまでのパスも
extension_dir = "c:/php/ext"と指定し
それらのdllは全てフォルダの中に入っているのに
なぜか動作しない
もうググりまくって色々調べたけどわからない。誰かsqliteに詳しい人教えてください
0050nobodyさん
2008/03/18(火) 11:57:55ID:???Call to undefined function sqlite_open()
でググってみ
ググったほうが早いケースはググったほうがいいぞ
0051nobodyさん
2008/03/18(火) 11:58:41ID:???多分ロードの順序性
php_pdo.dll が php_sqlite.dll より前に必要だった気がする。
php_pdo_sqlite.dll は使ってないから知らない。
0052nobodyさん
2008/03/18(火) 12:03:14ID:???ロード出来てるかどうかは、phpinfoで見たほうが確実かと。
0053nobodyさん
2008/03/18(火) 12:18:50ID:oLNpLuBrありがとうございます。
php.iniの順序を変えたんですが、不可能でした。
なーんでできねえかなあ
0054nobodyさん
2008/03/18(火) 12:37:17ID:???0055nobodyさん
2008/03/18(火) 12:38:54ID:???phpinfo で Configuration File (php.ini) Path を確認。
http://jp.php.net/manual/ja/function.phpinfo.php
0056nobodyさん
2008/03/18(火) 13:56:46ID:???0057nobodyさん
2008/03/18(火) 14:41:35ID:nN03NNVP枠で囲むことってできるでしょうか?
セルを枠で囲むことは border でできますが、
<tr> に border を付けてもうまくいかなかった。。。
0058nobodyさん
2008/03/18(火) 15:10:26ID:???0060nobodyさん
2008/03/18(火) 15:38:13ID:???Web製作板で聞くといいよ。
0061nobodyさん
2008/03/18(火) 15:42:53ID:???喧嘩売ってんの?それとも馬鹿?
どっか逝けよ
0062nobodyさん
2008/03/18(火) 19:17:04ID:czwwJPYuphpを仕事にしたいのですが、
28歳からでも業界に入ることは可能ですか?
ちなみに、英検と簿記検定で1級は持っています。
例えば、海外のシステムをphpで作るとか、
会計系のシステムをphpで作るなどのお仕事の需要はありますか?
有識者の方教えて下さい。
0066nobodyさん
2008/03/18(火) 20:37:01ID:???実際にはTOEFLとらないとだめだけど余裕で海外の4年生大学へ留学できるぐらいのレベルなはず
0067nobodyさん
2008/03/18(火) 21:52:44ID:???IT業界は頭脳土方、頭よりも体力勝負
プログラムのプの字もわからない上司や経営者からは、品質よりもコストダウンだけを強いられる
ろくにテストもできずにバグが出たら開発部が上司や営業部からフルボッコ
成果報酬、実力主義、みなし労働で残業代ゼロの素敵な世界
0068nobodyさん
2008/03/18(火) 22:12:19ID:uQDfWjhjマニュアルに書いていたのですが下記の記述も複数呼び出しになりますか?
ちなみにバージョン5.22では動作しましたが今使いたい5.25で動作しません。
if($imgsize[2] == 1){
$image = imagecreatefromgif("${save_dir}$savefile");
$newimage = imagecreatetruecolor($newwidth, $newheight);
imagecopyresized($newimage,$image, 0, 0, 0, 0, $newwidth, $newheight,$imgwidth,$imgheight);
header("Content-type: image/gif");
imagegif($newimage,null,100);
} else if ($imgsize[2] == 2) {
$image = imagecreatefromjpeg("${save_dir}$savefile");
$newimage = imagecreatetruecolor($newwidth, $newheight);
imagecopyresized($newimage,$image, 0, 0, 0, 0, $newwidth, $newheight,$imgwidth,$imgheight);
header("Content-type: image/jpeg");
imagejpeg($newimage,null,100);
} else if ($imgsize[2] == 3){
$image = imagecreatefrompng("${save_dir}$savefile");
$newimage = imagecreatetruecolor($newwidth, $newheight);
imagecopyresized($newimage,$image, 0, 0, 0, 0, $newwidth, $newheight,$imgwidth,$imgheight);
imagepng($newimage,null,100);
}
0070nobodyさん
2008/03/18(火) 22:27:20ID:A85b11Lfローカルサーバ上では出来ているのですが、
なぜかレンタルサーバ(CORESERVER)上では出来ません。
renameが利かない原因ってあるのでしょうか?
007168
2008/03/18(火) 22:31:32ID:uQDfWjhj何のエラーも出ません…
ただ、わかるのは動作するサーバーとしないサーバーがある
くらいなのです…
0074nobodyさん
2008/03/18(火) 22:47:42ID:???実行してみるとDB Error: syntax errorと表示され困ってます。。
どこも悪くないと思うんですが・・・ よろしくお願いします。
<?php
require_once("DB.php");
略
$dsn = "$dbType://$dbUser:$dbPass@$dbHost/$dbName";
$conn = DB::connect($dsn);
if(DB::isError($conn)){
die($conn->getMessage());
}
$last_name =addslashes($_POST['last_name']);
$first_name =addslashes($_POST['first_name']);
$age =addslashes($_POST['age']);
略
if(preg_match("/windows/",$_ENV["OS"])){
$sql=mb_convert_encoding($sql,"SJIS","EUC-JP");
}
$result = $conn->query($sql);
if(DB::isError($result)) {
die($result->getMessage());
}
略
007670
2008/03/18(火) 22:51:44ID:A85b11Lf777にしているのですが、全く変わりません。
調べてみると、利用しているCORESERVERはセーフモードが有効だから
それでrenameに制限がかかっているみたいです。
対処法も全く分からないし、こんなことなら借りるんじゃなかった・・・
0077nobodyさん
2008/03/18(火) 22:54:51ID:???$first_name =addslashes($_POST['first_name']);
$age =addslashes($_POST['age']);
から
$sql = <<<EOS
INSERT INTO member
(
last_name,
first_name,
age
)
VALUES
(
'$last_name',
'$first_name',
$age
)
EOS;
です。
0078nobodyさん
2008/03/18(火) 22:56:00ID:???ああ、そうだった、そう言えば。ごめん。
でも共有でsafemodeじゃ無いところって殆ど無いし、あってもヤバそうなとこばっかじゃない?
0079nobodyさん
2008/03/18(火) 23:11:35ID:???ヒアドキュメントは使わないから分からんが、'が怪しくないか?
\入れないとダメな気が・・。
途中でechoしたらどうなる?
008068
2008/03/18(火) 23:11:39ID:uQDfWjhjWarningも出ません。
GDの問題も考えられますか?
GDはインストールされてますが基本的にサムネを作るなどの別箇所は
問題なく稼動しております。
0082nobodyさん
2008/03/18(火) 23:22:17ID:???それ、gifもjpegもpngも、いずれの場合もダメなの?
pngでheader吐いてないのも気になるんだけど・・。
008368
2008/03/18(火) 23:45:40ID:uQDfWjhjありがとうございますGDのバージョンはこうです。
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.3.5
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XPM Support enabled
XBM Support enabled
JIS-mapped Japanese Font Support enabled
後、jpgでテストは行っております。
0084nobodyさん
2008/03/19(水) 00:19:58ID:???ファイルに出せるかどうか。
008568
2008/03/19(水) 00:42:40ID:2SyStzeCとりあえずheader以外の出力方法を探して書いて見ますが
知ってたら教えて下さい。
一応自分でも探してみてます。
008768
2008/03/19(水) 00:58:59ID:2SyStzeCあ、それならやり方わかります。
今からやってみます。
008868
2008/03/19(水) 01:23:58ID:2SyStzeC0089nobodyさん
2008/03/19(水) 02:10:58ID:aPCtWHEb調べるにはどうしたらいいですか?
0090nobodyさん
2008/03/19(水) 02:13:45ID:???0091nobodyさん
2008/03/19(水) 02:22:01ID:???009274
2008/03/19(水) 02:37:23ID:hGKuSH/Dちょこちょこ弄ってみましたがよけい酷くなって(笑)
難しい。。
0094nobodyさん
2008/03/19(水) 05:45:59ID:???このスレの中にも、実装系で飯食っている奴がいるんだよな。
こんなのばっかりだから、あっちこっちでシステムトラブルが発生するだよ。
0095nobodyさん
2008/03/19(水) 10:01:56ID:???0096nobodyさん
2008/03/19(水) 10:10:31ID:???派遣会社(ヤクザ)が経歴にゲタを履かせるのが常習化してるから。
3重派遣なんかになると、3回下駄がついて、初心者が中級者ぐらいの経歴になってしまう。
とうぜん、求められたものなんてこなせない。
解決したいなら、派遣なんて使うな。
0097nobodyさん
2008/03/19(水) 10:35:46ID:Git3E2u1CRYPT_MD5を有効(=1)にするにはどうしたらいいの?
再コンパイルすればいいのか?と思ったが、configureのオプションにそれらしきものは見当たらない・・
ちなみにPHP4.4.8 on Linuxです
0098nobodyさん
2008/03/19(水) 11:54:02ID:???ただの勘だけど、configureに LDFLAGS='-lcrypt' を渡したらよろしくやってくれるかも。
0099nobodyさん
2008/03/19(水) 12:10:02ID:Git3E2u1ありがとう.その後格闘の結果、なんとかなりました.
PHPを使わず、crypt()システムコールを直接呼ぶCのプログラム作ってみたらちゃんとMD5暗号化できたたので
そのプログラムをexec()でPHPから呼ぶことにします.
せっかく-lcryptを追加してみたら?とヒントをくれたので報告しておくと
Makefileの中ですでに定義されていました.
でもなぜCRYPT_MD5が有効になっていなかったのかは不明・・
0100nobodyさん
2008/03/19(水) 12:38:05ID:0Yuq8Q66あるhtml文字列が正しいhtmlかどうかをチェックしてくれる
スクリプトやモジュールはありませんか?
例えば
<div class="hoge">
ほげほげ
だったら<div>が閉じられていないのでおかしいという事を
返してくれるような機能が欲しいのですが。
知っている方いましたら教えてください。お願いします。
0101nobodyさん
2008/03/19(水) 12:38:37ID:???___
/ノ^, ^ヽ\
/ (○) (○) ヽ
/ ⌒(__人__)⌒::: l
⊂ ̄ヽ_| |
<_ノ_ \ /
ヽ ⌒,
/____,、ノ /
/ (__/
( ( (
ヽ__,\_,ヽ
(_/(_/
0102nobodyさん
2008/03/19(水) 12:46:39ID:???モジュールのconfig.m4を実行する順番の問題じゃない?
Makefileに書いてあってもext/standard/config.m4(多分)を実行する時点で
LDFLAGSに'-lcrypt'がないと意味ないよ。まぁ勘なんだけど。
あと、crypt()はシステムコールじゃないよね?。man 2 cryptしちゃったよ。
>>100
Tidyは?
0103nobodyさん
2008/03/19(水) 13:41:51ID:???この場合preg_match_allの第二引数には何をいれればいいんでしょうか・・・
0105nobodyさん
2008/03/19(水) 14:00:47ID:???すいませんorz
PEARを初めて使ったのですが、ほとんど理解できないままやっているもので・・・
HTTP_Requestで取得した文字列を第二引数に入れたいのですが、それをどうやるのかがわかりません。PEARで定義された変数でもあるんでしょうか?
0106php学習中 ◆CyaS/rIHbo
2008/03/19(水) 14:05:06ID:???PHPからMySQLにアクセスする際にID,パスワード,ユーザーネームが漏れてしまいます。
他のファイルから読み込むとしても、サーバー側の管理者に見られたりするように思えるのですが、
一般的にパスワードの管理はどうやってやるのでしょうか?
0107nobodyさん
2008/03/19(水) 14:06:37ID:???http_requestでぐぐればすぐでてきたよ・・・
pearで良く使われたりす物の使い方等は検索した方が早い
0109nobodyさん
2008/03/19(水) 14:09:44ID:???何のid,pass,ユーザ名?
何かサービス等を作ろうとしてて
DBに保存してるIDとかパスが見られるっていうなら
DBにハッシュを登録しておけばいい
ただそのハッシュ化の方法が解れば
サーバ管理者が勝手に登録しようと思えばできる
0110php学習中 ◆CyaS/rIHbo
2008/03/19(水) 14:17:07ID:???MySQLのid,pass,ユーザ名です。
MYSQLに接続する際や、SQLクエリを実行する際に使うのですが、参考書ではソースに直接書いていたものでして。
0112nobodyさん
2008/03/19(水) 14:27:34ID:???そんなの気にスンナ
それが嫌なら自鯖立てるか
VPSとか専用鯖借りて
自分でmysqlサーバ立てて
rootのパス設定すればいい
0113nobodyさん
2008/03/19(水) 14:29:19ID:???>参考書ではソースに直接書いていたものでして
それが普通と思うんだ
>サーバー側の管理者に見られたりするように思えるのですが、
鯖缶とはそういうもんだ
>>112
禿同
0114php学習中 ◆CyaS/rIHbo
2008/03/19(水) 14:33:00ID:???ソース剥き出しで普通なのでしょうか・・・
レン鯖なんですけど、怖いですね
とりあえず初心者なんで参考書通りやってみます。
0115nobodyさん
2008/03/19(水) 14:33:48ID:???0116nobodyさん
2008/03/19(水) 14:50:07ID:???最近は知識だけ豊富でそれを活かしてない奴が多いんだな
鯖管ならユーザー毎のID,PASSは知らなくてもDBやディレクトリ内を自由に触る事は出来る
そうじゃなかったらDB等に不具合が出たら対応が出来ないからな
そこは鯖管のモラルだ
信頼出来ないなら自分ですべてを構築すればいい
あとPHP自体はサーバー側で実行されてそれを返すからクライアント側にはどんなコードが実行されているのかは判らないぞ
まぁ、馬鹿やってHTML内にコードがそのまま残っているとかの馬鹿をしてしまえば意味は無いがな
んな変な部分に気を回すよりもっと大事な部分があると思うんだがなぁ
0117nobodyさん
2008/03/19(水) 15:03:40ID:???そうですか・・・失礼しました。検索はしているのですが理解できなくて。
自分の理解力の無さのせいですね。
もう一度きちんと調べてみます。ありがとうございました。
0118nobodyさん
2008/03/19(水) 15:04:31ID:???これ一発で鯖管なんて涙目だぜ
0119nobodyさん
2008/03/19(水) 15:25:32ID:???どんなショボい社内サーバだろうが、UPSくらいあんだろ。
0120nobodyさん
2008/03/19(水) 15:51:56ID:???sakuraの専用鯖は、1万円/月から利用できるし、それくらいの費用も稼げないのか・・・
0121nobodyさん
2008/03/19(水) 18:57:00ID:???ネット商売なんて運営してみないとわからないことばかりだからね。
0122nobodyさん
2008/03/19(水) 19:25:28ID:Q3E6mXW11、$x = $_SERVER["x"];
2、$x = $_ENV["x"];
3、$x = getenv("x");
のどれを使うのが適切なのでしょうか?
0123nobodyさん
2008/03/19(水) 19:27:44ID:???0124nobodyさん
2008/03/19(水) 19:37:56ID:???リモホ gethostbyaddr($_SERVER['REMOTE_ADDR']
ua $_SERVER['HTTP_USER_AGENT']
0125nobodyさん
2008/03/19(水) 19:47:27ID:???>リモホ gethostbyaddr($_SERVER['REMOTE_ADDR']
>リモホ gethostbyaddr($_SERVER['REMOTE_ADDR']
>リモホ gethostbyaddr($_SERVER['REMOTE_ADDR']
>リモホ gethostbyaddr($_SERVER['REMOTE_ADDR']
>リモホ gethostbyaddr($_SERVER['REMOTE_ADDR']
>リモホ gethostbyaddr($_SERVER['REMOTE_ADDR']
>リモホ gethostbyaddr($_SERVER['REMOTE_ADDR']
>リモホ gethostbyaddr($_SERVER['REMOTE_ADDR']
>リモホ gethostbyaddr($_SERVER['REMOTE_ADDR']
>リモホ gethostbyaddr($_SERVER['REMOTE_ADDR']
0129nobodyさん
2008/03/19(水) 19:57:39ID:???0131122
2008/03/19(水) 20:23:13ID:???レスありがとうございます。
サーバーによって取得できたりできなかったりする(?)ので、
if(!isset($_SERVER["HTTP_ADDR"])){$ip = getenv("REMOTE_ADDR");}
else{$ip = $_SERVER["HTTP_ADDR"];}
の様に合わせて使うという解釈で良いのでしょうか?
>>124
レスありがとうございます。説明不足ですみません。
リモートホストは、IPアドレスとリモートホストを>>122の方法で一旦取得してから
if($host == null || $host == $ip){$host = gethostbyaddr($ip);}
という様にしています。
0132nobodyさん
2008/03/19(水) 21:04:49ID:???http://up2.viploader.net/pic/src/viploader603856.jpg
0133nobodyさん
2008/03/19(水) 21:59:06ID:???ERROR: `phpize' failed
になります。
どうしたらphpizeが成功しますか?
0134nobodyさん
2008/03/19(水) 22:33:57ID:???1クロスサイトスクリプティング
2SQLインジェクション
これらの対策をすれば怖いもんなしですか?
0136nobodyさん
2008/03/19(水) 22:37:57ID:hGKuSH/D上手いお答えありがとうです。
まだまだ知識不足なのでもっと勉強しますね。
0137nobodyさん
2008/03/20(木) 01:34:09ID:FxALsn1Dmkdirを使って作成したフォルダの所有権がwww-dataであるため、
そのフォルダの中にFTPでアップロードできません。
chownをphpで実行し所有権を一般ユーザーに変更しようとするのですが
実行権限がないらしく変更できません。
www-dataから一般ユーザーに所有権を変更する方法を教えてください。
偉い人
0139nobodyさん
2008/03/20(木) 02:06:12ID:zGG3/JO8Linux red3 2.4.20-8 redhat 8 php 4.2.2
$NENDO_MLIST = array("19","18","17","16","15");
foreach($NENDO_MLIST as $key => $value ){
$nsts[$key] = NEN_CHK($value);
}
↑のループで格納される $nstsですが、NEN_CHK関数の戻りは配列で戻ります。
そうなると、$nstsも配列なので配列の中に配列がはいると思ったのですが、うまくいきません。
$nsts[$key] = NEN_CHK($value); 配列の中に配列をいれる命令は左記ではだめでしょうか?
0140nobodyさん
2008/03/20(木) 02:31:56ID:???return array($value);
}
$NENDO_MLIST = array("19","18","17","16","15");
foreach($NENDO_MLIST as $key => $value){
$nsts[$key] = NEN_CHK($value);
}
print_r($nsts);
入ってるみたいだけど?
0141nobodyさん
2008/03/20(木) 08:35:28ID:F5SoFDz/一日あたりのアップ制限とWEBスペースの使用容量制限が出来るアップローダ知らない?
0142nobodyさん
2008/03/20(木) 09:12:07ID:???0144nobodyさん
2008/03/20(木) 09:18:13ID:KMpVbNinchownはルート権限がないと実行できないので、レンタルサーバーだとまず無理。
フォルダのパーミッションを777にするとか、中のファイルのパーミッションを666にするとかで対処せよ。
0147139
2008/03/20(木) 11:23:30ID:zGG3/JO8うまくいってました。
結果の表示の仕方が悪かっただけでした
サンクス子
0149nobodyさん
2008/03/20(木) 16:47:35ID:MUwPIg+Fの質問って他にどこかに書いてあるの??
0150nobodyさん
2008/03/20(木) 17:11:31ID:???前スレ。
で、php.ini に MAX_UPLOAD_SIZE_PER_DAY 的な設定をできるお方が活躍なさった。
【PHP】下らねぇ質問はここに書き込みやがれ 65
http://pc11.2ch.net/test/read.cgi/php/1203854597/974
> 974 名前:nobodyさん[sage] 投稿日:2008/03/16(日) 16:51:54 ID:???
> CGI・PHPは問わないので一日に
> UP可能な容量が設定できるアップローダ探しています。
>
> 何方かご存知ありませんか?
0151nobodyさん
2008/03/21(金) 01:20:25ID:qnaE/6xKあとプロパティの役目を担うのがメンバ変数ってことでいいの?
0152nobodyさん
2008/03/21(金) 01:40:18ID:???0153nobodyさん
2008/03/21(金) 01:57:37ID:qnaE/6xK0155nobodyさん
2008/03/21(金) 02:57:42ID:Qvdb31U5webサイトから簡単にJSONやXMLの取得式を出してくれる
ジェネレーターを紹介してるブログがあったような気がするんですが。
その記事をブクマするの忘れてて困っています。
誰かしりませんか?
0157nobodyさん
2008/03/21(金) 03:13:43ID:Qvdb31U5あ、完全にスレ間違えた。
WebProg全体の下らねぇ質問スレかと思ってしまった。
すまん。
0159nobodyさん
2008/03/21(金) 03:36:28ID:???0160nobodyさん
2008/03/21(金) 03:54:45ID:???0163nobodyさん
2008/03/21(金) 11:21:22ID:???0164nobodyさん
2008/03/21(金) 12:15:12ID:???0166nobodyさん
2008/03/21(金) 13:33:57ID:iVwKKU5lメソッド間で使いまわさなければ varでなくて
基本的にコンストラクタと function cHoge( $a $b, $c, $d, $e ........,)
インスタンス時に $c = new cHoge( $a $b, $c, $d, $e ........,)
ぶわーーーっと書いてもいいんですか?
html生成で大量に渡すデータがありまして・・・
0167nobodyさん
2008/03/21(金) 13:35:37ID:???0168nobodyさん
2008/03/21(金) 13:45:19ID:???0169nobodyさん
2008/03/21(金) 13:46:46ID:???ぶわーって何をそんだけ渡すんだよw
渡す物が多い時とか多少はあるが
そういう場合オブジェクトとか配列渡したりすると思うが・・・?
0171nobodyさん
2008/03/21(金) 13:54:27ID:???0172nobodyさん
2008/03/21(金) 14:02:48ID:iVwKKU5l>配列
はっ!
・・・・・了解しました。
各ページで流用可能な一行掲示板でも作ろうと思いまして
カラーテーブルとかデフォルトの名前とか 名前にあわせたhtmlの幅とかetc・・・
0173nobodyさん
2008/03/21(金) 14:25:17ID:???色とか幅は、CSSで対応した方がいいよ。
全体を divタグでくくってそのタグのクラス名をつかって切り分ける。
0174nobodyさん
2008/03/21(金) 14:52:24ID:iVwKKU5l<option value="336600" style="color:#336600">■</option>
<option value="009933" style="color:#009933">■</option>
プルダウンメニューで使う色です
0175nobodyさん
2008/03/21(金) 14:55:10ID:???0176nobodyさん
2008/03/21(金) 14:57:45ID:???0177nobodyさん
2008/03/21(金) 18:34:13ID:???時代遅れだなw
0178nobodyさん
2008/03/21(金) 20:12:20ID:???0179nobodyさん
2008/03/21(金) 22:35:58ID:???でフォームページに戻した時、ファイル名以下のパラメーターが消えています。
例)test.php?id=1 の?以降
GETだと問題ないのですが、これは仕様なのでしょうか?
0180179
2008/03/21(金) 22:36:22ID:q6goC1hT0181nobodyさん
2008/03/21(金) 22:39:16ID:???0182nobodyさん
2008/03/21(金) 22:53:10ID:???0184nobodyさん
2008/03/21(金) 23:24:44ID:???phpでもあるのか?
0185nobodyさん
2008/03/22(土) 00:19:08ID:???実行環境普通ないだろ
0186nobodyさん
2008/03/22(土) 00:29:52ID:???0187nobodyさん
2008/03/22(土) 00:34:01ID:???0188nobodyさん
2008/03/22(土) 00:40:25ID:???0189nobodyさん
2008/03/22(土) 01:01:40ID:???表示の際に必要なMimeTypeの取得ができません
バイナリデータからMimeTypeを取得する方法はないでしょうか
0190nobodyさん
2008/03/22(土) 01:04:23ID:???やっぱり、経済産業省の情報処理関係のやつを扱っている部署?
0191nobodyさん
2008/03/22(土) 02:07:21ID:???CGIが一番安全ですのね
0194nobodyさん
2008/03/22(土) 02:33:38ID:???0195nobodyさん
2008/03/22(土) 03:18:05ID:???と、Webプログラム歴0秒の俺がお答えしてみる。
0197nobodyさん
2008/03/22(土) 03:23:22ID:???0198nobodyさん
2008/03/22(土) 03:24:01ID:???別プロセスを生成するもの?
0199nobodyさん
2008/03/22(土) 03:54:10ID:???0200nobodyさん
2008/03/22(土) 04:21:58ID:???とかそんなんの略じゃね
0201nobodyさん
2008/03/22(土) 07:21:41ID:???スポーツ選手は、人気があっても尊敬されることはない。
学者や官僚は、尊敬されることがあっても人気はない。
つまり、そういうことに人生は集約されるというのが結論。
0202nobodyさん
2008/03/22(土) 07:38:29ID:+pkNsEKf色々手探りでやっているのですが、
セキュリティーのためにポート番号を変えています。
phpもあわせてポート番号を変えたいのですが、
設定ファイルのどの部分を触れば帰ることが可能でしょうか?
ご教示いただきたくお願い申し上げます。
0203nobodyさん
2008/03/22(土) 07:43:40ID:???0204nobodyさん
2008/03/22(土) 07:50:34ID:+pkNsEKfアドバイスありがとうございます。
昨日、Apacheのポートも変えたのですが、そうするとブラウザから接続が出来なくなってしまいました。
ブラウザからの接続はそのままでphpのポートだけセキュリティーのため変えたいのですが、そのようなことは可能でしょうか?
たびたびすみません。宜しくお願いします。
0205nobodyさん
2008/03/22(土) 08:11:48ID:???セキュリティのためにポート番号を変更したのなら、
ブラウザから普通には繋がらない状態で、予定どおりなんじゃね?
0206nobodyさん
2008/03/22(土) 09:58:41ID:???0207nobodyさん
2008/03/22(土) 10:18:29ID:???PHP実行のための接続の
2種類を考えているってことか?よく分からん
0208nobodyさん
2008/03/22(土) 11:15:40ID:???ttp://www.office-neo.jp/pagemagic/PageMagic.dll/pagemagic.html
これと同じような事ができるphpスクリプトってどこかに転がっていませんかね?
0209nobodyさん
2008/03/22(土) 11:23:49ID:???成功したら成功画面へ遷移。失敗したらページAへ戻って入力データを復元する
という場合、どんなファイル構成にしたらスマートでしょうか?
自分としては
a.php→a.php(POSTでsubmit)
a.phpではPOSTの場合と初期表示を場合わけし、POSTの場合はDB登録処理。
成功なら成功画面へリダイレクト
失敗ならPOSTで受け取ったデータを再度フォームに表示
というのを考えたのですが、こういう場合標準的な方法などはあるのでしょうか?
0210nobodyさん
2008/03/22(土) 11:26:14ID:???0214209
2008/03/22(土) 11:39:44ID:???ありがとうございます。
他にも間に確認画面をはさむ場合とか、
検索結果から個別の詳細画面へ飛んだあと、検索結果へ戻れるようにする方法とか、
いろんなケースごとにページ構成やデータの受け渡し方法を
説明した本やサイトなどはないですかね?
それともこういうのはフレームワークを使えば悩まなくて済むんでしょうか?
0215nobodyさん
2008/03/22(土) 12:06:20ID:???余裕で可能
>>214
フレームワークでその枠組みが提供されるわけではないので悩まなくて済むことはないが、ページ遷移管理の補助にはなる。
現状のphpではこれがベストだと言える方法論は無いので、もし現在php勉強中なら
一度自分で泥臭い方法で作って経験を積んでみることをお勧めする。
その後既存のFWを活用したりOO的設計を意識してみたりするとより理解が深まると思う。(上のを自作ライブラリとして纏め上げてもいいし)
サイトとしてはここ参考になるかな?
http://takagi-hiromitsu.jp/diary//20060409.html
0216nobodyさん
2008/03/22(土) 13:45:04ID:???> 検索結果から個別の詳細画面へ飛んだあと、検索結果へ戻れるようにする方法とか、
わるいこといわないから、JavaScriptのback()にしとけ
0217nobodyさん
2008/03/22(土) 14:01:00ID:???pythonのurllib2みたいなライブラリか何かでも。
0219nobodyさん
2008/03/22(土) 14:08:33ID:???簡単な奴ならファイルを開くのと同じ命令でURLを開けるよ。
ユーザーエージェント設定したりPOSTしたりするなら
なんかのライブラリが必要だが。まあPEARとかにある。
0221nobodyさん
2008/03/22(土) 16:41:59ID:???0222nobodyさん
2008/03/22(土) 22:04:57ID:+pkNsEKfご教示ありがとうございます。
変えたいのはphpのポートだけなんです。
昔javaを使ったことがあるのですが、javaは8080ポートを使っていましたが、
セキュリティーのためにjavaのポートを閉じた記憶があります。
それでも、ブラウザからサイトは見ることは可能でした。
phpの場合は、それが出来ないというのは、そのような仕様なのでしょうか?
言語的にセキュリティーが甘いという印象を感じてしまうのですが、
f/wなどで無理やり閉じるという方法しかないでしょうか?
0223nobodyさん
2008/03/22(土) 22:11:45ID:???0224nobodyさん
2008/03/22(土) 23:30:05ID:???0225nobodyさん
2008/03/23(日) 00:22:11ID:???JavaはなぜOKだったかのか教えてやるよ
8080…tomcat→Java
80…Apache→AJP…8007…tomcat→Java
どっかのサイトのコピペで動かしたんだろうからこんな構成だろ。
phpはどこで動くか「PHP 入門」でググれ
0226nobodyさん
2008/03/23(日) 00:23:16ID:???ビュー時に過去そのURLが入力された件数も同時に出力されるようなプログラムを作っています。
例)
http://aaa
http://bbb
と入力されたら
http://aaa 5件
http://bbb 13件
と出るような感じです。
現状、本文中のURLを preg_match_all にて配列に格納し、
その配列をループで回して、格納されたURLを元にDBから同一のURLの数を取得しています。
そして str_replace にて、
str_replace(元のURL, 元のURL + $nbsp;n件, 本文)
という風に置き換えています。
ある程度は正常に動作するのですが、下記の場合に問題が発生します。
0227nobodyさん
2008/03/23(日) 00:24:01ID:???http://pc11.2ch.net/test/read.cgi/php/1205655807/222n-
と入力された時、
str_replace(元のURL, 元のURL + $nbsp;n件, 本文)
の処理にて、
http://pc11.2ch.net/test/read.cgi/php/
が
http://pc11.2ch.net/test/read.cgi/php/1205655807/222n-
の該当部分にマッチしてしまい、
このような現象が起こってしまいます。
http://pc11.2ch.net/test/read.cgi/php/ n件1205655807/222n-
この問題を解消するにはどのようなアプローチが考えられますでしょうか?
str_replaceをereg_replaceに変更し、後ろの文字を判断して置き換えようとしましたが、難解です。
よろしくお願い致します。
0228nobodyさん
2008/03/23(日) 00:31:49ID:???0229226-227
2008/03/23(日) 00:59:24ID:???0230nobodyさん
2008/03/23(日) 13:09:00ID:???アップロードできる容量を制限できるのを探しています。
ご存知ありませんでしょうか??
0231nobodyさん
2008/03/23(日) 13:21:27ID:???0232nobodyさん
2008/03/23(日) 13:23:56ID:???一番、ここが近いような感じがしたのでここで質問させてもらいました。
0235nobodyさん
2008/03/23(日) 13:41:00ID:???0236nobodyさん
2008/03/23(日) 14:00:45ID:???ぐぐってもヒットしねーし
0237nobodyさん
2008/03/23(日) 14:00:51ID:???http://www.google.co.jp/search?hl=ja&q=MAX_UPLOAD_SIZE_PER_MIMETYPE&btnG=%E6%A4%9C%E7%B4%A2&lr=
HITしないのだが・・・汗
0239nobodyさん
2008/03/23(日) 14:12:44ID:???0240nobodyさん
2008/03/23(日) 14:48:35ID:???0241nobodyさん
2008/03/23(日) 16:23:02ID:???サイズ以下
なら
_FILES情報を参照して
○×を
判断するコードを
書けば
済
む
よ
0242nobodyさん
2008/03/23(日) 16:44:26ID:???0243nobodyさん
2008/03/23(日) 16:54:24ID:???0244nobodyさん
2008/03/24(月) 00:30:37ID:uH/l/FDXサマータイムの指定が消えているときいたのですが
サマータイム期の時間を入れると勝手に考慮して返してくるのでしょうか?
0245nobodyさん
2008/03/24(月) 00:33:21ID:???0246nobodyさん
2008/03/24(月) 01:15:16ID:9vjRnJNj初回アクセス時にCookieを送信 → 再読み込み(?)してCookieを取得できるかどうかで判断
という方法しか思いつかないのですが、初回アクセス時に確認する方法はないでしょうか?
0248nobodyさん
2008/03/24(月) 01:17:43ID:???0249nobodyさん
2008/03/24(月) 01:22:08ID:???0250nobodyさん
2008/03/24(月) 01:32:39ID:???0251nobodyさん
2008/03/24(月) 01:39:23ID:???httpパケットが送信元のブラウザに返ってくるということは、
httpレベルでコネクションが保障されているわけだろ。
同じパソコンで複数のコネクションをしていた時なら、保障はされないが、
それは仕様ということで問題ないと思うのだが。
0252nobodyさん
2008/03/24(月) 01:40:10ID:???0253nobodyさん
2008/03/24(月) 01:41:00ID:???次からのアクセスでcookieは判定できるようになるからムーリー
0254nobodyさん
2008/03/24(月) 02:00:56ID:???foreach ($foo as &$bar)ってやったらエラーorz
どう書けばいいんだろ…
そもそも無理なのかな?
0255nobodyさん
2008/03/24(月) 02:06:51ID:???困ったならマニュアルを何故見ない
http://jp2.php.net/foreach
0258nobodyさん
2008/03/24(月) 08:12:46ID:0RNOryeF/home/username/www/foo.php
を用意し、このスクリプト内で
shell_exec("/home/username/www/bar.php");
としているのですが、期待する動作をしてくれません。
(反応がなくなり、しばらくするとService Temporarily Unavailable
しか表示されなくなります)
動作させる方法はないでしょうか?
●foo.php
<?php echo shell_exec("/home/username/www/bar.php"); ?>
●bar.php(パーミッションは705)
#! /usr/local/bin/php
<?php echo 'hoge'; ?>
●環境
FreeBSD
www639.sakura.ne.jp
Apache/1.3.39 (Unix)
PHP Version 4.4.8
Server API CGI
0259nobodyさん
2008/03/24(月) 10:22:43ID:???0260nobodyさん
2008/03/24(月) 10:53:22ID:???"php /PATH/TO/FILE"
0261nobodyさん
2008/03/24(月) 11:26:50ID:0RNOryeF●foo.php
<?php echo shell_exec('php -f '.dirname(__FILE__).'/bar.php'); ?>
●bar.php
<?php echo 'hoge'; ?>
としてみましたが、状況変わらずです。
0262nobodyさん
2008/03/24(月) 13:00:12ID:BuclIAIb今サーバ二つ借りてるんですが
少し疑問に思ったことがあったのでお願いします。
AサーバからBサーバのphpをrequireしてみたらできました。
プログラムもしっかり動いてます。
これって危険なんじゃないかと思いますがそんなこともないのでしょうか?
.htaccessのリファラとかで規制するものなのでしょうか?
よろしくお願いします。
0263nobodyさん
2008/03/24(月) 13:02:53ID:???0264nobodyさん
2008/03/24(月) 13:11:40ID:BuclIAIbそうですね。
Aサーバのphp
<?php
require_once("http://www.Bサーバ.com/hoge.php");
?>
Bサーバのhoge.php
<?php
echo "aaa";
?>
こんな感じです。
0265nobodyさん
2008/03/24(月) 13:27:33ID:???0266nobodyさん
2008/03/24(月) 13:32:08ID:???0267nobodyさん
2008/03/24(月) 13:34:17ID:BuclIAIb具体的にどう恐ろしいのでしょうか…?
1.無断で他サーバに接続し、勝手にプログラムを使用していること。
2.サーバの管理状態の適当さ
今パッと思いつくのがこの程度なのですが。
0268nobodyさん
2008/03/24(月) 13:59:15ID:???0269nobodyさん
2008/03/24(月) 14:03:28ID:???こんなことは可能ですか?
Aサーバのphp
<?php
$hoge_str="ほげほげ";
require_once("http://www.Bサーバ.com/hoge.php");
?>
Bサーバのhoge.php
<?php
echo $hoge_str;
?>
0270nobodyさん
2008/03/24(月) 14:26:16ID:BuclIAIbできませんね。
requireでもphpで処理して出力したHTMLしか取得してないということですかね。
少し勘違いしてました。
ありがとうございました。
0271nobodyさん
2008/03/24(月) 14:31:06ID:???0272nobodyさん
2008/03/24(月) 15:11:37ID:gLm40CNz$req =& new HTTP_Request($url);
if (!PEAR::isError($req->sendRequest())) {
$body = $req->getResponseBody(); }
$bodyが大きすぎる場合があります
例えば$bodyを5KByteだけ読み込みたい場合はどうすればいいでしょう
0273nobodyさん
2008/03/24(月) 15:37:15ID:???0275nobodyさん
2008/03/24(月) 17:35:29ID:???あるいは何バイトまで読むか関数に引数いれとくとか
0276nobodyさん
2008/03/24(月) 17:46:23ID:???0277nobodyさん
2008/03/24(月) 17:49:58ID:???セキュリティ的に不可能じゃね?試してないが
0278nobodyさん
2008/03/24(月) 20:18:25ID:???PHPで処理する方式だろ?AmazonAPIとかGoogleとかそうだったはず。
0279nobodyさん
2008/03/24(月) 21:00:43ID:???簡単にいえば内部で使っているものを外部でも簡単に使えるようにするための仕組み。
例えば内部処理だけで使っている配列を、外部の人も使いたいといった場合、
配列にアクセスするための仕組みを提供したりする。
方法は配列を返す関数を作ってgetリクエストで呼び出したり、
配列をXMLに書き出してXMLで提供したり。
0280nobodyさん
2008/03/24(月) 21:42:32ID:???0281nobodyさん
2008/03/25(火) 00:03:26ID:???中高生しかいないんですか?ということは>>280さんも中高生?
僕は中1です。
最近ホームページはじめたのでPHPに興味あります。
これで掲示板とカウンター作って将来会社たてたいとおもいます。
よろしく。
0282nobodyさん
2008/03/25(火) 00:05:32ID:???0284nobodyさん
2008/03/25(火) 00:18:02ID:???当方、PHP4.4.6でmb_send_mail でメール配信していたのですが、
PHP4.4.1 環境に移したところ
メール本文の途中が切れて送られるようになったり、
まったく空だったりするようになりました。
切れる場所も、文字数で切られている訳でもなく、
原因が掴めません。
メールが長い場合、(5KB以上程度?)の時に起こるようです。
しかし、MaxMessageSize を超えていることもなく・・・
似たような現象ご存知の方いらしゃれば
ご教授お願いします
0285nobodyさん
2008/03/25(火) 01:31:10ID:9FmYRybR良いエディタないですか?
0286nobodyさん
2008/03/25(火) 02:52:44ID:???普通にブラウザから処理したらタイムアウトになりそうなんで、
何か良い方法ないでしょうか。
0287nobodyさん
2008/03/25(火) 03:16:25ID:???ブラウザに定期的に何かを出力すればいいんでない?
flushあたりの関数使って
一応set_time_limitを0にしてやったほうがいいと思う
まぁ普通にバッチ処理でいいと思うけど
0290nobodyさん
2008/03/25(火) 09:15:14ID:tA2earVE同じでphp4でも、コード修正が必要な事はあるのてじょうか?
0291nobodyさん
2008/03/25(火) 09:17:33ID:???http://php.net/ChangeLog-4.php
0292nobodyさん
2008/03/25(火) 09:56:17ID:tA2earVEありがとうございます
0293nobodyさん
2008/03/25(火) 13:23:00ID:j8ua+z8Xスケジューラを作ってるんですが、カレンダーの画面で各日にちの
イベント名と簡単な概要が表示されるとします
この場合、たとえば3月なら31回(日にち分)sqlのリクエストをループまわして
そのイベント名なり概略なりを個別に受け取るべきなんでしょうか?
where month=3 and day=1 … day=31って感じで。
それとも、ループはせずにwhere month=3と一回だけにしてphpのプログラムで
結果を解析・表示すべきですか? どっちが効率がいいというか安全なのか、、
皆さんどうやってますか?
0294nobodyさん
2008/03/25(火) 13:35:18ID:???0295293
2008/03/25(火) 13:56:51ID:j8ua+z8X別の考え方も提示してくれるかもと思ったもので。。
そんなことないみたいですね ありがとうございました!
0296nobodyさん
2008/03/25(火) 14:44:38ID:???0297nobodyさん
2008/03/25(火) 16:37:28ID:DHM98VQbログイン→DBの登録情報を確認→正しければアクセス許可
としているのですが、ID情報をセッションで持ち回して
どのページでも上の処理を入れて毎回アクセスをチェックしています。
最近、こういう方法だとアクセスの度にSQLを発行するので良くないのでは?
っと思っているのですが、いかが思いますか?より良い方法があれば教えて下さい。
0298nobodyさん
2008/03/25(火) 16:44:42ID:???セキュリティを考慮したユーザID
をセッションに登録し
後の動作でそれを確認するのが普通だろ
0299nobodyさん
2008/03/25(火) 17:50:35ID:???クエリの回数が少なくなるようにしようぜ。
あとその日付をバラバラにしたカラムじゃ
「2007年3月15日〜2008年3月15日を削除」とかやってらんないぜ。
「日ごとのスケジュール登録件数」が欲しくても集計使えないぜ。
日付にふさわしいデータ型使え。
>>297
セッション変数に残すのは認証されているかどうかを表すフラグと、
認証されている場合はそのユーザの識別子、この二つだけでも十分なんだぜ。
クエリの事だが必要だったら遠慮せず発行するもんだぜ。
データベースを使うセッションハンドラとかよくある話だしな。
0302nobodyさん
2008/03/25(火) 21:59:53ID:1pYd+uTdログインしてページ内容を取得したいのですが
ヘッダーに
<noscript>
<meta http-equiv="Refresh" content="0; URL=http://javasをonにしてね.html"/>
</noscript>
という壁がありまして・・・どうにかいい方法はないのでしょうか?
0303nobodyさん
2008/03/25(火) 22:00:46ID:???覚えた言葉をすぐ使いたがる中高生だろオマエw
0304nobodyさん
2008/03/25(火) 22:06:37ID:???0310307
2008/03/26(水) 00:57:54ID:???はい、伊藤です。
0311nobodyさん
2008/03/26(水) 02:43:19ID:???0313nobodyさん
2008/03/26(水) 03:44:58ID:???主人公のアニメ・漫画。
0314nobodyさん
2008/03/26(水) 06:12:28ID:???どうしてココの住民は、無関心ではいられないのだろうか。
何かとすぐ切れやすい子どもが、このスレに体現されているとしか評価しようがない。
0315nobodyさん
2008/03/26(水) 07:17:30ID:BV+jSJbqやりたい事がphpを使って操作する事なのでこちらで質問させて頂きます。
php+mysqlでアクセス解析を作りたいのですが、UA、リファラー、現在の日時等を取得して、
UA、リンク元、累計アクセス数、日別・月別・曜日別アクセス数などを表示したい場合、
全て1つのテーブルに保存するのと、項目ごとに別のテーブルに保存するのではどちらが効率的でしょうか?
書き方がわかりにくいと思いますが、全て1つのテーブルに保存する場合、
1行目 useragent=IE6, referer=http〜, date=2008/1/1 0:00:00
2行目 useragent=IE5, referer=http〜, date=2008/1/1 0:00:00
という形になり、テーブルの内容を全て配列に入れてからphp側で検索・ソート等して出力するか、
表示したい項目ごとにデータベース側で検索して出力する事になると思います。
項目ごとにテーブルを作る場合、
テーブル「useragent」
name count
IE6 2
IE7 5
という形になり、テーブルの内容をほとんどそのまま出力すればいいだけになります。
アクセス時の処理では前者の方が後者より速く負荷もかからないと思うのですが、
表示時の処理はログが増えるほど前者が後者より遅く、高負荷になるのではないかと考えています。
mysqlについてはphpmyadminで軽く触った程度なので、根本的に間違っているor意味不明な質問かもしれませんが、
「ここはおかしい」や「こうした方がいい」等のアドバイスでも構いませんので、ご回答お願い致します。
0316nobodyさん
2008/03/26(水) 09:07:29ID:???サイトのアクセス状況による
一日数十とか数百単位しかアクセス無いなら前者で良いだろうけど
2ちゃん並にくることが予測されるなら後者の方が良いと思う
とりあえず前者でサイト開いてみて段階踏んだらどうよ?
あとログとしてデータが残り続けるなら前者である一定の値にきたら
offsetかましてcountの効率を上げる方法もある…
0317nobodyさん
2008/03/26(水) 09:14:01ID:???>2ちゃん並にくることが予測されるなら後者の方が良いと思う
10か3億か、ってお前極端すぎww
病院に行け
0318nobodyさん
2008/03/26(水) 09:15:32ID:???>>315
dbスレ行ったほうがいいんじゃね?
つか普通は全部纏めて入れる
日ごとにUAの集計したら「午前中」とか「リファラの無いIE6」とかが欲しくなった時どうにもならないし
表示スクリプトは数十行だろうから、とりあえず両方書いてダミーデータで速度見るのもいいかもね
0319302
2008/03/26(水) 09:50:54ID:ynVuNR2N0321nobodyさん
2008/03/26(水) 11:19:54ID:ynVuNR2Nmixiなりアマゾンなり、phpからログインして情報取れますよね?
例えば今回liveアカウントへいこうとすると
javascriptを有効にしてくださいというページに飛ばされてしまいます
単純にnoscriptでジャンプされてしまうのですが、どうしたら良いのか思いつかず・・・
0322nobodyさん
2008/03/26(水) 11:22:07ID:???0323nobodyさん
2008/03/26(水) 11:55:25ID:YOiMNcCaいや飛ばされない。IEで解決。
0324nobodyさん
2008/03/26(水) 12:00:13ID:???0325nobodyさん
2008/03/26(水) 12:03:32ID:???0326302
2008/03/26(水) 12:12:25ID:ynVuNR2N最初のレスポンスの時点でjs有効にしてねというページが返ってきます
0327nobodyさん
2008/03/26(水) 12:16:09ID:???0328nobodyさん
2008/03/26(水) 12:37:10ID:tSZRDvWr署名による認証のしかたがわかりません・・。
(PEARにもXML-RPCはあるのですが、暗号化や複合化ができるようなものはなさそうで)
わかる方がいればおしえてください。
0329302
2008/03/26(水) 14:58:59ID:ynVuNR2Nいろいろ試して見ましたが、解決せず
PEARスレに行ってきます
ありがとうございました
0330nobodyさん
2008/03/26(水) 15:07:16ID:???0331nobodyさん
2008/03/26(水) 16:08:50ID:oGx/hZT1if(strstr($test,"9")){
echo "含まれています";
}
とした場合、$test内に「9」が含まれていないのに、
「99」でもヒットされてしまいます。どういう風に修正すればいいのでしょうか?
0332nobodyさん
2008/03/26(水) 16:08:58ID:???0333nobodyさん
2008/03/26(水) 16:22:02ID:???0334nobodyさん
2008/03/26(水) 16:22:07ID:???は?
何がしたいの?
$test_ary=explode(".",$test);
foreach($test_ary as $val){
if(strstr($val,"9")){ echo "含まれています"; }
}
でもすれば?
0335nobodyさん
2008/03/26(水) 16:28:34ID:???>$test = "1,2,99";
>if(strstr($test,"9")){
>echo "含まれています";
>}
>とした場合、$test内に「9」が含まれていないのに、
9って思いっきり含まれてるじゃん。
0336nobodyさん
2008/03/26(水) 16:31:41ID:???0337nobodyさん
2008/03/26(水) 16:48:42ID:???explode するとループで悩む年頃だろうから
if (preg_match('/\D9\D/', $test)) 辺りでどうですか。
>>334
質問者と同じ地雷を踏んでますよ。
0338nobodyさん
2008/03/26(水) 16:54:54ID:???まぁそういう概念がないんだろうけど
0339nobodyさん
2008/03/26(水) 16:55:41ID:???0340337
2008/03/26(水) 16:56:21ID:???眠いので修正せず放置しとこう。
0341nobodyさん
2008/03/26(水) 17:05:24ID:???せめてカンマ区切りにしとけばいいのに・・。
0342nobodyさん
2008/03/26(水) 17:15:35ID:???態々==9とかあほかw
in_arrayでいいだろ
0344nobodyさん
2008/03/26(水) 17:45:18ID:???0345nobodyさん
2008/03/26(水) 18:04:16ID:???でも本人が含むって言葉思いっきり使ってるし$testを配列みたいに解釈してしまってんだろうか。
ひょっとして
$test = "1,2,99";
$test_ary=explode(".",$test);
foreach($test_ary as $val){
if($val ==9){ echo "含まれています"; }
}
みたいなことをしたいのか?これだと99と9はイコールじゃないが。
しかしこれだtstrstr使う意味がないしarray使うべきだし・・・難問だ。
0346nobodyさん
2008/03/26(水) 18:11:56ID:???0347nobodyさん
2008/03/26(水) 18:12:53ID:???0348315
2008/03/26(水) 18:18:00ID:???個人の趣味サイトなので、アクセス数は最大でも重複カウントなしで1000/日というところです。
>>318さんのおっしゃる通り、今後条件別にログを表示させたくなった時に前者の方が良さそうですね。
ログ表示ページはそれほど頻繁に閲覧されるものでもないと思うので、
表示に関して多少非効率的になっても、前者の方法を使う方向でいきたいと思います。
インデックスとか>>316さんの言うoffset等、理解できていない部分が沢山ありますので、
データベース関連のサイトやスレなどを見て勉強してきます。
回答ありがとうございました。
0349nobodyさん
2008/03/26(水) 18:29:36ID:???0350nobodyさん
2008/03/26(水) 21:34:16ID:???0351nobodyさん
2008/03/27(木) 02:13:01ID:???0352nobodyさん
2008/03/27(木) 06:31:18ID:???<html>
<head></head>
<?php
echo "<body>";
?>
テスト
</body>
</html>
これだけの記述でもタイムラグが発生するのですが、body要素をphpで出力するのには何か問題があるのでしょうか?
それとも、xreaの無料サーバーを使っているのですが、このサーバー側の仕様か何かなのでしょうか?
0353nobodyさん
2008/03/27(木) 07:12:29ID:???時間おいてためすべし。
0354353
2008/03/27(木) 07:14:52ID:???xrea無料といえば自動挿入広告が重い原因にもなるから、
htaccessで広告表示しないようにして手動広告はるのがお勧め。
0355nobodyさん
2008/03/27(木) 07:18:47ID:???いざ自分でコード書こうと思ったら意味不明
PHP考えた人まじ天才 もうわけわからないっす
0356nobodyさん
2008/03/27(木) 07:34:07ID:???0357352
2008/03/27(木) 09:24:16ID:???レスありがとうございます
確認したところ、どうやら広告関係の問題だった様です
広告は手動で挿入しており、出力後のソースを見ても自動の広告が無かったので、
手動で広告を入れると勝手に切り替わるものだと思っていました
サポートページ等を見ながら修正したいと思います
ありがとうございました
0358nobodyさん
2008/03/27(木) 09:41:52ID:5276Wbjq0359nobodyさん
2008/03/27(木) 09:50:33ID:???0360nobodyさん
2008/03/27(木) 10:31:06ID:???俺もチラッと触っただけだけど。
0361nobodyさん
2008/03/27(木) 10:42:00ID:5276Wbjq0363nobodyさん
2008/03/27(木) 12:07:08ID:???0364nobodyさん
2008/03/27(木) 12:15:59ID:???0365nobodyさん
2008/03/27(木) 12:25:39ID:???俺の場合、BASIC->C->C++->Java->PHPだな。
0367nobodyさん
2008/03/27(木) 13:07:09ID:2PjNLBe+echo $_POST['email']."<br>";
$_POST['email'] = mysql_real_escape_string($_POST['email']);
echo $_POST['email']."<br>";
しかし、mysql_real_escape_stringにPOSTのデータを通すと$_POST['email']の中身がfalseになります。
ちなみに、POSTで送るデータはinfo@example.com等です。
どこが間違っているんでしょうか?
0370nobodyさん
2008/03/27(木) 13:11:15ID:???0371nobodyさん
2008/03/27(木) 13:16:48ID:???0372nobodyさん
2008/03/27(木) 13:27:47ID:2PjNLBe+問題はそこじゃないわけで(ry
ちなみに
$email = mysql_real_escape_string($_POST['email']);
echo $email;
でも
echo mysql_real_escape_string($_POST['email']);
でもだめでした。
0373nobodyさん
2008/03/27(木) 13:32:35ID:???> 注意: mysql_real_escape_string() を利用する前に、MySQL 接続が確立されている必要があります。
> もし存在しなければ、E_WARNING レベルのエラーが生成され、FALSE が返されます。
問題はここですか。
0374nobodyさん
2008/03/27(木) 13:33:13ID:???http://www.php.net/manual/ja/function.mysql-real-escape-string.php
> 注意: mysql_real_escape_string() を利用する前に、
> MySQL 接続が確立されている必要があります。
> もし存在しなければ、 E_WARNING レベルのエラーが生成され、
> FALSE が返されます。link_identifier が指定されなかった場合は、
> 直近の MySQL 接続が用いられます。
0375nobodyさん
2008/03/27(木) 13:39:44ID:???これは普通、sql発行する直前に書かない? 当然、その前で何らかのチェックはするけど。
0376nobodyさん
2008/03/27(木) 13:50:36ID:???すみませんでした
preg_matchでマッチングさせた後mysql_connect()の前でやってました
ありがとうございました
0379nobodyさん
2008/03/27(木) 14:51:12ID:???0381nobodyさん
2008/03/27(木) 15:56:56ID:???どなたか、良いアイデアをご教示願えないでしょうか。
当初、imagickを使用すれば良いと単純に考えていたのですが
今回の開発環境がPHP4系だったもので、上記ライブラリは使用不能であり
煮詰まってしまいました。
どなたか、お助けください。
0384nobodyさん
2008/03/27(木) 17:29:35ID:wJkba3DRmbstring.internal_encoding = eucJP-win
と設定しております。
<?=phpinfo()?>
でブラウザから確認するとちゃんとeucJP-winとなるのですが、
コマンドラインから実行する際に
print mb_internal_encoding();
としたらEUC-JPとなってしまいました。
コマンドラインではphp.iniの設定は読まれないのでしょうか?
またどこで設定すれば良いのでしょうか?
0386nobodyさん
2008/03/27(木) 18:38:13ID:8KxLf7TGPHP -v
とやると
PHP Warning: PHP Startup: Unable to load dynamic library
'./xsl.so' - ./xsl.so: cannot open shared object file:
No such file or directory in Unknown on line 0
こんな感じのエラーがいくつも出てしまうんですが、なぜでしょう?
ちゃんと
/usr/lib64/php/modules/xsl.so
はあるんですけども。。。
0388386
2008/03/27(木) 19:03:53ID:8KxLf7TGああ、カレントですね。で、
cd /usr/lib64/php/modules/
php -v
PHP Warning: PHP Startup: dom: Unable to initialize module
Module compiled with module API=20050922, debug=0, thread-safety=0
PHP compiled with module API=20060613, debug=0, thread-safety=0
These options need to match
in Unknown on line 0
です・・・。今一歩?いや、離れた?.soファイルの位置ってどの段階で
指定しているのだろう・・・?
0389386
2008/03/27(木) 19:12:46ID:???気がしてきた。
0390nobodyさん
2008/03/27(木) 19:39:44ID:???つい昨日、いろんな理由で、PHPをsrc.rpmからいれて
同じような問題がおこって設定した。
.soファイルの位置は/etc/php.iniのextesionなんたらで指定できる。
俺は面倒だったから絶対パス指定に書き換えた。
0391386
2008/03/27(木) 20:33:09ID:???どうも。
そのようにやったら、メッセージが386から388のに変わった。
要するに、入ってる*.soが古いらしいんだが、なんでPHPの
インストールで入ってくれないのか分からん。
0393390
2008/03/27(木) 21:46:16ID:???それでも(configureをいじって)rpmパッケージを作成してから
入れたので参考になるかもしれん。
rpmはphp本体とモジュールで分かれていた。
つまり、php-なんたら-xsl-なんたら.rpmを入れるんじゃね?
って>>392といっている事同じなんだが。
0394nobodyさん
2008/03/27(木) 22:16:05ID:xfNpn7Y+プログラムやってる人じゃないとフォームはなかなか使わないと思うので、
スレ違いとはわかっていますがご指南お願いします。
アンケートを作っています。回答を選択する場合、一般的にはselectを使いますよね?
<select name="vote">
<option value="1">value1</option>
<option value="2">value2</option>
</select>
適切な回答内容がない場合、その他という形でテキストフォームから追加できるようにしたいのですが、
その場合の書き方の検討がつきません。
<input type="radio" name="select">
<select name="vote">
<option value="1">value1</option>
<option value="2">value2</option>
</select>
<input type="radio" name="select">
<input type="text" name="vote">
フォーム配置のイメージとしてはこんな感じなのですが・・・
textのほうのname名を別名(たとえばavote)にして、
if ($_POST['select'] && $_POST['avote'])
という感じにして処理するしかないのでしょうか?
0395nobodyさん
2008/03/27(木) 22:24:40ID:???<select name="vote">
<option value="1">value1</option>
<option value="2">value2</option>
<option value="3">その他</option>
</select>
<input type="text" name="avote">
として、その他を選んだ場合のみavoteを参照するってのが一般的かと
0396394
2008/03/27(木) 22:26:52ID:???あーなるほど。盲点でした。
voteにその他を追加すればよいのですね。
どうもありがとうございます。
0397nobodyさん
2008/03/27(木) 22:58:32ID:???$image = new Imagick();
$image->readImage($url);
これだと外部にある画像を読み込んでくれません
URLを読み込むにはどうしたいいのでしょう?
マニュアル調べても分からなくて
0398nobodyさん
2008/03/27(木) 23:09:22ID:6a96K/LDどういう風に書けばいいのでしょうか?
0399nobodyさん
2008/03/27(木) 23:11:58ID:U1kIZSVMvar_dump()をかけると、以下を返す連想配列$evDayAryがあります
Array ( [2008-03-01] => 1 [2008-03-02] => 2 [2008-03-07] => 1 [2008-03-09] => 1 [2008-03-13] => 1 [2008-03-15] => 2 [2008-03-16] => 1 [2008-03-29] => 1 [2008-03-30] => 1 )
これに対して、
if($evDayAry["{$scheResult->fields[8]}"]){処理;} とするとき、
{$scheResult->fields[8]}が
2008-03-13 2008-03-15 2008-03-16 2008-03-29 2008-03-30 の時は処理をするのに、
2008-03-01 2008-03-02 2008-03-07 2008-03-09 の時は処理してくれません。
何故でしょう?どうしたらいいんですか? 七転八倒したんですが良くわかりません
どなたかご回答お願いします
0401nobodyさん
2008/03/28(金) 00:01:40ID:???foreach (range('A','Z') as $c) echo $c;
echo implode(range('A','Z'));
一つずつの意味がよくわからんけどこういうことがしたいのかな。
0402nobodyさん
2008/03/28(金) 00:05:40ID:???Imagickに受け渡してなんとかなった気がする
すごい無駄な処理を噛んでる気がするけど
0403nobodyさん
2008/03/28(金) 00:28:16ID:AaqCMoS5if($_POST['address']){
$mailto=$_POST['address'];
$mailsubject=mb_convert_encoding("【メールのサブジェクト】","JIS","EUC-JP");
$mailbody=mb_convert_encoding("メールを送信しました。","JIS","EUC-JP");
$mailheader="From: php mail<hoge@hoge.net>";
mb_language("Japanese");
if(mb_send_mail($mailto,$mailsubject,$mailbody,$mailheader)) print "送信完了";
else print "送信失敗";
}
print<<<STD
<html><head><title></title></head><body>
<a href="mail.php" style="font-size:10pt;">更新</a><br><br><br>
<form action="mail.php" method="POST">
<div style="border:1px #A5ACB2 solid;text-align:center;padding:15px; 0px 10px 0px;">
<div style="margin:0px 0px 0px 0px;font-size:10pt;color:#6b6b6b;">メールアドレスを記入して送信して下さい</div>
<input type="text" name="address" style="width:250px;border:1px #A5ACB2 solid;">
<input type="submit" value="送信" style="width:80px;border:1px #909eb2 solid;background-color:#f0f0f0;margin:10px 10px 0px 0px;">
</div></form></body></html>
STD
?>
記入したメールアドレスに宛ててメールを送信するスクリプトを作っているのですが、
どうしてもメールのサブジェクトが文字化けしてしまいます・・・。
どうしたら良いでしょうか?
0406403
2008/03/28(金) 00:59:07ID:AaqCMoS5どうしても
「【メールのサブジェ%/%H![ 」と言う感じに文字化けしてしまいます・・・
0407nobodyさん
2008/03/28(金) 01:46:26ID:g+1Sesc4<b>
<c>abcde</c>
<d>efghi</d>
<children>
<a>
<b>
<c>abcde</c>
<d>efghi</d>
<children>
<a>
<b>
<c>abcde</c>
<d>efghi</d>
</children>
</children>
<a>
<b>
<c>abcde</c>
<d>efghi</d>
こういうxmlで<children>の数が不規則な場合、どうやってすべての<c>と<b>を取得すればいいでしょうか?
simplexmlを使えるのですがどう書けばいいかわかりません
ご教授ください
0408nobodyさん
2008/03/28(金) 02:14:59ID:???0409nobodyさん
2008/03/28(金) 05:08:33ID:???デフォルトだと使用メモリサイズが64Kですが
もしこれを超えたらどうなりますか?
0410nobodyさん
2008/03/28(金) 08:48:06ID:???メモリーリークが発生するから、モジュール版phpを使っていると、
apacheが自動的に再起動がかかる。経験済み。
0412nobodyさん
2008/03/28(金) 10:24:19ID:???それは、Well-formedですらないからあれだけど、
XMLパーサ関数ならキレイにbとcだけ取り出せるよ。
0413nobodyさん
2008/03/28(金) 19:16:19ID:???メモリーリークって・・・そんなバギーなんですか?
理想的には他のアプリが影響受けないようにmemcache用の別鯖立てた方が
いいってことかな?
0414nobodyさん
2008/03/28(金) 19:25:09ID:???(中身は変動します)
この先頭から3文字だけ削除するにはどうしたらいいですか?
0416nobodyさん
2008/03/28(金) 20:21:31ID:???・まったくalertが出ないレベル
・errorは出ないけどalertは許すレベル
0417nobodyさん
2008/03/28(金) 21:10:11ID:???0422nobodyさん
2008/03/28(金) 23:11:19ID:???0424nobodyさん
2008/03/29(土) 01:20:21ID:nk5k7Lscあるxmlファイルをsimplexml-load-file()でパースした時に
以下のような警告が出てしまいます。
Warning: simplexml_load_file() [function.simplexml-load-file]: Bytes: 0xAD 0xE0 0xA3 0xB0
原因なんですが、どうやらxmlファイルのデータに があると
このエラーが出てしまう見たいなのですが解決方法ってありませんか?
0425nobodyさん
2008/03/29(土) 02:00:57ID:???0428nobodyさん
2008/03/29(土) 02:18:32ID:???0429nobodyさん
2008/03/29(土) 02:25:05ID:???XMLのencoding指定が正しくされていないとかいうオチ?
0431nobodyさん
2008/03/29(土) 02:40:02ID:???0432424
2008/03/29(土) 02:45:12ID:???抽象的な表現で誤解を与えてしまってすみません。
例えていいますと、私は流れてきた電波を映像に変換するテレビを作る立場の人間で、
テレビ局に、電波をハイビジョンで送ってくれとかノーマルで送ってくれとか、いう立場にないという意味です。
0433nobodyさん
2008/03/29(土) 02:47:09ID:???file_get_contents()とかで取り込んでから加工しろ
ここまで言わないと分からないなんてどんな馬鹿だよ…
0434nobodyさん
2008/03/29(土) 03:00:02ID:???きっとURLをそんままぶちこんでるんだと思うよ
変数で受け取ってからゴミをとってそれからパースする
そのままぶちこまなくてもイインダヨ
0435424
2008/03/29(土) 03:18:20ID:???アドバイスありがとうございます。そういうことだったんですね。
そういう発想がなかったのですが、それならなんとかなりそうです。
遅い時間に、どうもありがとうございました。
0436nobodyさん
2008/03/29(土) 05:10:26ID:???echo $a."-ghijklmn";
とする場合と
echo "abcdef-ghijklmn";
の場合ではどちらが表示が早い、もしくは負荷がかからないのでしょうか?
0437nobodyさん
2008/03/29(土) 05:12:27ID:???ミリ秒とかマイクロ秒とかとてつもなく小さい誤差なので気にしなくていい
0438nobodyさん
2008/03/29(土) 05:14:54ID:???ありがとうございます
プログラム文自体が短い方が早いのかと思いましたがストレートに書いた方がいいのですね
0439nobodyさん
2008/03/29(土) 06:13:04ID:???小学生乙
0440nobodyさん
2008/03/29(土) 12:22:06ID:siokcgs9すごい時間かかる処理
echo time();
なぜか数秒しか立ってないんだけど
ちゃんと処理時間を割り出すにはどうすればいいのかしら
0441nobodyさん
2008/03/29(土) 12:33:44ID:???0442nobodyさん
2008/03/29(土) 12:55:37ID:???for($i=0;$i<1000000000000000;$i++){echo time();}
echo time();
0444nobodyさん
2008/03/29(土) 13:08:41ID:???どっちで囲んだほうがいいとかありますか?
0445nobodyさん
2008/03/29(土) 13:18:51ID:???「 ''' 」はオバQ。
0447440
2008/03/29(土) 14:05:55ID:siokcgs9何百人分のデータを取得加工したり
レンダリングは数十分後なのに
5秒経過とか出る件について
0448nobodyさん
2008/03/29(土) 14:28:22ID:???0449nobodyさん
2008/03/29(土) 15:33:43ID:???0450nobodyさん
2008/03/29(土) 16:16:00ID:???まずマニュアルを探せ、そして読め
http://www.php.net/manual/ja/language.types.string.php
その上で質問すると自分のためになるよ
0451nobodyさん
2008/03/29(土) 17:14:52ID:7xNaxr2Gテキストデータがあります
1
3
7
12
‥
みたいな感じで入っています。
そこから、データを整数型で読み出して
最大値を取り出すにはどうすればよいでしょうか?
ぐぐってみたものの分からず。
よろしくお願いします
0453nobodyさん
2008/03/29(土) 17:34:33ID:7xNaxr2Gすんません、一度読んでみます。
あと、もしよろしければお願いが。
一応プログラム載せてみますので
その間にもしまずそうな所あればご指摘願えませんか?
下記プログラムだと結果が12でなく7になってしまって
よろしくお願いします。
$fp=fopen("test.txt","r");
$num=0;
$makusu=0;
for($num=0;$num<10;$num++){
$tdata[$num]=fgets($fp,1024);
if($makusu<$tdata[$num]){
$makusu=$tdata[$num];
}
}
fclose ($fp);
0454nobodyさん
2008/03/29(土) 17:43:23ID:???金が良かったこともあって、流される感じで時間を過ごしてしまった。
が、振り返ると、人から言われたことをそのまま翻訳するだけの流れ作業的仕事。
自由な発想で作りたかったけど、一度もそのような機会が恵まれず、昨日付けて会社を退職しました。
来月から、大学の先輩を頼って監査法人に入ります。
数年後には、公認会計士を目指して頑張ります。
このスレは、仕事で分からなかったときに何回がお世話になりました。
本当にどうもありがとうございました。
0455nobodyさん
2008/03/29(土) 18:13:18ID:???条件が書かれていないから考えられる中でのシンプル
$csvdata = file("./test.txt"); //textを配列に取り込む
sort($csvdata,SORT_NUMERIC); //配列の値を数値として並び替え
echo '最大値:'.end($csvdata); //数値として並び替えしているから配列の最後の値を表示
>>453
それは数字ではなく文字列で比較しているからだな
1 と 7 の文字の場合7の文字コードの方が大きい
if($makusu<((int)$tdata[$num]){
とでもして試してごらん
0456nobodyさん
2008/03/29(土) 18:25:10ID:???キャストでtypoしてるよ。
× if($makusu<((int)$tdata[$num]){
○ if($makusu<(int)$tdata[$num]){
>>453の微笑ましいロジックのまま対処してるとこに和んだ。
0457nobodyさん
2008/03/29(土) 18:38:41ID:???フォローサンクス
typoはよくやるんだよなぁ…この癖を直さないとなぁ
とりあえずなぜその結果が出たのか?の疑問だったからなぁその部分だけ解決する方法をね
あとは試行錯誤してコードを直していくのが自分のレベルアップの為だと思うし
0458nobodyさん
2008/03/29(土) 19:15:19ID:???0459440
2008/03/29(土) 20:52:41ID:siokcgs9そんなバカな
0460nobodyさん
2008/03/29(土) 21:54:44ID:???$aaa[1] = array( "AAA"=>"123","BB"=>"456");
こういう配列で$aaa[0]の一番最初のabcは$aaa[0][0]ではないのでしょうか?
うまくとりだせません
0461nobodyさん
2008/03/29(土) 22:08:51ID:???0463nobodyさん
2008/03/29(土) 22:40:12ID:TG/x4Siy$a == null
is_null($a)
の違いがわかりません
動作的には全部一緒の動作をするようですが
どう違うのでしょうか?
0465nobodyさん
2008/03/29(土) 23:35:26ID:???とりあえず試してみた。
!$a は$aが0や'0'や空文字列やfalseの時にも真になる。
$a==null も同様。
is_null($a);は$aがnullのときだけ真になる。
$a==nullも同様。
0466465
2008/03/29(土) 23:36:05ID:???$a===null ね。
0467nobodyさん
2008/03/29(土) 23:37:10ID:???0468nobodyさん
2008/03/29(土) 23:54:09ID:7xNaxr2Gすいません、お礼がすごく遅くなりまして。。
みなさんのおかげでなんとか解決できました。
本当にありがとうございます。
0469がぐゆき
2008/03/30(日) 00:36:27ID:OfxxBLHH変数に入っているtextを一行ずつ処理したいのですが
どうしたら宜しいでしょうか???
ファイルを読み込んで一行ずつ処理する方法は沢山ありますが
変数内のtextの処理は見つかりませんでした…
ご教授よろしくお願いいたします。
0470nobodyさん
2008/03/30(日) 00:38:19ID:???0471nobodyさん
2008/03/30(日) 01:17:19ID:???サンクス
でもその後も欲しい…
foreach($sub_text as $text){
処理
処理
処理
}
でいいのけ???
0472nobodyさん
2008/03/30(日) 01:19:11ID:???0473がぐゆき
2008/03/30(日) 01:21:01ID:OfxxBLHHぴょんじゃねーよwww
おしえてくだしあwww
0474nobodyさん
2008/03/30(日) 01:51:39ID:???0475がぐゆき
2008/03/30(日) 02:12:14ID:???foreach($sub_text as $text){
処理
処理
処理
}
今の所うまくいってるみたいだけど…?
もっとスマートというか…セオリーがあったら
nobody大先生に教えてもらいたいぽ…
0476nobodyさん
2008/03/30(日) 02:14:12ID:???次の質問よろ。
0477nobodyさん
2008/03/30(日) 02:57:50ID:xDq/YOeJ大量の関数をうまく扱うコツなんかはないでしょうか?
0478nobodyさん
2008/03/30(日) 03:19:53ID:???0479nobodyさん
2008/03/30(日) 04:18:46ID:???自作関数は必要でしょ。どの言語体系でも関数を自作で作られる機構は用意されているし、
世の中ビルトイン関数だけで片付くものじゃない。
素人かな?
0480nobodyさん
2008/03/30(日) 04:28:44ID:???1度しか使わないうえに数行で書き直せるようなコードがガッツリ関数化されてたなんてのは良くある話
同じような系統の処理をクラスに纏めるとか、命名規則とか、ちゃんとコメントを入れるとか
1年後に見ても何をする関数なのかすぐ理解できるような書き方をしておくと扱いやすいかも知らん
0482nobodyさん
2008/03/30(日) 04:50:10ID:???>>478は、見直してみろって言っているが、暗に自作関数は要らないと言っていると思うんだが。
後半は、同意。
>>481
3ヶ月どころか、3年を通り越して7年もやっているんだが。phpだけじゃないが。
0483nobodyさん
2008/03/30(日) 04:56:45ID:???とてもそうは見えないですよ。本当のところは3週間くらいかと思った。そもそも国語力が足りないんじゃないですか?
0484nobodyさん
2008/03/30(日) 05:04:06ID:???意味分からん。
phpはビルトイン関数が多いから、自作関数を作るのはビルトイン関数を
把握しきれていない証拠だといいたいのか?
ビルトイン関数はユーティリティー関係が充実しているのは確かだが、
それだけではシステムは組めない。
業務クラスを実装していけば、複数の業務で共通する処理を業務共通クラスとして外だしにすることもよくあること。
もっと、勉強してこい。
0486nobodyさん
2008/03/30(日) 06:34:28ID:???>>478は自作関数は要らない ではなく、関数化する必要が在る・無いを見極める事が必要って言っていると思う
関数化は作る時の作業効率だけではなく、他人が後からトレースする時の効率も考える必要があると思う
スパゲティコードもトレースに時間がかかるけど、関数だらけのもトレースに時間がかかる
自作関数の中にまた自作関数があって、その中に自作関数があって、やっている事は数行で1度しか呼び出しされない
とか…それが解るのはそのファイル内の処理を全てトレースして理解してからなんだよね
関数化やライブラリ化するのかそのバランスを見極める必要はあると思う
0487nobodyさん
2008/03/30(日) 09:29:29ID:oSilb2mWハッシュ文字列が長いので、ログのサイズカット目的で、
substrで7文字程度にカットしようと思うのですが、これで行った比較は正確なものと言えるでしょうか?
0488nobodyさん
2008/03/30(日) 09:41:35ID:???0489nobodyさん
2008/03/30(日) 10:15:54ID:???自分は単なる関数でもクラスのstaticメソッドにして整理してる。
>>487
正確はどうかは、ここで言う「正確」という言葉の定義による。
ログの目的にもよるけど、ログ出力するときだけカットするようにしたら?
0490nobodyさん
2008/03/30(日) 10:24:41ID:???0492487
2008/03/30(日) 11:00:37ID:???>>488
言われてみればそうですね。ほぼ正確という言葉が正しかったですね。
フォーラムを作っていてトピックや発言を消せるようにパスワードをつけています。
DBを用いずテキストにログを保存しているため、ログが蓄積するとDBに比べ速度が遅くなります。
少しでも読み込む文字列を少なくするために、保存する時にハッシュ化したパスワードをカットしようと思った次第です。
アルゴリズムはビット長の長いwhirlpoolを使っています。
妥協して安全性には少し難がありますが、ビット長の短いものに変更したいと思います。
0493nobodyさん
2008/03/30(日) 12:48:20ID:???はい、マニュアルどうぞ
http://www.php.net/manual/ja/types.comparisons.php
0494nobodyさん
2008/03/30(日) 18:18:33ID:???スパムを防ぐのにこれを入れておくと、どういう不都合が考えられますか?
0495nobodyさん
2008/03/30(日) 19:14:15ID:pBE7+GD1他のファイルで旧「db_get」を使用しているため、古いのは残したまま、別のPHPでは新しいdb_getを実行したいのです。
なお読み込みは全て共通ファイルで読み込んでいるので、新しいPHPでも古いdb_getは読み込まれています。
やはり新しいほうを別の名前にするしかないでしょうか?
0496nobodyさん
2008/03/30(日) 20:25:54ID:LU6QHGFg伸ばし棒のところで文字化けしてしまいます。
どうしたらいいでしょうか?
0497nobodyさん
2008/03/30(日) 20:30:28ID:???名前空間使えばできるけど現状では無理。
プレフィックスつけるかクラスに閉じ込めるのが現実的かと。
>>496
コード見せて。
0498nobodyさん
2008/03/30(日) 20:37:26ID:LU6QHGFgprivate $ini = "";
public function __construct(){
$this->ini = parse_ini_file("PHPdefine.ini");
}
public function vewheader(){
print $this->ini["bbs_title"];
}
}
↓PHPdefine.ini
bbs_title=アー
0500nobodyさん
2008/03/30(日) 21:46:48ID:???0501nobodyさん
2008/03/30(日) 22:07:04ID:???0502nobodyさん
2008/03/31(月) 00:21:19ID:???降順で読み込む。また、10件以上有る場合は次ページ以降を作ってそちらに読み込む。
こんな感じのことできますか?
0504nobodyさん
2008/03/31(月) 01:00:09ID:???「…ファイル数を確認し、」以降が全くわからん。
・あるディレクトリ内のファイル数を確認したい。
・ファイル名は "連番.inc" にしてある。ファイル名で降順ソートしたい。
・ソート後、ひとつずつファイルを読み込んで1件/1ファイルとして出力したい。
・最大10件/ページになるようにしたい(ので、ファイル数を確認した)。
自分のエスパーカではこれぐらいが限度だ。
0505nobodyさん
2008/03/31(月) 01:13:18ID:???そうですね。書いてても分かりませんでした。
>>504さんのおっしゃるとおりです!ビックリエスパーですorz
連番.incファイルを読み込みたいんです。
その内容はただのtableタグで書かれた表なんですが、データベースとか使えない
サーバーで、それ以前の問題の気もしますが。
・連番の数の大きいほうが、新しいファイルなので降順にしたい
・一つのページに表は10個読み込みたい。
・10個以上ある場合、次のページにいくようにしたい。
以上のことがしたいんだと思います。
0507nobodyさん
2008/03/31(月) 02:25:45ID:???0508nobodyさん
2008/03/31(月) 04:13:28ID:???対話形式、たとえば、ssh でパスワード入力したいんだけど、
良い方法ないでしょうか。
単純に
system("ssh -phogehoge localhost")
としちゃうとパスワードがローカルユーザーに漏れてしまう可能性があるので。
0509495
2008/03/31(月) 08:55:13ID:aabaHexlそうなんですか……
おとなしく接頭語をつけることにします。
ありがとうございました。
0510nobodyさん
2008/03/31(月) 09:47:51ID:???0511nobodyさん
2008/03/31(月) 09:52:46ID:???そういう場合、一般的には expect スクリプトを用意するんだけど、
sshだったらホストベースのRSA認証でログインするのがいいんじゃない?
とはいえ、信用できないユーザがいるホストからスクリプトでログインしたいとはなかなか豪快な話。
0512nobodyさん
2008/03/31(月) 11:20:40ID:zaGfhvtn方法は二つ
・各ファイルの情報を持つ親ファイルを作る。
・ファイル名を工夫する。ハイフォン等を用いてファイル番号と行数をファイル名とする。
0513nobodyさん
2008/03/31(月) 11:40:30ID:???0514nobodyさん
2008/03/31(月) 13:23:58ID:???http://jp.php.net/manual/ja/function.runkit-function-redefine.php
とか使えばできる
ただこれは標準関数じゃないので
peclからインスコが必要
0515nobodyさん
2008/03/31(月) 13:25:46ID:D840Cc+c0518nobodyさん
2008/03/31(月) 13:46:22ID:D840Cc+cparse_ini_fileの場合は連想配列で取得ですよね?
連想配列ではなくて、通常の配列で取得する方法を探しているのですけど
0519nobodyさん
2008/03/31(月) 13:59:27ID:???0521nobodyさん
2008/03/31(月) 14:40:30ID:???ある程度傲慢でもしょうがないんじゃないの。
そんなことに、いちいち突っ込む奴がどうかと・・・
0522nobodyさん
2008/03/31(月) 14:52:28ID:???0525nobodyさん
2008/03/31(月) 15:32:30ID:???0527nobodyさん
2008/03/31(月) 15:45:56ID:???茶々入れる人は最優先でいらない人。
0528nobodyさん
2008/03/31(月) 16:03:28ID:???0529nobodyさん
2008/03/31(月) 16:43:15ID:???0530nobodyさん
2008/03/31(月) 17:48:52ID:bWUoRvpMとしたら、04ではなく、05になります。
今はまだ3月なので4になるはずなのですが、どうしてでしょうか?
0532530
2008/03/31(月) 18:06:52ID:bWUoRvpMこの書き方の場合、「月だけ+1して表示」することは出来ないのでしょうか?
どういう風な書き方をするのがベストなのでしょうか?
0533nobodyさん
2008/03/31(月) 18:11:58ID:???0534531
2008/03/31(月) 18:16:30ID:???> 「月だけ+1して表示」
それをそのまま書くとか
echo date("m") + 1; // string + 1 が気持ち悪ければ (int) するなり何なり
0535nobodyさん
2008/03/31(月) 18:18:58ID:???0536531
2008/03/31(月) 18:20:45ID:???0537nobodyさん
2008/03/31(月) 18:29:17ID:???0538530
2008/03/31(月) 18:33:57ID:bWUoRvpMみなさん、ありがとうございます。
それでは以下のようなコードを書いてみましたが、いかがでしょうか?
// 次の月にまたぐ場合
if(date("j")>=abs($_POST["day"])){
$month = date("m")+1;
// 12より大きい場合
if($month > "12"){
$year = date("Y",strtotime("+1 year"));
$month = "01";
}else{
$year = date("Y");
}
}else{
$month = date("m");
$year = date("Y");
}
0539nobodyさん
2008/03/31(月) 18:37:28ID:NIwRaO2mAPC とか、MMCache とか、ionCube とか、e-accelerator とか、
スクリプトキャッシュを入れたいんだけど、
rpm を使って簡単に導入できるものってある?
DAG とかで公開されてる rpm は、fedora core 2 以降がほとんどで、
redhat 7.3 みたいな古代遺跡には対応してくれてないみたいなんだよね。。。
0540nobodyさん
2008/03/31(月) 18:39:32ID:???0542nobodyさん
2008/03/31(月) 19:13:13ID:???0543nobodyさん
2008/03/31(月) 19:23:19ID:???初っ端から違和感があるけどPOSTされるデータがよく分からないから黙っておく
$month = date("m")+1;とすると03が4になっちゃうんじゃないかな
年月日までの精度でいいなら単純なint値として扱って
出力時に整形するほうが楽で安全だと思うよ
個人的にはgetdate()で作った配列をバラして使うのが好き
0544nobodyさん
2008/03/31(月) 19:33:15ID:???0545nobodyさん
2008/03/31(月) 19:42:39ID:???0546nobodyさん
2008/03/31(月) 20:06:02ID:???0547nobodyさん
2008/03/31(月) 20:27:31ID:???0548nobodyさん
2008/03/31(月) 20:51:28ID:???敵う敵わないとか関係ないだろ
0549nobodyさん
2008/03/31(月) 21:30:46ID:???5年後には今のN88-BASIC並に廃れてたりちて。
0550nobodyさん
2008/03/31(月) 22:40:55ID:???よりも
「何を作るか?」
が、重要だと思いますです。
0551nobodyさん
2008/03/31(月) 22:51:49ID:???0552nobodyさん
2008/03/31(月) 23:05:10ID:???目的を達成する物が出来たら良いと思いますです。
0553nobodyさん
2008/03/31(月) 23:16:49ID:???0554nobodyさん
2008/03/31(月) 23:28:28ID:???複数でやるには汚いと効率悪い
さらに無駄に処理が重いなら良くは無いかも
0555nobodyさん
2008/03/31(月) 23:42:08ID:???例えば効率が良いと思ってフレームワーク使っても
結局、別の人間がそのフレームワークを使えなければいけないわけで。
0556nobodyさん
2008/03/31(月) 23:47:19ID:???0557nobodyさん
2008/03/31(月) 23:47:37ID:???一人でも綺麗に書いた方がイイ!
0560nobodyさん
2008/04/01(火) 00:53:09ID:+ectGcI2中括弧で括っても駄目でした。 御教示よろしくお願いします。
$sql = <<< _EOD_
INSERT INTO table2ch VALUES(
'{$entry["name"]}',
'{$entry["kana"]}'
)
_EOD_;
0562nobodyさん
2008/04/01(火) 01:26:48ID:???出るよ
$entry = array('name'=>'a', 'kana'=>'b');
$sql = <<< _EOD_
INSERT INTO table2ch VALUES(
'{$entry["name"]}',
'{$entry["kana"]}'
)
_EOD_;
echo $sql;
↓結果
INSERT INTO table2ch VALUES( 'a', 'b' )
0563nobodyさん
2008/04/01(火) 01:31:50ID:???ヒアドキュメントを使って全てまとめて出力するのと、
変数部分のみを<?php echo $hoge;?>のようにして出力するのでは
どらが高速でしょうか?
0564nobodyさん
2008/04/01(火) 01:36:37ID:???0565nobodyさん
2008/04/01(火) 01:42:15ID:???死ぬほどわずかでも速い方が精神衛生上良いので、
もし分かれば教えて欲しいです
0566nobodyさん
2008/04/01(火) 02:05:45ID:???俺ならテンプレートエンジン使うし使わない場合でもHTMLを変数に格納して変数展開はドット演算子で接続するかな。
0567nobodyさん
2008/04/01(火) 07:02:29ID:???速くしたけりゃ中間言語コンパイラ使うとかもっと抜本的な
解決策を探るべきだよ。
0568nobodyさん
2008/04/01(火) 07:07:25ID:???愛なんていらないの
優しい言葉が欲しいだけなの
0569nobodyさん
2008/04/01(火) 07:11:52ID:???if($list["$i"] == ""){
$list["$i"] = "1234";
}
$list["$i"] == "" この式がおかしいのでしょうか?
もし$list["$i"]がなければ処理という式はどう書けばいいでしょうか?
0571569
2008/04/01(火) 07:32:15ID:???配列またはオブジェクトをキーとして使用することはできません。
これを行なうと、warning: Illegal offset type を発生します。
だって
0572nobodyさん
2008/04/01(火) 08:03:38ID:???0573nobodyさん
2008/04/01(火) 09:18:24ID:QfLzxrc0content-typeをtext/html以外にして出力すれば、
ダウンロード自体はさせることが出来ましたが、
ファイル名が、その処理をするphpのuriになります
リクエストを受けたPHP側で、ダウンロードさせるファイル名を決定するには
どうしたらいいのでしょうか?
0574nobodyさん
2008/04/01(火) 09:19:25ID:???http://jp2.php.net/header
0575nobodyさん
2008/04/01(火) 15:07:37ID:???>>1読んでID出そうな
isset
empty
だろうか、やりたいことがはっきり分からない
問題の出るきちんと動く最小ソースを張れ
0578nobodyさん
2008/04/01(火) 17:59:15ID:QfLzxrc0ブラウザ側からコネクションが切断された場合、
それを検出するにはどうしたらいいですか?
TCPだからapacheはコネクションの切断を検知してますよね
だからといっていきなりPHPの処理を止めることはないような気がします
何らかのイベントが飛んでくる…?
0579nobodyさん
2008/04/01(火) 18:06:41ID:???マニュアル最高ォォォ!!!
http://www.php.net/manual/ja/features.connection-handling.php
0580nobodyさん
2008/04/01(火) 20:20:45ID:???0581nobodyさん
2008/04/01(火) 20:30:50ID:???そういえば犬の出るバージョンがあったな
0583nobodyさん
2008/04/01(火) 20:39:09ID:???0584nobodyさん
2008/04/02(水) 00:57:36ID:YnvkKP4HArray ( [0] => Array ( [0] =>test.php ) [1] => Array ([0] => Array ( [0] => test2.php ) ) )
と、階層化されている配列の場合、ひとつの配列内にまとめるには
どうすればいいのでしょうか?(階層は多階層とします)
0587nobodyさん
2008/04/02(水) 07:03:03ID:???ありがとうございました
「デフォルトの動作はリモートクライアントとの接続が断となった際に
スクリプト の実行は破棄されます」とのこと
ちょっと予想外です
今まで、スクリプトが中断される可能性を考えずに組んできたので
予想外の不整合の種が埋め込まれていたかも・・・不安
0588nobodyさん
2008/04/02(水) 07:21:07ID:OgmDUsd7echo preg_replace("/<p>(.+)<\/p>/", "<div>\\1</div>", $str);
<div>あいうえお</div><div>かきくけこ</div>と置き換えたいのに、
<div>あいうえお</p><p>かきくけこ</div>となってしまいます。
どこをどうしたらいいのかアドバイスお願いします。
0589nobodyさん
2008/04/02(水) 07:23:28ID:???シャットダウン関数を定義した場合、リモートユーザーが STOP ボタンを押した後、
「次にスクリプトが何か出力を行おうとした場合、」
PHP は接続が破棄されたことを検知し、 シャットダウン関数がコールされます
何も出力されなかったら接続の破棄は検知されない?
出力を伴わない作業であれば、ある程度アトミックに動作する?
0591589
2008/04/02(水) 11:51:06ID:???やっぱり出力しない時は切断を検知しないんですね
出力がない限り通信が発生しないから
0593nobodyさん
2008/04/02(水) 13:56:21ID:???0594nobodyさん
2008/04/02(水) 14:08:09ID:???やろうと思えば出来るが、普通はやらないな。
0597nobodyさん
2008/04/02(水) 14:51:00ID:???0598nobodyさん
2008/04/02(水) 15:46:08ID:???これほど自民党の一党独裁の問題点が分かりやすい現象は無いなw
0599nobodyさん
2008/04/02(水) 16:01:35ID:???春休みにも程があるぞ
0602595
2008/04/02(水) 16:12:49ID:???>>596が即レスしてきたのには笑えた。
ネットワーク関連のスレだと、これくらいの煽りだと完全にシカトだよ。
アプリケーションエンジニアがネットワークエンジニアに比べて、
如何に忍耐力がないかを示せたと思う。
技術力の根底は、忍耐力。もう少し反省して我慢強くなれよ。そうじゃないと、何をやっても大成しない。
0604nobodyさん
2008/04/02(水) 16:15:10ID:MqFvUnGs雰囲気悪くするだけの雑談をしたいのなら他所でしてください
0606nobodyさん
2008/04/02(水) 16:42:06ID:???0607nobodyさん
2008/04/02(水) 16:43:01ID:???0609nobodyさん
2008/04/02(水) 18:02:16ID:Exm72Bty[141]=> "AAAAAAAAAAAAAAAAAAAACCC1111111111111111111111111111111"
[142]=> "11111111111111111111111111111"
[143]=> "11111111111111111111111111111111111111DDDAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAACCC111111111111111111111111111111111"
[144]=> "11111111111111111111111111111"
[145]=> "11111111111111111111111111111111111111DDDAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAACCC111111111111111111111111111111111"
このような時、"CCC111111111111111111111111111111111111111111111DDD"という
始点終点の一意の単語を目安に、ひと塊ずつ抜き出すには
どのようなやり方がよいのでしょうか?
[143]のように纏まらせたい終端と、始点が混ざっていて混乱しています。
0610nobodyさん
2008/04/02(水) 18:05:03ID:???0611nobodyさん
2008/04/02(水) 18:17:37ID:Exm72Bty[2]=> "一人目です</td><td>名前"
[3]=> "<a href=hoge>hage</a></td></tr></table><br /><hr /><table><tr><td>"
とあった場合
$取得一個目 = "<table><tr><td>一人目です</td><td>名前<a href=hoge>hage</a></td></tr></table>"と
抜き出したり...
0612nobodyさん
2008/04/02(水) 18:45:37ID:???0613584
2008/04/02(水) 18:52:54ID:YnvkKP4H上手く行きません。。どうすればいいか教えていただけないでしょうか。
function hairetu($val){
for($i=0;$i<count($val);$i++){
if(is_array($val[$i])){
$array = hairetu($val);
}else{
$array[] = $val[$i];
}
}
return $array;
}
$array = array("バナナ","リンゴ","みかん");
$array[1] = array("赤","青");
$fruit = hairetu($array);
print_r($fruit);
0614nobodyさん
2008/04/02(水) 19:49:28ID:???まず、過程で変数の中身がどうなってるかvar_dumpでもしろ
あと
http://www.php.net/manual/ja/language.variables.php
の「変数のスコープ」でも読め
0615nobodyさん
2008/04/02(水) 20:30:58ID:oWuCtB30英語文字列の先頭だけ小文字から大文字に変換する関数はありませんか?
あったら教えてください。お願いします。
0616nobodyさん
2008/04/02(水) 20:48:09ID:???マニュアル嫁
http://jp.php.net/manual/ja/function.ucfirst.php
0617nobodyさん
2008/04/02(水) 20:52:43ID:oWuCtB30ども
0618nobodyさん
2008/04/02(水) 20:52:48ID:???0621nobodyさん
2008/04/02(水) 22:13:20ID:XY6vuSiH実は一行にした場合、スマートにA点B点間を切り取る書き方がわかりません
またA点B点になるものが20個くらいつながっていますので
0623nobodyさん
2008/04/02(水) 22:51:28ID:njUPskxT$txt = implode("", $array);
$j = 0;
$str = "";
for ($i = 0; $i < strlen($txt); $i++) {
$string = substr($txt, $i, 1);
if ($str == $string) {
$data[$j] .= $string;
} else {
$j++;
$data[$j] = $string;
}
$str = $string;
}
$data に文字列が固まって入っている。 これでいいんじゃない?
0625nobodyさん
2008/04/03(木) 04:39:25ID:NUyg6E0X大まかに5つぐらいにカテゴリわけできるデータがあります。
すべて一つのファイルにまとめてそれを読み書きするのと
カテゴリごとに5ファイルにわけて読み書きするのではどちらが早いでしょうか?
例えば1カテゴリあたり1MBだしたらどうなんでしょう
マイクロ秒単位ぐらいしかかわらないとかいうかんじなんでしょうか
0626nobodyさん
2008/04/03(木) 04:47:03ID:???1つのファイルのほうが早いに決まってる
ベンチとらないと正確な数値はわからないが気にする必要はないと思うけど
ただ管理するファイル数が多くなると凡ミスで1つのファイルが狂うと
他のファイルにも影響が出る可能性があるからデータは1つにまとめたほうがいい
DBを利用できるならDBを使ったほうが早いし管理も楽
0627nobodyさん
2008/04/03(木) 05:27:31ID:???>関数呼び出しのオーバヘッドを考慮すれば
>1つのファイルのほうが早いに決まってる
今だに、requireやincludeを使っているのだろうかw
0628nobodyさん
2008/04/03(木) 06:45:56ID:cpVDKaLEミクシィのコミュニティのようなのを作りたいのですが
なにを勉強すればいいのでしょうか?
0629nobodyさん
2008/04/03(木) 07:01:00ID:???ありがとうございます
1つのファイルでやってみます
>>627
includeで呼び出しますが何かまずいのでしょうか?
0630625
2008/04/03(木) 07:02:00ID:NUyg6E0X625です
0631nobodyさん
2008/04/03(木) 08:29:48ID:???気にしなくていい
>>627がアホなだけ
関数を含め何かをを呼び出すということはなんかしらオーバヘッドが発生している
requireやincludeに限ったことではない
0632nobodyさん
2008/04/03(木) 09:07:40ID:???使わない方法があるなら俺にもぜひ教えてもらいたい。
たまに他人のソース見て疑問に思うんだが、
includeやrequireの形跡はないのに、ソース中に見当たらない変数を使用してたりする。
(echo $hoge;とだけ書いてるのにちゃんと$hoge;が表示されてる。$hogeがどこで定義されてるかは不明。)
これってどういう方法使ってやっているの?
importでもないし、namespaceなんかもないし・・・
0633621
2008/04/03(木) 09:40:11ID:2nubDXXGニュアンスはだいたいわかるのですが
欲しい形としては、ループする文字列だけ格納ではなく(AAAとか)
-----
<h2>ああああ</h2><p>ああああああああ</p><br /><hr /><h2>そそそ</h2><p>ととと</p><br /><hr />
<h2>ててて</h2><p>いいい</p><br /><hr />....
-----
となっているものを いらないところをスルーして
$data[ 1 ] => "<p>ああああああああ</p>"
$data[ 2 ] => "<p>ととと</p>"
$data[ 3 ] => "<p>いいい</p>"
と格納できれば・・・。
(この例だと <p> </p>という二つの文字列の間、および文字列そのものを含んだ部分の切り取り)
0634nobodyさん
2008/04/03(木) 09:47:21ID:???<h2>ててて</h2><p>いいい</p><br /><hr />";
preg_match_all("|<p>(.*?)</p>|si", $string, $matchs);
print_r($matchs);
0635nobodyさん
2008/04/03(木) 09:57:16ID:???0636nobodyさん
2008/04/03(木) 12:01:29ID:???0637nobodyさん
2008/04/03(木) 12:50:10ID:???自分が無知なのを棚に挙げて、人をアホ扱いですかw
どんだけスイート脳なんだよ。
>>632
__autoloadでぐぐれ
0638nobodyさん
2008/04/03(木) 13:00:44ID:2nubDXXGばっちりでした。マーベラスです。ありがとうございました。
0639nobodyさん
2008/04/03(木) 13:26:53ID:???なんで、オーバーヘッドの話から、
requireやincludeの話になってんの?w
わずかな差しかないが、__autoloadを使ったほうが、
クラスの存在のチェックなどをするぶん、
requireやincludeよりも遅いが。
0641nobodyさん
2008/04/03(木) 14:11:22ID:???ファイルの容量は気にしなくていいってことなのか
でもファイルがでかいならオーバーヘッドうんぬんより分割した方がいいと思うが
0642626
2008/04/03(木) 14:13:06ID:???1つのファイルに書き込むより5つのファイルにに書き込む方がオーバヘッドが大きい
書き込みの際にはDBのようなトランザクション処理ができないので
1つのファイルに書き込み失敗するとデータの整合性が狂うしロールバックもできない
(どれか失敗したら全てのファイルのデータ数を数えて少ないとこにあわせて末尾から削除とかもできるが面倒)
よって1つのファイルにデータをまとめて1度だけ書き込みを行ったほうがよい
ということを言ったつもりだったんだけど
0643nobodyさん
2008/04/03(木) 14:20:07ID:???0644nobodyさん
2008/04/03(木) 15:21:07ID:BSwpnKE2PHPまたはCGIみたいなのありませんか?
自分のホームページがあまりにもアクセス数が少ないので、
自動でカウンターだけでも上げて気休めしてみよーかなと。
0645nobodyさん
2008/04/03(木) 15:24:34ID:???0647644
2008/04/03(木) 15:37:18ID:???パソコンを立ち上げなくても、サーバー側で自動でアクセスしてみたいのです。
cronというのは どんな感じですか?
0648nobodyさん
2008/04/03(木) 15:41:38ID:???1日に86400ほど増える。
0649nobodyさん
2008/04/03(木) 15:44:02ID:???レンタルカウンターだとしたら無駄に負荷かかって迷惑だからやめとけ
0650nobodyさん
2008/04/03(木) 15:49:06ID:???0652nobodyさん
2008/04/03(木) 16:14:02ID:???0653nobodyさん
2008/04/03(木) 17:11:38ID:2KfD0E2x$test="テスト";
print<<<EOF
{$test}
EOF;
以上を実行したら、「テスト」が出力されると思いますが、
$testの中身をfunction関数を実行した結果にしたいと思います
サンプルとして以下のようなfunctionをつくり、
function testFunc($i){
if($i==1){return "結果1";}else{return "結果2";}
}
print<<<EOF
{$testFunc(1)}
EOF;
などとしてみたのですが、うまくいきません(「結果1」と表示させたい)
どうしたらいいんでしょう? ご回答よろしくお願いします
0656nobodyさん
2008/04/03(木) 17:48:38ID:2KfD0E2xありがとうございます
{$test(1)}みたいに、引数を持たせることは出来ないんでしょうか? 最終的には
for($i=0;$i<10;$i++){
print <<<EOF
{$test($i)}
EOF;
}
みたいな感じで動的に変化する処理を考えてたので…… 弱ったなぁ
根本的にやり直ししかないのかな、、
0658nobodyさん
2008/04/03(木) 17:59:30ID:???0661nobodyさん
2008/04/03(木) 18:17:54ID:???>>656
for($i=0;$i<10;$i++){
if($i==1){$test = "結果1";}else{$test = "結果2";}
print testFunc($test);
}
function testFunc($test){
return <<<EOF
{$test}
EOF;
}
よく分からんがこんな感じでどうよ?
0662656
2008/04/03(木) 18:27:04ID:2KfD0E2x>>661さんのと可変関数ていうのを調べて、トライしてみます
確かに最悪ヒアドキュメントやめればいいんですよね
ソースが汚くなりそうで気が引けるんですが…
ともかくありがとう またよろしくお願いします
0663nobodyさん
2008/04/03(木) 18:28:29ID:???0664nobodyさん
2008/04/03(木) 18:45:05ID:???0668nobodyさん
2008/04/03(木) 19:31:29ID:???0669nobodyさん
2008/04/03(木) 20:12:51ID:???<<<AAA
AAA; ←こいつインデントできねーし
0670647
2008/04/03(木) 20:19:44ID:BSwpnKE2cronというのは、UNIX(?)で設定するということですよね!?
たとえばPHPファイルを一つ置いて、勝手に巡回するとかできないでしょうか?
0672nobodyさん
2008/04/03(木) 20:49:27ID:4LgtZJ5T0673nobodyさん
2008/04/03(木) 20:52:04ID:???0674nobodyさん
2008/04/03(木) 20:55:10ID:4LgtZJ5TPEARとかでもAuthってあるから聞いてみた。
ぐぐったり辞書見ても書いてないんだもの。
サポートセンターに電話する時はずかちい
0675nobodyさん
2008/04/03(木) 20:58:13ID:???Authとは
とかそんな感じで検索すればだいたい出る
0676nobodyさん
2008/04/03(木) 21:00:59ID:???0677nobodyさん
2008/04/03(木) 21:33:03ID:4LgtZJ5T出ませんねぇ…
0679nobodyさん
2008/04/03(木) 21:36:38ID:???0680nobodyさん
2008/04/03(木) 21:40:59ID:???goo辞書で「Auth」で英和辞書引いても
そのものずばりが出てくるじゃねーか。嘘吐いて他人の手間増やして楽しい?
0681nobodyさん
2008/04/03(木) 22:58:11ID:YxD7y5X8}
0682nobodyさん
2008/04/03(木) 22:59:43ID:YxD7y5X8for($i=0;$i<5;$i++){
echo $i;
}
こういうforで出力する時、表示は「01234」となりますが、
カウントダウンのように、0の次は1、1の次は2など、
順番に表示させることは出来ないのでしょうか?
0683nobodyさん
2008/04/03(木) 23:10:10ID:???0684nobodyさん
2008/04/03(木) 23:43:08ID:???0686682
2008/04/03(木) 23:54:43ID:???Javascriptはすでにやっているので、他の方法を探してみました。
無理だと言うことですね。他の方法を探してみます。
0688nobodyさん
2008/04/04(金) 00:05:08ID:???それでいいならクッキーを利用して5の次4,3,2,1,0なんて表示は出来るがな。
0689nobodyさん
2008/04/04(金) 00:09:15ID:???>Javascriptはすでにやっているので、他の方法を探してみました。
サーバサイドとクライアントサイドがごっちゃになってないかな?
て思った。
0690682
2008/04/04(金) 00:14:46ID:???サーバサイドでやりたいので、PHPを試しました。
ですが、やっぱりJavascriptしか無理っぽいですね・・。
タイマーみたいなのが作りたいので、ストップ処理も入るし、
そうなると、forとsleepを使っても出来ないみたいです。
0691nobodyさん
2008/04/04(金) 00:28:43ID:???かなり目立つように書いてカタマリに見える工夫するかなあ。
エスケープするときなんかはイチイチ考えなくていいしキレイ(な気がする)
-----
echo "<h1 id=\"header\">{$a}</h1>" ;
-----
echo '<h1 id="header">'.$a.'</h1>' ;
-----
echo <<<__________D_O_C__________
<h1 id="header">{$a}</h1>
__________D_O_C__________;
0692nobodyさん
2008/04/04(金) 00:45:45ID:???違いは分かってるよ!!!と主張してるみたいなので方法論。
header()でrefreshすれば近いことはできるんじゃ?
0693nobodyさん
2008/04/04(金) 00:51:41ID:f6Xk8xc+どのような方法があるでしょうか。
↓例えばこんな風になってて
$string = '$name';
$name = 'MyName';
$stringを使って"MyName"と表示させたいのです。
すぐ思いつくのはevalですが、文のみということみたいなので(?)
無理やりあてはめて書いてみたのが
echo eval("return $string;"); //MyNameと表示される
でもこれだとなんか変というか・・・(コードの見た目が)
他により一般的な書き方があったらおしえてください。
0694nobodyさん
2008/04/04(金) 01:04:03ID:???>forとsleepを使っても出来ない
これは目的のものがJavaScriptでは出来なくて諦めたってことだよな?
断言してもいいが、やり方が間違ってるだけで出来ないことは絶対ない。
コードの一部を載せるんじゃなく、最終目的を明確にした上でweb制作板のJavaScriptスレに質問してみな。
0695693
2008/04/04(金) 01:34:35ID:f6Xk8xc+$string = '$name';
$name = 'MyName';
eval("\$string = \"$string\";");
echo $string; //MyNameと表示される
マニュアルに載っていた例ですが、実際のコードの前後の兼ね合いから
案外すっきりいけるようでしたので、これでいってみますm(_ _)m
0696nobodyさん
2008/04/04(金) 11:09:35ID:???>690
サーバーサイドの時点で、ページ遷移は絶対必要だから
タイマーの部分だけiframeとrefreshで回転させて・・・
0697nobodyさん
2008/04/04(金) 11:22:02ID:???0698nobodyさん
2008/04/04(金) 13:23:02ID:???安易にパーミッションを777にするよりも、
まずディレクトリーのオーナをかえて、必要最低限度のパーミッションにした方がいいよ。
0699nobodyさん
2008/04/04(金) 14:09:44ID:???0700nobodyさん
2008/04/04(金) 14:25:36ID:???その間レスできなかった。やめた方がいい?まだ、気になるレスがあるんだが・・・
0701nobodyさん
2008/04/04(金) 14:27:06ID:???本人は見てるか分からんが、参考になる人はいるだろうし
0703nobodyさん
2008/04/04(金) 14:34:51ID:???こんなPHP探してるんですが何処で配布されてますか?
0704nobodyさん
2008/04/04(金) 14:52:44ID:???文字化けしてしまいます。
エンコードが違うならわかりますがなんででしょうか?
0705nobodyさん
2008/04/04(金) 14:53:14ID:???0706539
2008/04/04(金) 14:56:39ID:???0707nobodyさん
2008/04/04(金) 14:58:19ID:???スクリプトの内部エンコードが違う。
残念だけど、PHP を Shift-JIS で書くのはおススメしない。UTF8 か EUC-JP を使うべし。
http://manual.xwd.jp/ref.mbstring.html
0709nobodyさん
2008/04/04(金) 15:10:15ID:mEsRuTBT必要としているPEARのパッケージのリストとか
0710nobodyさん
2008/04/04(金) 15:59:03ID:???0711nobodyさん
2008/04/04(金) 18:21:35ID:???どうもありがとうございました
0712nobodyさん
2008/04/04(金) 18:38:04ID:???0713nobodyさん
2008/04/04(金) 19:42:09ID:???0714nobodyさん
2008/04/04(金) 19:44:20ID:YqX/EKLMそれが一発でわかる関数などあるでしょうか?
理想としては、以下の処理が出来るようにしたいです。
1)1回目の削除実行→3行削除されたとわかる(「3件削除しました」とメッセージ)
2)2回目の削除実行→すでに削除済みなので0(行)が返ってくる
3)「(0だから)対応するデータはありません」などとアラート表示
よろしくお願いします
0715nobodyさん
2008/04/04(金) 20:12:09ID:???http://jp2.php.net/manual/ja/function.mysql-affected-rows.php でどう?
あと、delete で where条件を指定しない(全削除)の場合は、1=1みたいなダミーの
条件文が必要だけど、PDOを使うと自動的に付けてくれるとか、聞いたことがある。
0717nobodyさん
2008/04/04(金) 20:56:03ID:???それは毎回文字が消えて次の文字が表示されなきゃだめなわけ?
ただ順番に文字を表示するだけなら
ob_flush();
flush();
使えばいくない?
0718nobodyさん
2008/04/04(金) 21:49:14ID:???0721nobodyさん
2008/04/04(金) 23:10:34ID:???0724nobodyさん
2008/04/05(土) 00:28:40ID:???最後のsはソースの意味
詳しくはググれ
0725nobodyさん
2008/04/05(土) 00:29:25ID:???0727nobodyさん
2008/04/05(土) 00:48:09ID:???0728nobodyさん
2008/04/05(土) 02:10:23ID:2dn41xYV出力するデータが配列中にあるのは確認してあります、何故でしょうか?
function returnData(){
return $pInfoAry;
}
$aaa = returnData();
echo $aaa[0]['gakki1'];
ちなみに、以下もダメでした
function returnData(){
return var_dump($pInfoAry);
}
$aaa = returnData();
echo $aaa;
以下は大丈夫だったんですが、、
function returnData(){return "さんま";}
$aaa = returnData();
echo $aaa;
0729nobodyさん
2008/04/05(土) 02:17:36ID:???0730nobodyさん
2008/04/05(土) 02:24:44ID:???return $pInfoAry; ←この段階で$pInfoAryの中身はnull
}
0731nobodyさん
2008/04/05(土) 02:28:31ID:???OOPのgetterでもないのになんでそんな書き方するの?
普通に$pIngoAry[0]['gakki1'];でいいじゃない。
0732nobodyさん
2008/04/05(土) 02:39:32ID:???スコープの範囲を勉強をしたほうがいい
globalを定義するか引数で値を渡すか
そもそもそんな無意味そうな関数作っても・・・
0733728
2008/04/05(土) 05:55:14ID:2dn41xYVありがとうございます そうでした、スコープすっかり忘れてました
恥ずかしい… ていうかヤバイなぁ、どんどん忘れてく
ちょっと試したいことがあるので、無意味な関数かどうかは今のところ
わからないんですが、、
また何かあったら質問します すみませんがよろしくお願いします
0734nobodyさん
2008/04/05(土) 07:05:54ID:IhNkb+FDXamppで開発環境を整えて
ブラウザで見ようとしたのですが
Not Foundで
「The requested URL /xampp/index.php was not found on this server.」
というエラーが出てうまくいきません
どのような原因が考えられますか?
0735nobodyさん
2008/04/05(土) 07:18:40ID:???0736nobodyさん
2008/04/05(土) 07:21:47ID:IhNkb+FD今回見れなかったtest.phpと同じディレクトリに
index.htmlがあるんですがそれは見れるんです
サーバ上で見つからなかったというのは
どのような原因が考えられますか?
0737nobodyさん
2008/04/05(土) 07:48:45ID:???0738nobodyさん
2008/04/05(土) 08:01:35ID:IhNkb+FD[Sat Apr 05 06:44:59 2008] [notice] Child 4608: Released the start mutex
[Sat Apr 05 06:45:00 2008] [notice] Child 4608: Waiting for 250 worker threads to exit.
[Sat Apr 05 06:45:00 2008] [notice] Child 4608: All worker threads have exited.
[Sat Apr 05 06:45:00 2008] [notice] Child 4608: Child process is exiting
[Sat Apr 05 06:45:00 2008] [notice] Parent: Child process exited successfully.
エラーログはこんな感じです
アパッチは問題がないようです
0739nobodyさん
2008/04/05(土) 11:59:09ID:???0741nobodyさん
2008/04/05(土) 12:21:33ID:L0wIdTdLphpをiframeで呼び出した時、コメントを書いてinput内でエンターを押しても何もおきません
$_POSTに中身はあるのにログの更新がされていません(ちゃんとsubmitを押すとok)
直接開いた場合と、iframeではどんな差異があるのでしょうか?
ちなみにiframeにしているのはニコ動のように独立させたいからです
0742nobodyさん
2008/04/05(土) 12:29:26ID:???0744nobodyさん
2008/04/05(土) 14:23:10ID:IhNkb+FD本来はわかりやすくて簡単なはずなんです
どうしても使いこなしたいのでもうちょっと粘っていきます
>>740
Xamppに関する質問ではありません
htmlファイルは問題なく表示できるのに
作成したPHPファイルをブラウザで見ると
サーバーにありませんと言われてエラーが生じているのが問題なんです
本当にくだらない質問ですが結構悩んだつもりなので
わかる人がいたらどうか教えてください
0745nobodyさん
2008/04/05(土) 14:30:58ID:???0746nobodyさん
2008/04/05(土) 14:34:57ID:???本当にサーバに無いんだろ
ファイル名とアドレスを見直せ
素の状態のXAMPPなら複雑な不具合なんて起きるわけ無い
この程度のことも解決できないようなヤツがややこしい状態を作れるとも思えないしな
0747nobodyさん
2008/04/05(土) 14:38:24ID:???俺は
> 今回見れなかったtest.php
> /xampp/index.php was not found
変わったリライト仕込んでるなと思った。
0748nobodyさん
2008/04/05(土) 15:10:11ID:IhNkb+FDすみませんエラー表示をコピペしたのは
test.phpのほうではなくindex.phpのほうです
ファイルの種類はPHP Scriptなのでテキストではないようです
0749nobodyさん
2008/04/05(土) 15:30:05ID:???ファイルが見つからないといわれてる以上、本当にそのファイルがないとしか考えられない。
xamppがC直下にインストールされていると仮定した場合、
C:\xampp\htdocsがデフォルトのドキュメントルートだが、
http://localhost/を開いた場合、C:\xampp\htdocs\xampp直下が表示されるように設定されている。
C:\xampp\htdocs以下にindex.phpをおいて、http://localhost/index.phpにアクセスした場合でも、
C:\xampp\htdocs\xampp\index.phpにアクセスされる。
C:\xampp\htdocs以下に、phpというフォルダをつくり、そこにindex.phpをいれ、
http://localhost/php/でアクセスしてみ。
0750nobodyさん
2008/04/05(土) 15:32:32ID:???0751nobodyさん
2008/04/05(土) 15:37:52ID:???もっと素の設定でインストールしたほうが初心者は迷わないだろうね
0752749
2008/04/05(土) 15:42:03ID:???http://localhost/を開いた場合、/xamppにリダイレクトされるのは、
http://localhost/index.phpのヘッダでそうかいてたからのようだ。
Apacheの設定ではなかった。すまぬ。
このindex.phpを上書きすれば、普通にhttp://localhost/でも見れるはず。
0753nobodyさん
2008/04/05(土) 16:06:28ID:IhNkb+FD試してみましたがそれでもうまくいきませんでした
ですが再インストールするとなぜかうまくいくようになりました
原因は不明ですが結果オーライなのでもうこれでいいです
つまらない質問に真剣に対応していただきありがとうございます
0754nobodyさん
2008/04/05(土) 16:48:23ID:???\(.\ ノ
0755nobodyさん
2008/04/05(土) 16:49:39ID:gVFutqXhどうすればできるでしょうか?
0756nobodyさん
2008/04/05(土) 16:54:58ID:???コンピュータにとっての03時でいいのなら >>2 の 6. 参照。
「夜更かししたときの27時と、早起きしたときの03時は別」という判定まではできない。
0757nobodyさん
2008/04/05(土) 17:22:38ID:???use LWP::Simple;
print get("http://www.google.co.jp/");
こんなのを書いてみました
PC上でactiveperlで動かすと思った通りの動作をしますが、
cgiとして実行させると500エラーになります
もっと簡単にテキストを表示させるだけのcgiはちゃんと動くので、
パスやパーミッションその他の理由ではないと思われます
perlのバージョンは5.005だそうです
よそを読みにいくことに制限があったり、LWP::Simple;が使えなかったり
することはありますか
その場合の代替案はありますか
0758nobodyさん
2008/04/05(土) 17:25:17ID:???墨括弧の中は無視して読む癖があった
0759nobodyさん
2008/04/05(土) 17:54:20ID:???勉強にはなるぞ
0761nobodyさん
2008/04/05(土) 20:55:12ID:???Apache2モジュールのPHPソースは改行コードがCRだけでも正常に動作するのに、
コマンドライン(CLI)だとPHPスクリプトの改行コードがCRだけだと異常を生じるのは仕様ですかね?
両方同じなら(正常でも異常でも)わかるんですが、別なのでちょっと気になりました。
PHPソースの文字コードはUTF-8です。
0762nobodyさん
2008/04/05(土) 21:10:45ID:???0763nobodyさん
2008/04/05(土) 22:09:17ID:???適当ですか?
0764nobodyさん
2008/04/05(土) 22:16:30ID:???まぁ適当なんだが
0765nobodyさん
2008/04/05(土) 22:18:57ID:???0766nobodyさん
2008/04/06(日) 00:56:17ID:axME/ew+会員は全員携帯を利用で携帯のアドレスに対して送信することになるのですが
携帯からメールを送るときのように、一度に5件までしかccに入れられない
といったようなことはないでしょうか?
あと、softbankは1分以上の時間を空けて送信しないとエラーになるという話を
聞いたことがあるのですが本当でしょうか?
0767nobodyさん
2008/04/06(日) 01:28:14ID:???0768nobodyさん
2008/04/06(日) 01:46:47ID:???どうもありがとうございました
0769nobodyさん
2008/04/06(日) 03:01:47ID:MAjG8Csa$args = func_get_args();
echo huga($args);
echo piyo($args);
}
function huga($a) { return $a; }
function piyo($a,$b) { return $b; }
hoge(1,2,3); //=> 12
こんな感じの事がやりたいのですが、func_get_args()だと配列を渡すだけになってしまうので、
全然出来ないです。どうにかして巧くやる方法はありますでしょうか?
ちなみにhoge()から呼ばれるのは動的に決定するので、foo()やbar()が呼ばれるかもしれません。
JSを知っている人なら、argumentsの受け渡しと同様の事がしたいと言えばお分かりになると思います。
良い方法をご存知の方がいらしたらご教示ください。よろしく御願いします。
0770nobodyさん
2008/04/06(日) 03:17:28ID:???引数の数と内容が分かっているんだからどうとでも出来るんじゃないの?
どんな値を入れたら、どう処理して、どんな値が欲しいのか説明してくれないと意味が分からない。
0771nobodyさん
2008/04/06(日) 03:20:44ID:???何を持ってして異常なのか説明をしない限り
エスパー回答者がお前を混乱させるだけ。
>>769
JavaScript の
function hoge() {
fuga.apply(this, arguments);
piyo.apply(this, arguments);
}
を PHP でやるならこうだな。
function hoge() {
$args = func_get_args();
call_user_func_array('fuga', $args);
call_user_func_array('piyo', $args);
}
0772nobodyさん
2008/04/06(日) 03:25:35ID:???0773769
2008/04/06(日) 03:33:00ID:???自分でもわかりにくかったと思います。すいません。
うまく説明できなさそうだったので、スレ違いで怒られるの覚悟でJSでの等価機能を出しました。
>>771
まさにそれです!
助かりました。ありがとうございます。
>>772
まだ call_user_func_arrayがどういう動きをしてくれるやつか見ていないのでわからないですが、
取り急ぎありがとうございます!
0775nobodyさん
2008/04/06(日) 08:43:39ID:???あいうえお<br>
かきくけこ
[aa.php]
<?php
print '<table border=0 Align="center"><tr><td>';
$file = fopen( "aa.txt", "r" );
fpassthru( $file );
print '</tr></td></table>';
?>
今はこうして読み込んでいるのですが、txtファイルに<br>を書き込むことなく改行を反映させることはできないのでしょうか?
もしできるのならばサンプルを頂けるとありがたいです。よろしくお願いします。
0776nobodyさん
2008/04/06(日) 08:45:47ID:???http://jp.php.net/nl2br
0777nobodyさん
2008/04/06(日) 09:45:17ID:???俺ならこうする
$file = file("aa.txt");
foreach ($file as $value) {
$value = rtrim(htmlspecialchars($value)) . "<br>";
echo $value;
}
0778nobodyさん
2008/04/06(日) 10:04:49ID:???ファイルポインタの関係でうまくいきませんでした…。便利そうなのですが
>>777
別の変数を使って変換するんですね!参考にさせていただきます。
0779nobodyさん
2008/04/06(日) 10:06:04ID:???if($aaa){
処理
}
はわかるのですがこの逆のはどう書くのでしょうか?
つまり$aaaがなければ、というときです。
0780nobodyさん
2008/04/06(日) 10:08:28ID:???if(!$aaa){
処理
}
0781nobodyさん
2008/04/06(日) 11:45:52ID:???for ( $no = 1; $no <= 3; $no++){
print '<img src="img/abc[$no].JPG">';
}
としましたが、ソースを開くと<img src="img/abc[$no].JPG">が3つ書かれているだけでした。
0782nobodyさん
2008/04/06(日) 12:09:54ID:???慣例的には$i、ネストしてるときは中のは$jなどと表記する
で、配列は0から始まるのでたぶん開始は0だろ
for ($i = 0; $i < 3; $i++) {
"<img src=\"img/{$abc[$i]}.JPG\">";
}
といった具合に>>2の5番のように書くか、
シングルクオテーションで書きたいなら、一度抜けて変数をくっつける
'<img src="img/' . $abc[$i] . '.JPG>';
""のエスケープが面倒なのはわかるが
シングルクオテーションは返って使いにくい場合もある
0783782
2008/04/06(日) 12:16:09ID:???ダブルクオテーション中になら普通に$noとかけるぞ
でも{}で囲むの推奨
シングルで書きたいなら>>782の通り
0786nobodyさん
2008/04/06(日) 13:05:47ID:???ダブルコロン、スコープ定義演算子、トークなどと呼ばれているそうなのですが、一体何を意味しているのでしょうか?
0787nobodyさん
2008/04/06(日) 13:07:26ID:???そこまで知ってるなら分かりそうなもんだがw
http://jp.php.net/oop
0788nobodyさん
2008/04/06(日) 13:29:33ID:???0789nobodyさん
2008/04/06(日) 13:51:06ID:???ヒアドキュメントステートメントで syntax error, unexpected $end が出るならここの警告を参考に。
http://docs.php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc
これと違うならエラー内容とソースを教えてね
0790nobodyさん
2008/04/06(日) 15:17:34ID:???レンタルサーバはPHP Version 5.2.0 ・開発環境はXAMPPの最新版+winXP
テキストファイルもわすれずアップロードしてるんでやっぱりパーミッションに問題があるんでしょうか・・・
設置場所は特に制限は無いです。
0791nobodyさん
2008/04/06(日) 15:33:03ID:???まず読み込んでvar_dumpしたり
ちゃんと読み込んでるかテストする努力はしないの?しないのね、わかった
0792nobodyさん
2008/04/06(日) 16:07:04ID:???0793nobodyさん
2008/04/06(日) 16:41:51ID:???0794nobodyさん
2008/04/06(日) 16:42:25ID:???0795nobodyさん
2008/04/06(日) 17:07:00ID:???0796nobodyさん
2008/04/06(日) 17:55:28ID:???echo "やらないか?";
}
0797nobodyさん
2008/04/06(日) 18:00:31ID:Y8ah/cU4$sv = "サーバー";
$dbname = "DB";
$user = "ユーザー";
$pass = "パスワード";
$conn = mysql_connect($sv, $user, $pass) or die("接続エラー");
mysql_select_db($dbname) or die("接続エラー");
$sql = "CREATE TABLE test_tbl(id int(8) primary key, name varchar(200),time varchar(200),check varchar(200))";
$res = mysql_query($sql, $conn) or die("作成エラー");
上記ではテーブルが作れず「作成エラー」となってしまいます。
どなたか教えてください。。。
0798nobodyさん
2008/04/06(日) 18:04:27ID:???↓
die(mysql_error());
まぁクリエイト文が間違ってるんだろ
0799nobodyさん
2008/04/06(日) 18:04:41ID:???まずマニュアル
http://www.php.net/manual/ja/function.mysql-query.php
ここ読んでエラー取得しる
DBに対して権限無いとかじゃないだろうね
0800nobodyさん
2008/04/06(日) 18:12:30ID:???0801nobodyさん
2008/04/06(日) 18:16:25ID:???面白半分でもそういうこと書くなよ
本当に晒して誰かがアクセスしたらどうする気なんだ?
不正アクセス幇助してるようなもんだろ
0802nobodyさん
2008/04/06(日) 18:20:35ID:???0803nobodyさん
2008/04/06(日) 18:32:29ID:???802のちんこの小ささにワラタ
0804nobodyさん
2008/04/06(日) 18:41:56ID:???$data = fscanf($fp, "%s,%d,%d,%d");
print_r ($data);
----
ファイルの内容
abc,1,2,3
----
出力
Array
(
[0] => abc,1,2,3
[1] =>
[2] =>
[3] =>
)
配列にちゃんと入ってくれないです。なんで?
0805nobodyさん
2008/04/06(日) 18:48:33ID:???「fscanfがおかしいです。」
0806nobodyさん
2008/04/06(日) 18:54:27ID:???>>804
おかしいのは fscanf だけだろうか。
$data = sscanf('abc,1,2,3', "%s,%d,%d,%d");
var_dump($data);
0808nobodyさん
2008/04/06(日) 19:04:33ID:???間違えました。
array(4) {
[0]=>
string(9) "abc,1,2,3"
[1]=>
NULL
[2]=>
NULL
[3]=>
NULL
}
になりました。
0809804
2008/04/06(日) 19:13:00ID:???おかしかったのは私の頭でした
0810804
2008/04/06(日) 19:13:56ID:???よくわからないけど、最初からファイル作るところからやり直しです。
0811nobodyさん
2008/04/06(日) 19:22:47ID:???%sが"abc,1,2,3"に反応してるだけ
"%[a-z],%d,%d,%d"とか書けばいけるんでないの?
試してねーけど
0812804
2008/04/06(日) 19:37:26ID:???array(4) { [0]=> NULL [1]=> NULL [2]=> NULL [3]=> NULL }
になりました。
PHPはカンマ区切りでsscanfができなアホの子ということでしょうか。
0814804
2008/04/06(日) 19:38:46ID:???また間違えました。[z-z]に打ち間違えました。
array(4) { [0]=> string(3) "abc" [1]=> int(1) [2]=> int(2) [3]=> int(3) }
ちゃんと入りました。
ごめんねPHP。
0815nobodyさん
2008/04/06(日) 19:41:11ID:???0817nobodyさん
2008/04/06(日) 20:23:29ID:???知識積んでいけば最初は糞汚くても徐々に綺麗になっていく
いずれにしても時間かけないと駄目だ
0818nobodyさん
2008/04/06(日) 20:55:14ID:???file(source.php)ではできないようですが・・・。
0819nobodyさん
2008/04/06(日) 20:57:59ID:???ソースが読み込めたら大変な事になると想いませんか?
0820nobodyさん
2008/04/06(日) 21:23:34ID:???そうですか。
では、別の場所で定義した関数を別の場所で表示する事はできますか?
これだと何も表示されなくて困っているのですが。
<html><body>
<?php function hoge(){ echo "I love php"; } ?>
<h1>hogeと出力します。</h1>
<?php
hoge();
?>
</body></html>
0821nobodyさん
2008/04/06(日) 21:28:22ID:???0823nobodyさん
2008/04/06(日) 22:50:32ID:???イメージ的には、
// エクスポート
$arr = array(10,20);
$fp = fopen("hoge.dat", "w");
fwrite($fp, $arr);
flocse($fp);
// インポート
$tmp = file("hoge.dat");
$arr = hoge($tmp); // hoge関数はインポートする関数。そういうのがあるのか知らないですが。。
0824nobodyさん
2008/04/06(日) 22:55:36ID:???0825nobodyさん
2008/04/06(日) 22:56:10ID:???使ったことはないけど。
http://jp2.php.net/manual/ja/function.serialize.php
0826nobodyさん
2008/04/07(月) 01:31:39ID:HAJ8ltXQを
1文字ずつ切り出して配列に入れたいのですが、
その用な関数ってあるのでしょうか?
0827nobodyさん
2008/04/07(月) 01:38:40ID:???ちなみにそのまま$number[0]でもアクセスできるけどね
0830nonono
2008/04/07(月) 03:51:34ID:s+jMxqnz$body = "あいうえおabc";
とあれれば
$body = "あ\い\う\え\お\a\b\c\"
と変換したいのですが
どうすればよいのですか?
お願いします。
0831nobodyさん
2008/04/07(月) 10:19:04ID:???forでまわして各配列に\を追加
あとは配列をくっつける
0832nobodyさん
2008/04/07(月) 11:37:21ID:???0833nobodyさん
2008/04/07(月) 12:18:12ID:AYrwwGs/ちょっと分からなかったんで質問させてください。
mb_send_mailでメール送信する場合、その後popenする必要ってありますか?
もらったコードには入ってるんですが、どこにもpcloseは無いし、
これって不要では?と思って外してみたんですが、それでも普通にメールが送信されます。
でも何か意味があってしてるのかもしれないので、メール関数を使った後に
プロセスをオープンしておく理由があれば教えてください m(_ _)m
0834nobodyさん
2008/04/07(月) 13:36:17ID:nVWcjk0/その結果を使いたいんですが
mysql_fetch_object($n);などを使っても
複数該当した内の一番最初の行しか
表示されてないようなんですが
全ての行を表示するにはどうしたらいいでしょうか。
環境
データベースはMySQL でレンタルサーバland.toに
PHPをうpして使っています
PHP文
<?php
$connect = mysql_connect("localhost", "(ディレクトリ名)", "(パスワード)") or die ("サーバに接続できません");
mysql_select_db("(ディレクトリ名)",$connect) or die ("データベースに接続できません");
$sql = 'SELECT * FROM `img` where sex = 0 LIMIT 0, 30';
for($i=0; $i<2; $i++){
$n = mysql_query($sql, $connect) or die ("クエリーを実行できません");
$r = mysql_fetch_object($n);
mysql_close($connect);
print $r->name;
}
?>
よろしくおねがいします。
0835nobodyさん
2008/04/07(月) 13:49:55ID:???0836nobodyさん
2008/04/07(月) 14:04:24ID:???Xoopsは、gdgdっぽいし、何かお勧めは無いでしょうか?
0837nobodyさん
2008/04/07(月) 14:05:32ID:EvBdHmft0838nobodyさん
2008/04/07(月) 14:18:32ID:???0839nobodyさん
2008/04/07(月) 14:31:04ID:???mb_send_mail() と popen() の間に直接の関連性はないよ。
どんな理由でコマンドを実行してるのかは前任者や実装した人に聞くべき。
>>834
for ステートメントの中で毎回クエリを発行し直してるせい。
mysql_query() と mysql_close() をループの外に置こう。
0840nobodyさん
2008/04/07(月) 14:36:27ID:???なめてんのか
0841833
2008/04/07(月) 14:36:28ID:???ありがとうございます!
そうですよね、直接聞いてみるべきでした。
でもやっぱり直接関連性がないことが分かって良かったです。
0842nobodyさん
2008/04/07(月) 14:51:21ID:Uht2ZkVVforeachの出力の時に
1位
0843nobodyさん
2008/04/07(月) 14:52:35ID:Uht2ZkVVforeachの出力の時に
1位 100点
1位 100点
1位 100点
4位 99点
5位 85点
5位 85点
7位 0点
と順位を計算するにはどういう式がいいのでしょうか?
0844nobodyさん
2008/04/07(月) 14:53:40ID:???0845nobodyさん
2008/04/07(月) 15:03:40ID:???$ranking = "0";
foreach( $arrya_ranking as $key => $value)
{
$counting++;
if($compare_value != $value)
{
$ranking = $counting;
}
echo $ranking . "位\n";
$compare_value = $value;
}
???
0846nobodyさん
2008/04/07(月) 15:15:09ID:???0848806
2008/04/07(月) 17:31:04ID:???単純に最初の %s が全部食ってるだけだと理解してもらう前に
「sscanfもおかしいです。」を期待したんですけどね。
0849nobodyさん
2008/04/07(月) 21:18:56ID:???php.ini または ini_set() で設定できる以下パラメータについて疑問があります。
session.gc_probability
session.gc_divisor
session.gc_maxlifetime
session_start() した瞬間に、probability / divisor の確率で、無効なセッションの掃除が行われることはわかりました。
掃除されていないセッションファイルが残ったまま、maxlifetime を過ぎたセッションにアクセスした場合、このセッションは有効なのでしょうか。
maxlifetime の設定さえしておけば、この時間を越えて有効なセッションが存在してしまうことはないと考えてよいのでしょうか。
0851nobodyさん
2008/04/08(火) 01:02:02ID:0iu/inKG画像アップロード機能つきブログっぽいものを作ってます。
画像ファイル名をセッションIDで決めてます(md5(session_id())
初期画面→アップロード確認画面→確定と遷移させており、
アップロード確認画面にサムネイルを表示したい(Mixiみたいなかんじ)
ので、その時点で既にサーバ上にファイルを置いてます。
そこで確定押されたらそのままで問題なし、
キャンセルを押されたらサーバ上のファイルも削除とすればいいのですが、
そこでブラウザ毎閉じられた場合サーバ上に行き場のないファイルが残ってしまいます。
こういうのを感知する方法というかパッケージみたいなのはあるのでしょうか?
0852nobodyさん
2008/04/08(火) 01:06:53ID:???0854nobodyさん
2008/04/08(火) 04:34:53ID:???ext/session/session.c を分かる範囲で読んでみたが、
session_start() 内でセッション内容を復元してから
GC が働くようになっていた。
考えりゃ名前の通り GC の挙動に対するオプションだし、
セッションの有効期限を保証するもんじゃないな。
自前のセッションハンドラ用意して面倒見るぐらいしか思いつかない。
>>851
お掃除スクリプト組んで
そのアップロード処理時なり cron なりで呼び出す。
0855nobodyさん
2008/04/08(火) 07:05:28ID:j9RtxrkrサーバーサイドでXMLをXSLTを用いて変換し、出力結果のみを表示させたいのですが、
このようなプログラムはPHPを使えば作成可能でしょうか?
具体的な作成方法はこれから自分で学ぼうと思っているので、
可能なのかどうかだけでも教えていただければさいわいです。
よろしくお願いします。
0856nobodyさん
2008/04/08(火) 07:23:40ID:???PHP側でXMLを読み込んで自分で好きに整形して表示したほうが簡単だしいいと思うが
0857nobodyさん
2008/04/08(火) 07:30:38ID:???0859849
2008/04/08(火) 12:56:47ID:???ソース読んだ。なるほど。
gc_maxlifetime 自体、probability に引っかかった後にしか参照されていないのね。。。
セッションファイル読み込み前に検証してくれりゃあいいのに。。。
しっかし、こういう事を調べたいときに、ソースのどこを読むべきなのか、それが良くわからん。。。
0860nobodyさん
2008/04/08(火) 15:36:08ID:???Fromヘッダを指定してメールを送ると
SMTP server response: 501 Syntax error in parameters scanning "From" in C:\xampp\htdocs\php\mail.php on line 21
とエラーメッセージが出てしまうのですが、原因とか分かる方いますか?
メール送信部分のソースは以下な感じです。
$headers = 'From: hoge@example.com' . "\r\n" .
'Reply-To: hoge@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mb_send_mail ($_POST['email'], "件名", "本文1行目\n本文2行目\n", $headers);
よろしくお願いします。
0861855
2008/04/08(火) 15:51:44ID:j9Rtxrkrそんなこともできるんですか・・・参考にします。
>>857
PHPの方が将来性があるような気がするので、
PHPで頑張ってみることにします。
0862nobodyさん
2008/04/08(火) 16:02:03ID:???PHPにてオープンソースのImage_graphってものを使いサンプルのグラフを作成しました。
サンプルの実行例を見る限り、タイトル、メモリの数字などは表示されています。
ですが、実際はグラフは表示されるが、タイトルやメモリが表示されていません。
オープンソースなだけに同じように例が見当たりません。(円グラフの場合、項目名が表示されないのは発見)
どこが駄目かわかる方がいればご教授願えないでしょうか?
ソース:
http://pear.veggerby.dk/samples/code/id/log_axis_low/
以上、よろしくお願いします。
0866nobodyさん
2008/04/08(火) 18:22:50ID:EAGbfhcMリンゴ
└青
└赤
みかん
と表示させたいのですが、上手くできません。
以下のソースについて指摘いただければと思います。
$array = array("バナナ","リンゴ","みかん");
$array[1] = array("赤","青");
for($i=0;$i<count($array);$i++){
// 配列の場合
if(is_array($array[$i])){
echo $array[$i]."<br>";
foreach($array[$i] as $value){
echo "└".$value."<br>";
}
// 変数の場合
}else{
echo $array[$i]."<br>";
}
}
0867nobodyさん
2008/04/08(火) 18:27:15ID:???同じ変数名使ってるから変になる
$array = array("バナナ","リンゴ","みかん");
$array[1] = array("赤","青");
ってやった時点で
その配列は
array("バナナ",array("赤","青"),"みかん");
になる
0868860
2008/04/08(火) 18:45:06ID:???レスありがとうございます。
21行目というのは
mb_send_mail ($_POST['email'], "件名", "本文1行目\n本文2行目\n", $headers);
の行になります。
>>864
見てみたのですが、違いがいまいちわかりません・・・。
ネット上で関数のリファレンス、サンプルコードなどもいくつか確認しましたが、呼び方も同じようです。
Googleで検索したところ、以下の方が同じ症状なのですが、結局解決には至っていないようです。
メッセージが送信できない - PHPプロ!Q&A掲示板
http://www.phppro.jp/qa/818
Windows環境のPHPでRadishをSMTPサーバに使ってメール送信プログラムを動かせている人とかっていませんでしょうか?
0869nobodyさん
2008/04/08(火) 18:53:09ID:???いっぱい居る
0871nobodyさん
2008/04/08(火) 19:11:31ID:???http://jp2.php.net/manual/ja/function.mb-send-mail.php
ヘッダを \r\n で区切って食わせろとは書かれてない。
>>866
$fruits = array("バナナ","リンゴ","みかん");
$attrib = array('', array('赤','青'), array('冷凍'));
ロジックそのままで、変数名だけをこれに合うように書き換えて試してみよう。
0872860
2008/04/08(火) 19:32:59ID:???ありがとうございます。
実際に詳しく解説しているサイトなどあったら教えていただけないでしょうか?
>>870
メールアドレスは実際には送受信可能なものを指定しています。
さっきのURLではそれで解消されたように書いてあったのですが、私の環境では変わらないのです。
>>871
おおっ!それは気付きませんでした。
が、
$headers = 'From: foobar@gmail.com';
mb_send_mail ($_POST['email'], "件名", "本文1行目\n本文2行目\n", $headers);
のように変えてみたのですが、やはり同じく
SMTP server response: 501 Syntax error in parameters scanning "From"
が表示されてしまいます・・・。
0873nobodyさん
2008/04/08(火) 19:40:28ID:???マニュアルを読め
PHPと関係なさ過ぎる
0876860
2008/04/08(火) 20:20:38ID:???>>874
Radish自体はデフォルトの設定(解凍して起動しただけ)の状態で、メールクライアントでのメール送信テスト(localhost:25を指定)は行っています。
そちらのテストでは正常に送信できていました。
php.iniにも以下を設定しており、Radishを落としている時はタイムアウトしたため、SMTPサーバとの疎通というよりは
PHPでのmail関数の使用法に問題があるのかと思い質問させて頂いたのですが・・・。
SMTP = localhost
smtp_port = 25
0878860
2008/04/08(火) 21:42:25ID:???いろいろ試してみたところ、php.iniのsendmail_fromのコメントアウトを解除したところ、無事メールが送信できるようになりました。
この設定はデフォルトというだけで、メールヘッダの方でFromを指定すれば問題ないと思っていたのですが、Windowsの場合必須なんでしょうか?
この設定を有効にした上で、第4引数でFromヘッダに任意のメールアドレスを指定するとちゃんとそのアドレスで送信されるようになりました。
お騒がせしました。
0879nobodyさん
2008/04/08(火) 22:02:00ID:tayW9iIoPHPから別のPHPを実行させる為に、PHPのexce関数を使用しています。
WindowsXP上のサーバ環境で問題なく実行できます。
ところが、WindowsVista上のサーバ環境では、exce関数から別のPHPを実行する事ができません。
OSのセキュリティ関係が影響しているのではと思うのですが、原因を掴めていません。
WindowsVistaで、exce関数からPHPを実行させる方法を知っている方いましたら教えて下さい。
0880nobodyさん
2008/04/08(火) 22:03:01ID:???0881879
2008/04/08(火) 22:32:44ID:tayW9iIo0882nobodyさん
2008/04/08(火) 23:20:24ID:???きもち悪い動きだねぇ。
自分は PHP5.2 / WinXP Homeで SMTP/POPはXMAIL を使ったテスト環境作ってるけど、
sendmail_from はコメントアウトされたままでメール送信できてる。
0883nobodyさん
2008/04/08(火) 23:29:53ID:???php.iniで補完されて通るようになっただけだと思われ
まぁPHPとは関係ないな
0884nobodyさん
2008/04/09(水) 00:32:42ID:???解決策を!
0885nobodyさん
2008/04/09(水) 00:57:57ID:zhyjL3fT["hoge1"]=>
array(9) {
["comment"]=>
string(4) "aiue"
["IP"]=>
string(13) "xxx.xxx.xxx.xxx"
["hoge2"]=>
array(9) {
["comment"]=>
string(4) "aiue"
["IP"]=>
string(13) "xxx.xxx.xxx.xxx"
みたいな構成の場合にhoge1とhoge2を取得したいのですが、どのようにすればよりですか?
0886nobodyさん
2008/04/09(水) 01:01:17ID:???取り出す条件は何よ
foreachでkey取り出せばいいって話じゃなくて?
マニュアル:foreach
http://www.php.net/manual/ja/control-structures.foreach.php
0888862
2008/04/09(水) 01:28:27ID:???おかしいですね、ソースはそのままなんですけど・・・。
もしかしたらサーバの設定が間違ってしまったのかも・・・。
一度見直してみます。
ありがとうございました。
0889nobodyさん
2008/04/09(水) 02:15:28ID:yG4BsjHJ画像のアップローダを作っていて、「A.jpg」と名づけて保存された写真に対して、
「A.jpg」という同じ名前で上書きアップロードをしています
で、その上書き保存はうまくいくんですが、どういうわけか画像のプレビューページに
戻ると古いA.jpgが表示されています
どうしたらいいでしょうか? リロードすると新しい画像になるのでキャッシュかなと
思うんですが、そのページに対して、キャッシュを保持させないような関数など
あるでしょうか?
もしphpの問題でなく、apacheの設定の問題だとしたら、申し訳ないですが
その場合でもご意見もらえたら嬉しいです お願いします
環境はphp5、apache2です
0890nobodyさん
2008/04/09(水) 02:24:15ID:???PHPに関する質問をお待ちしております
0891nobodyさん
2008/04/09(水) 02:35:39ID:???埼玉県警本庄署は8日、中学で同級生だった高校2年の女子生徒(16)に「レイプしますよ」などとメールを送ったとして、脅迫の疑いで同県立高校2年の男子生徒(16)=本庄市=を逮捕した。調べに「間違いありません」と容疑を認めているという。
調べでは、男子生徒は昨年10月から11月にかけて8回にわたり、別の県立高校に通う女子生徒の携帯電話に「暴行しますよ」「日時が決まりました」などとメールを送った疑い。
男子生徒は、自分のアドレスが特定されないよう、別のアドレスに変換してメール送信できるサイトを利用していたが、アクセス記録などから発覚した。
0892nobodyさん
2008/04/09(水) 02:38:59ID:???警察が照会した
0893nobodyさん
2008/04/09(水) 02:44:54ID:???警察に弱みでも握られているのかよ。
0894nobodyさん
2008/04/09(水) 03:22:59ID:???なんで犯罪者をまもらなきゃいけないのかと・・
0895nobodyさん
2008/04/09(水) 03:29:39ID:???0896nobodyさん
2008/04/09(水) 05:20:12ID:???普通の人間は警察の捜査には素直に協力するだろ
0897nobodyさん
2008/04/09(水) 05:26:00ID:???いまどきダッセー
0898nobodyさん
2008/04/09(水) 05:35:49ID:???警察を explode() して配列に格納したいとかそんな用事か?
0900nobodyさん
2008/04/09(水) 11:17:42ID:???DOMスクリプティングはPHPでもできますか?
0901nobodyさん
2008/04/09(水) 11:29:11ID:???0902nobodyさん
2008/04/09(水) 11:39:41ID:???PHP関係ないしww
0904nobodyさん
2008/04/09(水) 13:19:57ID:???PHPでDOMを生成することはできるけど。
0905nobodyさん
2008/04/09(水) 15:38:30ID:???普通に考えればわかるだろ。
メールのアドレスを偽る(fromヘッダーとかの話だと思うけど)
送信経路も違う形にしても、結局使っていたサイトのアクセスログに
利用者のIPアドレス、ホストが出てくるからその時間帯に割り振られていた
地域と、ISPへの接続用ID/PWを調べれば即わかるって
0906nobodyさん
2008/04/09(水) 15:49:11ID:hapnZShVDBにセッションIDとか時間とか記憶させてるけど
後で何に使うの?
0907nobodyさん
2008/04/09(水) 16:11:10ID:???0908nobodyさん
2008/04/09(水) 21:23:51ID:???0909nobodyさん
2008/04/09(水) 21:39:41ID:???0910nobodyさん
2008/04/09(水) 23:45:32ID:???0911nobodyさん
2008/04/09(水) 23:57:05ID:???0912nobodyさん
2008/04/10(木) 01:19:01ID:???ってか、プロバイダーまでグルかよww
昔、ベッコウアメインターネットっていう会社があってけど、
警察から捜査要請があっても断っていた。
プロバイダー責任法とかで、警察に弱みを握られているんだろうな。
0913nobodyさん
2008/04/10(木) 01:34:37ID:???0914nobodyさん
2008/04/10(木) 01:46:15ID:???よう今日の俺。
自分が先にブチ込んだとは言え、
妊娠させるっていう本能的な目的を達成できなかったっていう
負け組感が心のどこかで微かに沸く気がする。
つーかどこの誤爆なんだww
0916nobodyさん
2008/04/10(木) 02:37:53ID:rhHoOlQnその辺りの処理はどのように書けばいいでしょうか?
0918nobodyさん
2008/04/10(木) 02:56:42ID:???日本語読めますか?
0919916
2008/04/10(木) 02:58:51ID:rhHoOlQnアルゴリズム的なところが分からないのですけど。
ファイルを開いて、そのファイルの所定の位置に文字列を挿入する
という処理がしたいと思っています。
簡単に、どのようなソースを書けば、そのようなことが出来るでしょうか?
0921916
2008/04/10(木) 03:23:23ID:rhHoOlQnfgetsで一度ファイルの内容をすべて変数に格納してから
書き出すということを考えたのですが、
もうちょっと簡単に処理する方法はないでしょうか?
0922nobodyさん
2008/04/10(木) 03:27:55ID:???0923916
2008/04/10(木) 03:37:04ID:rhHoOlQnすみません。
マニュアルは見てますが、
私がやりたい項目が見つかりません。
0925nobodyさん
2008/04/10(木) 04:01:12ID:???もうちょい具体的に書いてくれ
0926nobodyさん
2008/04/10(木) 08:12:34ID:wqutz9kO$hoge = $DB->qstr($_GET['hoge'])
とすると、適切にクオートして、引用符で囲んでくれますが、
このままだと LIKE '%$hoge%'
のように使うことができないのですが・・・
どのようにすればよいのでしょうか?
よろしくお願いします。
0927nobodyさん
2008/04/10(木) 08:16:32ID:???クオートするまえに%を付け足せばいいだけでした・・・
よく考えずに質問してしまって申し訳ありません;;
0928927
2008/04/10(木) 08:17:28ID:wqutz9kOスレを汚してしまって申し訳ありません;;
0930nobodyさん
2008/04/10(木) 08:54:53ID:???1.対象ファイルをオープンする
2.tempファイルを作りオープンする
3.対象ファイルから1行読み込む
4.tempファイルに読み込んだ1行を書き出す
5.3-4を目的行まで繰り返す
6.対象ファイルからある行を読み出し、追加する
7.3-4を最後の行間で繰り返す
8.2つのファイルをクローズする
9.対象ファイルをリネーム
10.tempファイルを対象ファイル名にリネーム
11.リネームした対象ファイルを削除。
実際には1-11の途中で止まってしまっう事も考えて
フラグをセットしておくとか、1-11の処理が同時に
行われないようにするとかの処理が必要。
0931nobodyさん
2008/04/10(木) 09:26:30ID:???0932nobodyさん
2008/04/10(木) 09:37:53ID:???0933nobodyさん
2008/04/10(木) 09:41:59ID:???0935nobodyさん
2008/04/10(木) 10:20:23ID:???全読み込み→キーを挿入したい文字列に置換→上書き
ってすれば楽。置換後の文字列にまたキーを入れておけば
次回以降も同じ処理で追記できるべ。
0936nobodyさん
2008/04/10(木) 10:30:27ID:???どうやって?
0937nobodyさん
2008/04/10(木) 13:44:24ID:???0938nobodyさん
2008/04/10(木) 13:50:06ID:???もっといい書き方あるだろうけど
$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
$new_array = array();
$count = 0;
for ($i = 0; $i < count($array); $i++) {
if ($i == 3) {
$new_array[$i] = 0;
$count++;
}
$new_array[$i + $count] = $array[$i];
}
print_r($new_array);
$arrayはfileで読み込んだ配列ってことで
$array[3]に0を挿入した新しい配列を作るプログラム
この部分を関数にして引数で渡せば外部ファイル使う必要がないかな
0939nobodyさん
2008/04/10(木) 14:09:04ID:???でOK
0941nobodyさん
2008/04/10(木) 14:27:18ID:???$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
$newArray = array();
foreach($array as $key => $value) {
if ($key == 3) {
array_push($newArray,0);
}
array_push($newArray,$value);
}
var_dump($neArray);
0942nobodyさん
2008/04/10(木) 14:38:51ID:???0943nobodyさん
2008/04/10(木) 16:17:50ID:???これありなの?
if (なんたら){
なんたら
} else {
function hoge(){
なんたら
}
略
$a = hoge();
以下略
}
0944nobodyさん
2008/04/10(木) 16:35:54ID:???ビギナーがやりそうだな
0945nobodyさん
2008/04/10(木) 17:11:08ID:???やればいいよ派
┣ファイルストリーム使うよ派
┃┣壊れるのは嫌だよ派(保守派)
┃┃┣処理がアトミックかどうかはFSに依存する(要出展)(ウィキペディア)
┃┃┗ソ連では、ファイルがお前をロックする!(アンサイクロペディア)
┃┗壊れてもいいよ派(過激派)
┃ ┗タロウくん壊れる訳がないよ派(無防備マン)
┗配列使うよ派
┣結果が同じならどうでもいいよ派(富豪プログラミング派)
┣配列の何が問題なのか分からないよ派(ゆとりプログラミング派)
┗問題が出てから対処するよ派(遅延プログラミング派)
しなくていいよ派
┣それは本当に必要なのか考えるべきだよ派(歴史修正主義派)
┣つかなんでこうするの?派(質問に質問で答えると0点だよ派)
┗やらずに済む方法を探すよ派
┣スレ違いだよ派(プログラム板派)
┣誰かに作ってもらうよ派(Web製作板派)
┗やっぱりペチパーには任せられないよ派(島根県松江市板)
マニュアル読めばいいよ派
┣マニュアルは最高だよ派(原理主義派)
┣マニュアルは嘘ばかりだよ派(PHP bugs も bogus ばかりだよ派)
┣User Contributed Notes は最高だよ派(二次創作派)
┗User Contributed Notes がないよ派(三流製作会社の SEO だよ派)
0946nobodyさん
2008/04/10(木) 17:16:41ID:???$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
$newArray = array();
foreach($array as $value) {
if ($key == 3) $newArray[] = 0;
$newArray[] = $value;
}
var_dump($newArray);
0947nobodyさん
2008/04/10(木) 17:17:09ID:???を追加してくれ
0948946
2008/04/10(木) 17:18:13ID:???○if ($value == 3)
0949nobodyさん
2008/04/10(木) 17:51:20ID:???NGでもなんでもない。
>>943では関数定義が実行時に評価されるって話だ。
if (false) { function hoge() {} }
var_dump(function_exists('hoge'));
0951nobodyさん
2008/04/10(木) 18:03:06ID:???ttp://www.php.net/manual/ja/language.functions.php
0952nobodyさん
2008/04/10(木) 18:07:27ID:???修正後でも結果が変わると思うが?
916の指定行に値を追加したい
というのに対しての回答が938
その回答が941であって
やるならこうだろ
$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
$newArray = array();
foreach($array as $key => $value) {
if ($key == 3) {
$newArray[] = 0;
}
$newArray[] = $value;
}
var_dump($newArray);
0953nobodyさん
2008/04/10(木) 18:19:38ID:???0954nobodyさん
2008/04/10(木) 18:38:42ID:F/t4zGMj読みにくい。これだからプログラムしかしてない人はだめだね
0955nobodyさん
2008/04/10(木) 18:45:30ID:fx+O7o8h動作するのは分かってるんだけど、可読性とかの意味でどうなのかと。
あと、わざわざ実行時評価にする意味がある場合があるのかな?
まあ、俺のところで使ってるやつは特に考えずにやったっぽいけど。
0957nobodyさん
2008/04/10(木) 19:56:50ID:???0958nobodyさん
2008/04/10(木) 19:59:49ID:???考えないキモメンが考えそうなコードだなw
0959nobodyさん
2008/04/10(木) 20:01:57ID:???こんなあいまいな質問の仕方なら
この展開もおかしく無いだろ
・言語構造として可能なのか
・実運用としてありなのか
ちゃんとした答えが必要なら、ちゃんとした質問を用意するって基本だろ
0960nobodyさん
2008/04/10(木) 20:13:40ID:???細かい技術的なことを気にするよりも、市場調査をしっかりして、
きちんとしたコンセプトを考える方が大事。
企画書なのに5ページも10ページも書いてくる奴は馬鹿。
0962nobodyさん
2008/04/10(木) 20:40:55ID:???「fscanfがおかしいです。」
0963nobodyさん
2008/04/10(木) 21:25:17ID:???うちにも居るよ、
スパゲティコードしか書けないくせにプライドだけは
一人前のキモイ香具師、指摘すると青筋たててマニュアルを
持ち出すのなww
0964nobodyさん
2008/04/10(木) 21:31:49ID:???0965804
2008/04/10(木) 22:11:12ID:???0966nobodyさん
2008/04/10(木) 22:42:47ID:???0967nobodyさん
2008/04/11(金) 03:48:55ID:iBavl2hjif (なんたら){
function hoge(){
なんたら1
}
} else {
function hoge(){
なんたら 2
}
}
$a = hoge();
ってのなら昔やったことあるが
0968nobodyさん
2008/04/11(金) 04:29:31ID:???0969nobodyさん
2008/04/11(金) 06:26:31ID:???0970nobodyさん
2008/04/11(金) 06:29:54ID:???トリップもOKにしようぜ派と
IDしかダメ派で
争ってるとこだろ
IDしかダメ派の理由が曖昧すぎるけどな
0971nobodyさん
2008/04/11(金) 06:41:48ID:???【PHP】下らねぇ質問はここに書き込みやがれ 67
http://pc11.2ch.net/test/read.cgi/php/1207863515/
0972nobodyさん
2008/04/11(金) 06:46:53ID:???0973nobodyさん
2008/04/11(金) 07:24:05ID:???これは泣ける
俺がmb_decode_numericentityで文字列最後に"&&&"とか"&&&&&"とか&が奇数続くと
一個&が減らされるってバグも通じなかったのか無視されてる
これがもし開発者の目にとまったら無念を晴らしてくれ
0974nobodyさん
2008/04/11(金) 09:40:17ID:???0975nobodyさん
2008/04/11(金) 10:52:45ID:Krf8JFLU円グラフのマーカーの表示位置を基本は円グラフの中で、
表示出来ない場合(枠に文字列が重なるとかの理由で)は円グラフの外に表示し、
外に出た場合も文字列が重ならない(5%とかの小さいやつとか同士とかで)ようにする方法はあるのでしょうか?
Image_Graph_Marker_Pointing_Angularとかを調べてみたのですがそれっぽいのが見当たりませんでした。
わかるかたがおられたらお願いです、教えてください。
PHP Version:4.3.9
0976nobodyさん
2008/04/11(金) 11:33:10ID:Voj+sZUVこれみたいに、ソースを表示させるためにはどうすればいいですか?
0977nobodyさん
2008/04/11(金) 11:40:07ID:???0979nobodyさん
2008/04/11(金) 12:45:21ID:Voj+sZUV0980nobodyさん
2008/04/11(金) 12:51:48ID:???文字サイズから高さと幅を計算して、
重なるかどうかをチェックするしかないんじゃない?
重なった分だけずらせば重ならなくなる。
0981nobodyさん
2008/04/11(金) 12:57:17ID:+Zr/2VQaarray_multisort()だと機械的にソートされてしまうのですが
自然順に任意のkeyを対象に
ソートをかけるにはどうすればよいのでしょうか?
0982nobodyさん
2008/04/11(金) 13:14:07ID:???自然順の比較関数を使った関数を自分で書いてソート。
いかにもマニュアルのNotesにありそうなネタだけど...
と思って見たらやっぱりあった。
0983nobodyさん
2008/04/11(金) 13:18:31ID:+Zr/2VQareturn strnatcasecmp($a[ "キー" ] ,$b[ "キー" ]);
}
uasort($array, "fCmp");
こんなカンジでしょうか?
キーの部分は、uasort行から渡せないですよね?
0984975
2008/04/11(金) 13:32:45ID:Krf8JFLUやっぱしそこに行き着きますか・・・。
気づいてないだけで本当はあったってのを期待してたのですが・・・。
出来そうか試してみます。
0985nobodyさん
2008/04/11(金) 14:25:11ID:???一応、こんなん見つけたけど、
ttp://pear.veggerby.dk/forum/comments.php?DiscussionID=680
でもAxisにはバグがあるってのも見つけたから、いまいち自信ない。
0986nobodyさん
2008/04/11(金) 14:55:30ID:???何次元配列で、どこのキーを基準に、どうソートしたいのか分からん。
全体をまとめてソート?それとも多次元配列の構造を維持したいのか?
uksortでキーソートできるべ。
0987nobodyさん
2008/04/11(金) 15:04:56ID:+Zr/2VQa$array[] = array( "英語の名前" => "AaV", "時刻" => "1900.....")
$array[] = array( "英語の名前" => "aab", "時刻" => "1900.....")
二次元配列で 二次元目のキーを 英語でー 時刻でー 他でー と渡したいのです。
0988975
2008/04/11(金) 15:06:18ID:Krf8JFLU一度、内容をよく見てみます。
もうひとつ質問があるのですが、
円グラフのマーカーに、"XX.X%"と表示は出来るのですが、
"項目名\nXX.X%"と表示することは可能なのでしょうか?
何度も質問してすみません。
0989nobodyさん
2008/04/11(金) 15:16:53ID:+Zr/2VQareturn strnatcasecmp($a[ "キー" ] ,$b[ "キー" ]);
のところでは
0990nobodyさん
2008/04/11(金) 15:24:24ID:+Zr/2VQa"キー"の時の値を比べているんですよね?
このキーの部分を任意の値に変えるにはどのような書き方をすればいいのでしょうか?
0991nobodyさん
2008/04/11(金) 16:09:20ID:???こういうこと?
function Camp($a, $b){
global $array;
return strnatcmp($array[$a]['name'], $array[$b]['name']);
}
uksort($array, "Camp");
'name'の所を任意のキーに変えて使ってみれ。
0992nobodyさん
2008/04/11(金) 17:10:31ID:???0993nobodyさん
2008/04/11(金) 17:20:59ID:+Zr/2VQaありがとうございます。
nameの所を任意のキーで使いまわし出来るようにしたかったのです
class cSort
{
var $key;
var $dsec;
function cSort(){
$this->key = "";
$this->desc = "1";
}
function fCmp($a, $b){
$cmp = strnatcasecmp( $a[ $this->key ] ,$b[ $this->key ] );
return $cmp * $this->desc;
}
function fUasort($array){
uasort($array, array( $this, "fCmp") );
return $array;
}
} こんな風にしてみました
0994nobodyさん
2008/04/11(金) 17:25:17ID:+Zr/2VQa$cArray->key = "キー名";
$cArray->desc = "-1"; //降順昇順
$ary_result = $cArray->fUasort($ary_list);
ただstrnatcasecmpだと英語は自然になるのですが
2バイト文字が先に来て、その後英数字の自然順になるのですね
記号→ひらがな→漢字→数字→自然順英語
半角を先頭に回したいのですが、今度はコレの問題が・・・・
0995nobodyさん
2008/04/11(金) 18:14:16ID:???それは比較関数を書くしかない。
マルチバイトに文字を切り出して、
文字コードの範囲で場合分けして比較ってことになるかな。
ttp://www.unicode.org/Public/UNIDATA/Scripts.txt
ttp://www.unicode.org/charts/
一応、unicodeの場合の参考URLってことで
多分、労力の割りに報われない仕事だと思うが。
0996nobodyさん
2008/04/11(金) 18:47:23ID:+Zr/2VQaありがとございます
$cmp = strnatcasecmp( $a[ $this->key ] ,$b[ $this->key ] );
$att_a = "0"; $att_b = "0";
if( strlen( $a[ $this->key ] ) != mb_strlen( $a[ $this->key ], "UTF-8" ) ) $att_a = "1";
if( strlen( $b[ $this->key ] ) != mb_strlen( $b[ $this->key ], "UTF-8" ) ) $att_b = "1";
if( $att_a == 1 && $att_b == 0) $cmp = 1;
if( $att_a == 0 && $att_b == 1) $cmp = -1;
return $cmp * $this->desc;
単純に比較結果をひっくり返してみて、とりあえず全角が後ろにソートされたのですが
前頭に英語郡が合っても、途中に記号や全角文字が入ると
後方の全角グループに行ってしまいました。例: ABC株式会社
あくまで人間がやるような自然順を模倣しようとしているだけで
機械的やるには難しいようですね。。。。
0997nobodyさん
2008/04/11(金) 19:50:31ID:???0998nobodyさん
2008/04/11(金) 20:51:52ID:???0999nobodyさん
2008/04/11(金) 22:01:47ID:???1000nobodyさん
2008/04/11(金) 22:14:29ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。