【PHP】下らねぇ質問はここに書き込みやがれ 69
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2008/05/27(火) 18:04:33ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 68
http://pc11.2ch.net/test/read.cgi/php/1209822736/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0002nobodyさん
2008/05/27(火) 18:06:01ID:???【PHP】下らねぇ質問はここに書き込みやがれ 67
http://pc11.2ch.net/test/read.cgi/php/1207863515/
【PHP】下らねぇ質問はここに書き込みやがれ 66
http://pc11.2ch.net/test/read.cgi/php/1205655807/
【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/
0003nobodyさん
2008/05/27(火) 18:06:28ID:???■本家マニュアル 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/
0004nobodyさん
2008/05/27(火) 18:08:24ID:???1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→ http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
0005nobodyさん
2008/05/27(火) 18:08:46ID:???→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
0006(><)
2008/05/27(火) 18:57:07ID:???前すれの>>947
の質問をさせていただきました。
独自タグで
#DO#コメント#/DO#
とすれば、コメントと言う文字がドコモだけ表示させ、
#AU#コメント#/AU#
としたら、AUだけが表示させられる独自タグを正規表現で表すならばどうすればよいでしょうか?
という質問にこのようなレスをもらいました。
前すれ954:nobodyさん :2008/05/26(月) 11:04:01 ID:??? [sage]
前すれ>>947
$template = 'あなたの携帯は#AU#AU#/AU##DO#ドコモ#/DO#です。';
function filter($m) { return $m[1] == 'DO' ? $m[2] : ''; }
echo preg_replace_callback('@#([A-Z]+)#(.*?)#/\\1#@', 'filter', $template);
後は filter() 内を好きなように変えな
=========
実際にこれをホストがドコモであれば表示させるようにしたいのですが、どうしたらよいのでしょうか?
よろしくお願いします。
0007nobodyさん
2008/05/27(火) 19:09:37ID:???条件で振り分ければいいだけだろ
0008(><)
2008/05/27(火) 19:13:26ID:???よろしくお願いします。
0009nobodyさん
2008/05/27(火) 19:50:10ID:???作ってくださいはスレ違い
ていうか自分でできないならカスタムタグとかややこしいのやめなよ
0010nobodyさん
2008/05/27(火) 22:19:12ID:???0011nobodyさん
2008/05/27(火) 22:32:31ID:aRsYQ2lsWEB上で商品管理のデータベースを作成したいと思います。
DBは件数も500件以下でDB自体使用不可のサーバなのでCSVファイルで何とかしたいと思っています。
テーブル数は2個
商品マスタと商品販売履歴の2つです。
2つのCSVをキーで連結した内容をHTML表示をしたいのですが何か良いサンプルのあるページがありますでしょうか?
0012nobodyさん
2008/05/27(火) 22:40:29ID:???0013nobodyさん
2008/05/27(火) 22:47:39ID:???実際に作ってもらえませんか?
実際に作ってもらえませんか?
実際に作ってもらえませんか?
実際に作ってもらえませんか?
0014nobodyさん
2008/05/27(火) 22:52:30ID:aRsYQ2lsありがとうございます。
早速回答いただいたのですが、CGIのド素人なもんでわかりません。汗
これからCGIの勉強も兼ねているので何か良いサンプルがと思って。。。
すみません。
0016nobodyさん
2008/05/27(火) 23:15:25ID:aRsYQ2lsありがとうございます。
そう言う手もあるんですね。
ちょっと調べてみます。
0017nobodyさん
2008/05/27(火) 23:49:57ID:???0020nobodyさん
2008/05/28(水) 12:46:54ID:go49LsrYなんですかそれは
0021nobodyさん
2008/05/28(水) 13:35:28ID:???0022nobodyさん
2008/05/28(水) 13:57:55ID:???0023nobodyさん
2008/05/28(水) 14:28:29ID:RqPfU0bIそれを添付ファイルとして受け取るものを作っているのですが
悪意のあるユーザがウイルスファイル等をアップして送信してきた場合
それを確かめる方法はあるのでしょうか?
0024nobodyさん
2008/05/28(水) 14:35:11ID:???0027nobodyさん
2008/05/28(水) 17:03:01ID:???どういうコマンドかわからないといけないが、それならexecとかでできるでそ?
0028nobodyさん
2008/05/28(水) 17:30:11ID:xPg3d+eWApache1.33 (Release 10337100/API Version 19990320)
$_SERVER["HTTP_REQUEST"] が
プロトコル+ドメイン(http://*****/) を含む場合があるのですが、
どういった場合にそうなるのか、
ご存知の方いらっしゃいましたらご教授ください。
Vista + IE7のマシンでアクセスした場合に発生するようなのですが、
自分の環境では発生しません。(Vista, XP, 2000 + IE7, IE6)
003028です
2008/05/28(水) 17:56:48ID:xPg3d+eWREQUEST_URIでした (汗
0031nobodyさん
2008/05/28(水) 19:13:53ID:???フリーのを希望です よろしくお願いします
0032nobodyさん
2008/05/28(水) 19:15:12ID:???0033nobodyさん
2008/05/28(水) 19:15:23ID:???0035nobodyさん
2008/05/28(水) 21:05:23ID:WhRd6kiT「にっこっこ掲示板」ヤフーで検索してみ!「にっこっこ」でOK
新しいの誕生したよ
まだ規制ないし、色々貼れる
0036nobodyさん
2008/05/28(水) 23:00:08ID:Atkwe23Ptest.txtの内容が
echo 'test';
となっていて、別ファイルにて
<?php
readfile("test.txt");
?>
と記述すると画面上には
echo 'test';
と表示されます。これを
test
と表示、つまりファイル内に記載してあるphpを出力したいのですがどうすればよろしいでしょうか?
ご教授よろしくお願い致します
0037nobodyさん
2008/05/28(水) 23:01:04ID:???0038nobodyさん
2008/05/28(水) 23:01:37ID:???0039nobodyさん
2008/05/28(水) 23:04:10ID:???004036
2008/05/28(水) 23:23:55ID:Atkwe23Pありがとうございました。期待する動作ができました
004128
2008/05/28(水) 23:35:57ID:brAZ0jIaGET **** HTTP/1.0 の **** の部分が
$_SERVER['REQUEST_URI'] にそのまま入ってきてるだけでした。
なぜ同じような環境で、リクエストの仕方が変わってくるのかはまだ解明していませんが。
それでは失礼しました。
0042nobodyさん
2008/05/28(水) 23:48:19ID:???<data>
<log>
<date>2008/05/27</date>
<name>hoge1</name>
</log>
<log>
<date>2008/05/28</date>
<name>hoge2</name>
</log>
</data>
こんな感じの中に三つ目の<log>を入れるにはどうしたらいいのでしょうか。
今までは.logとか.datに書き込みだったのでfputs()だったのですが、
XMLにfputsするとXMLがおかしくなるみたいです・・・;
0045nobodyさん
2008/05/29(木) 02:41:16ID:???XML ドキュメントを操作したかったら
DOMDocument や SimpleXML を使いな。
$xml = '<?xml version="1.0" encoding="UTF-8"?><data />';
$data = new SimpleXMLElement($xml);
$log = $data->addChild('log');
$log->addChild('date', '2008/05/27');
$log->addChild('name', 'hoge');
echo $data->asXML();
0046nobodyさん
2008/05/29(木) 09:53:26ID:???特定文字列を置換して表示したいのですが、
どうすれば良いですか?
0047nobodyさん
2008/05/29(木) 09:54:40ID:smrRJpNe他サイトのFORMのGETの結果を取得して
特定文字列を置換して表示したいのですが、
どうすれば良いですか?
また来ます。
0048nobodyさん
2008/05/29(木) 10:38:06ID:???・特定文字列を置換
・表示
どれがわからんの?
0049nobodyさん
2008/05/29(木) 13:13:54ID:NlmBigbp[環境]
ApacheFriends XAMPP (basic package) version 1.6.6a ######
Apache 2.2.8
MySQL 5.0.51a
PHP 5.2.5 + PHP 4.4.8 + PEAR
このページ→ttp://kawama.jp/archives/2005/12/mysql_error_136.html
>ググってみても、それらしきソースは見つからない。そこでmy.iniを見てみると、
>なんだか見慣れないオプションが設定されている。
>sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
>http://www.limy.org/program/db/mysql/mysql_option.html
>↑このサイトによると、「他ベンダーのデータベースやバージョンの違うMySQLと
>の互換性の>為に使用します。詳細は不明です。」とのこと。
>とりあえずコメントアウトしてMySQL再起動してみたら、見事解決。。。
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
をコメントアウトしたいのですが、【my.ini】が見つかりません。
C:\WINDOWS\my.iniには【sql-mode=…】の記述はないし、
C:\xampp\mysql\bin\my.cnfにもそういった記述はありませんでした。
一体どこにあるのでしょうか?
0050nobodyさん
2008/05/29(木) 13:21:16ID:???0051nobodyさん
2008/05/29(木) 18:25:23ID:???configureからやり直しで再インストールするしかないですか?
0052nobodyさん
2008/05/29(木) 18:30:11ID:jCzn3hSF0053nobodyさん
2008/05/29(木) 18:34:17ID:2c4uBvQ0アミノ酸まで分解とまではいかなくても蛋白質構造が胃酸で変性しないのですか?
異常プリオンとは熱・酸に冒されないほど化学的に安定した構造なのでしょうか?
0054nobodyさん
2008/05/29(木) 19:08:32ID:???--with-gdを付けないでビルドしたんなら、そりゃconfigureからやり直しだろう
どうやってインストールしたかも書かないのはエスパー希望ですか?
0055nobodyさん
2008/05/29(木) 19:24:15ID:UIFzCbrIやり方として配列に あ〜ん を一文字づつ入れてwhileで処理する以外にスマートな方法ないですか?
事前に配列に入れておかなくても、数値のfor処理みたいに
繰り返し一周ごとに文字を あ→い みたいに進める方法があればいいんですが。
005642
2008/05/29(木) 19:28:09ID:QTbXsS7l大体はわかりましたが、
data.xmlというXMLファイルを開いて書き込むにはどうすればいいのでしょうか
0058831
2008/05/29(木) 21:10:20ID:6osKbEoJそうですかー。
正規表現も あ-ん とかないですもんね。
レスありがとうございました。
0059nobodyさん
2008/05/29(木) 21:11:35ID:???かなり無理やり
mb_language("ja");
mb_internal_encoding("sjis");
for ($i=0xb1; $i<0xde; $i++) {
echo mb_convert_kana(chr($i),"H");
}
0060nobodyさん
2008/05/29(木) 21:59:46ID:???あ-んに置き換えて質問したと予想
0062nobodyさん
2008/05/29(木) 22:24:13ID:???0063nobodyさん
2008/05/30(金) 00:36:16ID:zkzWC96Ufoo.php
<?php
if (!$_GET['foo']) header('HTTP/1.1 404 Not Found');
echo "foo is true";
?>
こう書いて foo.php にアクセスしても foo is true となってしまいます
<?php以前には何も書いてないのでheader以前の出力はないと思うんですけど。。。
0064nobodyさん
2008/05/30(金) 00:44:37ID:???0065nobodyさん
2008/05/30(金) 01:30:16ID:???0066nobodyさん
2008/05/30(金) 01:30:31ID:zkzWC96U0067nobodyさん
2008/05/30(金) 01:37:00ID:???print_r ($_GET['foo']);
0068nobodyさん
2008/05/30(金) 01:44:20ID:???でアクセス
0069nobodyさん
2008/05/30(金) 02:02:55ID:???そりゃ、header出力後に処理を継続してるんだからechoされるのは当然だと思うんだが。
404ヘッダー吐いたからと言って処理は停止したりせんよ。
0070nobodyさん
2008/05/30(金) 06:26:13ID:???0071nobodyさん
2008/05/30(金) 09:27:42ID:???0072nobodyさん
2008/05/30(金) 10:29:07ID:2R6P0FMxルートディレクトリにある.htaccessに設定したinclude_pathを
下のディレクトリにあるスクリプトが実行されたとき
そのディレクトリにある.htaccessでinclude_pathを再定義したいのですが
うまくいきません。
このようなことはできないのでしょうか?
0073nobodyさん
2008/05/30(金) 10:33:04ID:2R6P0FMx再定義したファイルが別のファイルだったという
単純なオチでした。スレ汚しごめんなさい。
0074nobodyさん
2008/05/30(金) 11:00:15ID:jYsEwVCp全く役に立たないレスばかりでした。もう、このスレには絶対に来ません。
0075nobodyさん
2008/05/30(金) 11:06:47ID:???もう来ないんじゃどうしようもないか。
俺もたぶん来ないけどな。
0076nobodyさん
2008/05/30(金) 11:13:15ID:???0078nobodyさん
2008/05/30(金) 12:42:33ID:???もうATDTくらいしか覚えてねえや
0079nobodyさん
2008/05/30(金) 16:48:45ID:Dv5a9ryj以下のように'=&'とやっているコードを見かけるのですが
どのような意味があるのでしょうか?
あるのとないのでは動作に影響があったりするものでしょうか?
$obj =& new Classname($param);
テンプレート5-18に書かれているように
パフォーマンスの目的だけで参照渡しにしているだけ
なのでしょうか。
0080955
2008/05/30(金) 16:55:17ID:83eH6Skx何か良いものってありますでしょうか?
0081nobodyさん
2008/05/30(金) 17:23:14ID:???pearのsmartIRCっていうのを使おうとしてるんですが、複数chに同時接続ってできないんでしょうか?
0082nobodyさん
2008/05/30(金) 17:23:47ID:???アップロードの処理
http://jp.php.net/manual/ja/features.file-upload.php
fgetcsv
http://jp.php.net/manual/ja/function.fgetcsv.php
0083nobodyさん
2008/05/30(金) 17:47:41ID:???環境
PHP 5.2.5
win XP
IIS
wwwrootじゃない場所にある画像を表示するために
header("Content-type: image/jpeg");
$file = "元画像";
$file2 = "新ファイル";
$img = imagecreatefromjpeg($file);
$flg = imagejpeg($img);
//$flg = imagejpeg($img,$file2);
$flg = imagedestroy($img);
というソースを組んだのですが、画像を表示できません。
imagejpegに保存先の引数を与えると、新しい画像ファイルが保存されるので
元画像を取り込めてはいるようです。
IISを使っているのですが、そこに原因があるのでしょうか?
取り込んだ画像をwwwroot以下に保存して、imgタグの参照先に直接ファイルを
指定する方法はセキュリティーの問題で使用できません。
よろしくお願いします。
0084nobodyさん
2008/05/30(金) 18:14:23ID:???ただ画像を出力するならGD不要
header("....");
$file = "/home/hoge/image.jpg";
readfile($file);
headerを送信する前に何か送ってない?
008583
2008/05/30(金) 18:25:13ID:???アドバイスどうもです、試してみます。
上記したソースのみなので、header前は何も処理していないです。
0086nobodyさん
2008/05/30(金) 18:48:03ID:???処理とかじゃなくて<?phpの前に
改行とかあってもNGなんだけど、だいぢょうぶ?
てか、えらーを確認しる
008783
2008/05/30(金) 19:03:02ID:???もちろん<?phpの前には何も書いてません。
エラーも特に出ておらず、$flg = imagejpeg($img);の前にechoとかすると
エラーが出ることは確認してます。
0088nobodyさん
2008/05/30(金) 20:07:39ID:???display_errorsの設定は?
0089nobodyさん
2008/05/30(金) 21:49:55ID:???画像を表示させるにはどうすればいいのでしょうか?
相対アドレスでひとつひとつ指定していくしかないのでしょうか?
0090nobodyさん
2008/05/30(金) 21:58:28ID:jYsEwVCpありがとう、確かにその方法があった・・・
ATコマンドマニュアル書にも書いてある・・・
でも、もう遅い・・・
今日がリリースだった・・・
遅いよおおお、もっと早く・・・
0091nobodyさん
2008/05/30(金) 22:16:16ID:???0092nobodyさん
2008/05/30(金) 22:43:51ID:???0093nobodyさん
2008/05/30(金) 23:09:04ID:???0095nobodyさん
2008/05/31(土) 09:24:49ID:rg5NRkechttp://ml.php.gr.jp/pipermail/php-users/2004-January/020601.html
0096nobodyさん
2008/05/31(土) 10:25:15ID:???そういうことじゃなくて、
クラスをnewするときに限っての話だと思うよ。
$obj =& new Classname($param);
と
$obj = new Classname($param);
の違い。
使い分ける理由はあるのか?と。
0097nobodyさん
2008/05/31(土) 10:53:26ID:???0098nobodyさん
2008/05/31(土) 14:25:14ID:???0099nobodyさん
2008/05/31(土) 14:27:10ID:VvNY8ycBselect 名前(田中) select select select
select 名前(佐藤) select select select
select 名前(伊藤) select select select
という感じで、名前の部分以外はselectで選択するようになっている。
名前の部分は、選択する必要がなく、labelで書いているんだけど、この名前もselectのものと同じように
配列で取得したいんだ
でもlabelには、元々name属性もvalue属性もないからできない
いい方法ありますか?
0101nobodyさん
2008/05/31(土) 14:46:36ID:YpR0nkCv[PHP]:Ver 4.3.11
PEARのImage_Graphを使おうとしています。
$ pear install --alldeps Image_Graph-alpha
とすると「requires PHP extension "gd"」と出るので、
$ yum install php-gd
をしました。
再度pear install --alldeps Image_Graph-alphaを実行しても
同じエラーが出ます。
どのようにしてImage_Graphを使うようにするのでしょうか?
エラーの詳細です
------------------------------------------------
[root@hoge /]# pear install --alldeps Image_Graph-alpha
pear/Image_Canvas requires PHP extension "gd"
pear/Image_Graph requires package "pear/Image_Canvas" (version >= 0.3.0)
pear/Image_Color requires PHP extension "gd"
No valid packages found
install failed
------------------------------------------------
よろしくお願いします
0103101
2008/05/31(土) 15:36:36ID:YpR0nkCv返信ありがとうございます
[root@hoge ~]# rpm -ql php-gd
/etc/php.d/gd.ini
/usr/lib/php4/gd.so
次に/usr/lib/php.iniの中の
extension_dir = "./"
に従い、
$ cp -p /usr/lib/php4/gd.so /usr/lib/
(php.iniが/usr/libの中にあり、extension_dirが./になっているので
やってみました)
php.iniに
extension=gd.so
を追加。
apacheを再起動。
/usr/lib/の中には
libgd.a
libgd.so
libgd.so.2
libgd.so.2.0.0
があります。
しかし、同じメッセージが出てしまいます
0104nobodyさん
2008/05/31(土) 15:37:05ID:???0106ノシ
2008/05/31(土) 18:34:12ID:???#COM#ランダムコメント1,区切って2,ランダム3#/COM#
とあったら
#COM# から #/COM#
まで,で区切られた文字列を
ランダムに表示させたいです。わかるかたよろよろしくお願いします。
0108ノシ
2008/05/31(土) 20:09:24ID:fD/ntKdG正規表現を使うのも変換するのもわかるのですが
変換ルーチンに
つまり
\\1
で指定した文字を
どのように持ち込むかがわかりません
0109nobodyさん
2008/05/31(土) 20:29:34ID:???0110nobodyさん
2008/05/31(土) 20:52:03ID:???また開始ボタンを押しても一向に起動されないんですけどなぜでしょうか?
パソコン自体を一度再起動してもなりません。
0111nobodyさん
2008/05/31(土) 21:06:24ID:???0112nobodyさん
2008/06/01(日) 04:27:33ID:???0113nobodyさん
2008/06/01(日) 13:15:34ID:Ss8+miwE[OS] WindowsXP
[HTTPD] AN HTTPD 1.42p
[PHP] 5.2.6
[現象]
includeが使えたり使えなかったり。
include "hoge.php"; 以降の記載が無視される。
しかし、使える場合もある。
使える組み合わせ(呼び出す側と呼び出される側の組み合わせ)なら何回やっても使える。
使えない組み合わせだと何回やっても使えない。
そのため、どこの部分で引っかかっているのか判らない
エラーは吐かない。
ちなみに、以前php4(xampp環境)で使用していたときは、問題なく使えていた。
解決のための切り分けのヒントでもいいのでお願いします。
0115113
2008/06/01(日) 13:38:18ID:Ss8+miwEありがとうございます。
現在適応しているphp.iniは
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
です。
よろしくお願いいたします。
0116nobodyさん
2008/06/01(日) 14:01:08ID:???0119nobodyさん
2008/06/01(日) 23:10:35ID:???0120nobodyさん
2008/06/01(日) 23:46:09ID:???0121nobodyさん
2008/06/02(月) 09:47:17ID:???0122113
2008/06/02(月) 10:21:58ID:1QPDvcRnちょっとどちらのコードもかなり大きいのでここに貼り付けるのは不可能。
コード書くのがへたっぴなものでかなり膨大なサイズに・・
だから、切り分けの手段のヒントが欲しかったです。
でもここに貼り付けられるように、パターンが似たサンプルコードを書いていたら、結果として切り分け成功しました。
ありがとうございます。
>>119
>>120 の仰る通り。
include以降が無視される場合が使えない。
ただ、使える使えないって書き方はとても論理的ではなかったですね。
反省・・
>>120
フォローありがとうございます。
こんな論理的でない文章を理解していただけて助かります。
>>121
includeをコードのしょっぱなに持ってきていたので、最初の行ですでにそれ以降が無視されるという現象に・・
0123113
2008/06/02(月) 10:22:37ID:1QPDvcRnincludeされているファイルに問題がありました。
しかし、ここで疑問に思うのは、なぜエラーを吐かないのか
実は、includeされているファイルはさらに別のファイルをincludeするという二重include構造になっていました。
このさらにincludeされているファイルが悪いようです。(下記に示すところのファイルC)
ファイルA ← ファイルB ← ファイルC
( ← はincludeで読み込んでいる)
こいつは単体でアクセスしてもエラーを吐かず、ソースにも何も表示されません
そのため、どこに問題があるのか今の段階ではまだ絞れていません
このファイルCだけならここに張ることも可能なのですが、人様が作ったものでフリーで公開されていたものなので
ここに晒していいかどうかわからないので、とりあえず自分でもう少し絞っていこうと思います。
(このコードがphp5と相性が悪い線が強そうです。)
ご迷惑おかけしました。
皆様のアドバイスでここまでこぎつけたことは事実です。
ありがとう!!
0124nobodyさん
2008/06/02(月) 11:40:17ID:???0125nobodyさん
2008/06/02(月) 11:57:28ID:???php version5.1.6をyumコマンドでインストールしました。
0126113
2008/06/02(月) 12:01:29ID:1QPDvcRnそのファイルCは、RSSパーサーなんですよね。
で、いろんなRSSを突っ込んでみたんですけど、やはり結果は一緒で
でもPHP4だと正常に動くんです。
ちなみに仰られていたので、 exit と die を検索かけて見ましたが使用されていませんでした。
というか、これで思いついた、@マークをすべて消し去ればどこでエラーが出てるかわかるかも・・・
0127113
2008/06/02(月) 12:23:07ID:1QPDvcRn@mb_convert_encoding()
が原因でした。
問題は、PHPのバージョンではなく、私のphp.iniの設定だったようです。
このフリーのRSSパーサー(>>123 でいうところのファイルC)がコードの中に@mb_convert_encoding()でエンコードする
文字コードを別に設定しており、その設定が私のphp.iniと反する設定になっていました。
64 | $page = EUC_JP;
156 | $hoge = @mb_convert_encoding($hoge, $page, 'auto')
みたいな感じになっていました。
切り分けの際に、以前のphp.iniも適用して調べたと思ったのですが、抜けがあったみたいですね。
(再起動忘れたかな・・・)
スレ汚し、失礼いたしました。
ヒントを与えて下さった方々ありがとうございました!
0128nobodyさん
2008/06/02(月) 12:48:43ID:RzwMZ6BKSqlの order by key,value
のようなことをさせるにはPHPではどのようにすれば良いのでしょうか?
0129nobodyさん
2008/06/02(月) 13:10:12ID:???0130うっかりさん
2008/06/02(月) 13:20:46ID:???切腹します。
0132nobodyさん
2008/06/02(月) 14:46:49ID:???0134nobodyさん
2008/06/02(月) 18:52:31ID:SnLmoVqt初歩的な質問で申し訳ないのですが、『WT_HeaderNavi()』という関数を自分で設定し
↓のように記述して
------------------------------------------------------------
<?php
echo '<a href="' . WT_HeaderNavi(999) . '">TEST</a>';
?>
------------------------------------------------------------
実行すると↓のように<a></a>のタグの前に【関数で出力される値】が来てしまいます。
------------------------------------------------------------
【関数で出力される値】<a href="">TEST</a>
------------------------------------------------------------
↓のように順序通り出力するにはどうすればよいのでしょうか?
------------------------------------------------------------
<a href="【関数で出力される値】">TEST</a>
------------------------------------------------------------
色々ググったのですが、見つかりませんでしたのでご教授お願い致します。
0135nobodyさん
2008/06/02(月) 19:34:08ID:???WT_HeaderNavi(999)の中でechoやらprintやらしてねーか?
関数の最後で return 【関数で出力される値】; だな
0136nobodyさん
2008/06/02(月) 19:40:40ID:???その通りでした!!ぐっときました!!
ありがとうございました!!
0137nobodyさん
2008/06/02(月) 19:55:59ID:???0138nobodyさん
2008/06/02(月) 19:58:22ID:???0139nobodyさん
2008/06/02(月) 20:00:55ID:???痛くてゴミんなさい!!怒っちゃやーよ!!
0140nobodyさん
2008/06/02(月) 20:25:46ID:???0142となりのPHP
2008/06/02(月) 21:57:27ID:+h9IA1ezについて皆さんに聞きたい。
お・ま・え・らならどう管理する?
知りたいw
0143nobodyさん
2008/06/02(月) 21:59:08ID:???0144となりのPHP
2008/06/02(月) 22:01:05ID:+h9IA1ezデータベースに保存するの?
フォルダーに保存するの?
これどっちがいいの?
メリットを教えてくれ・・・ ちくび・・・
0145nobodyさん
2008/06/02(月) 22:31:54ID:???0146nobodyさん
2008/06/02(月) 23:17:54ID:???0148nobodyさん
2008/06/03(火) 00:01:19ID:JBxIkCY5Array
(
[くるま] => 15
[ろば] => 14
[もも] => 14
[とけい] => 13
[りんご] => 13
[しょうゆ] => 6
[えんぴつ] => 1
)
のように降順にソートされた連想配列から配列の要素を比較して上位3件
のキー値を取り出してそれぞれ別の配列に入れたいのですが、
どのようにするのがスマートでしょうか?
以下のような結果にしたいです。
配列@ ( [0] => くるま )
配列A ( [0] => ろば [1] => もも )
配列B ( [0] => とけい [1] => りんご )
御指南よろしくお願いします。
0149nobodyさん
2008/06/03(火) 00:31:58ID:nQlafZ13値(数字)をキーにした多次元配列にpushしていったらどうでしょう?
0150nobodyさん
2008/06/03(火) 00:58:26ID:nQlafZ13foreach ($org as $key => $value)
$res[$val][] = $key;
0151nobodyさん
2008/06/03(火) 01:35:06ID:nQlafZ13ごめん1行目と2行目の変数名がバラバラだ・・orz
多分気づくと思うけど2行目は
$result[$value][] = $key;
別々の配列にしたいときは、ループ内でキーを
$result["ex".$value][] = $key;
とか文字列にしておいて、
extract($result);
とか。
0152nobodyさん
2008/06/03(火) 01:59:05ID:JBxIkCY5解決できました!
ありがとうございます。
非常にスマートです!
0153nobodyさん
2008/06/03(火) 02:45:23ID:???0154nobodyさん
2008/06/03(火) 15:11:01ID:O1BZb4u6strip_tags でタグを削除したいと思ったんですが、
元の文字列がUTF8 などだと タグ<>の部分まで合わせて文字にとなっているようで
※その部分が文字化けしているように見える。しかし、htmlに出力すると、文字とタグにちゃんとわかれている。
strip_tags でタグが削除できないようであるのですが、
これをどうにかstrip_tags でタグ削除させる方法はないでしょうか?
0155nobodyさん
2008/06/03(火) 15:37:51ID:???なんか微妙に言ってることがわからないんだが、俺の環境では
echo strip_tags('<a>りんく</a>ああ<b>いい</b>うう');
//出力
りんくああいいうう
なにも問題ないぞ?
こういうことじゃないのか?
0156nobodyさん
2008/06/03(火) 16:07:48ID:z9NWRSRZ「郵便番号の情報が書かれている.phpファイルを
.htmlファイル上で読み込ませ、郵便番号の検索を行えるようにする。」
と言う物なのですが、
実行すると本来住所が書き出されるべき場所に
何故か.phpファイル上のデータが全て書き出されてしまいます。
ttp://www.vipper.org/vip834693.jpg
参考資料と見比べても特に違いが見受けられないので
やはりphp.iniやhttpd.confの設定が間違っていると言うことなのでしょうか。
もし理由の分かる方がいらっしゃいましたら回答をお願いしたいです。
PHP:5.2.6(SQLite込)
Apache:2.0.63
OS:WindowsXP
以下命令文を書きますので
何卒宜しくお願い致します。
0157【yubin01.html】
2008/06/03(火) 16:08:32ID:z9NWRSRZ"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:v="urn:schemas-microsoft-com:vml">
<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8" />
<head>
<title>郵便番号による検索</title>
<script src="prototype.js" type="text/javascript"></script>
<script type="text/javascript">
function buttonf(){
uri = "yubin01.php";
data = Form.serialize("form1");
option = {method: "post", parameters: data, onComplete:ajaxReq};
new Ajax.Request(uri,option);
}
function ajaxReq(request1){
$("addr").value = request1.responseText;
}
</script>
</head>
<body>
<p>郵便番号を入力してください。 例 : 101-0025,26,35,41,43,46,48,51</p>
<form id="form1">
郵便番号<input type="text" id="zcode" name="zcode" size="10" />
<input type="button" id="b1" name="b2" value="住所検索" onClick="buttonf(); return false;" />
<br />
住所<input type="text" name="address" id="addr" value="" size="80" />
</form>
</body>
</html>
0158【yubin01.php】
2008/06/03(火) 16:09:02ID:z9NWRSRZ$BOM = "\xef\xbb\xbf";
$code1 = $_POST["zcode"];
$code2 = split("-",$code1);
$code = $code2[0].$code2[1];
$address= array(
"1010025" => "東京都千代田区神田佐久間町",
"1010026" => "東京都千代田区神田佐久間河岸",
"1010035" => "東京都千代田区神田紺屋町",
"1010041" => "東京都千代田区神田須田町",
"1010043" => "東京都千代田区神田富山町",
"1010046" => "東京都千代田区神田多町",
"1010048" => "東京都千代田区神田司町",
"1010051" => "東京都千代田区神田神保町"
);
echo $BOM.$address[$code];
?>
0161nobodyさん
2008/06/03(火) 16:47:34ID:???webサーバとはなにか?から出直してら
0162nobodyさん
2008/06/03(火) 16:54:38ID:???わからないので教えてもらえませんか
あと定期的に実行するにはどうやればいいですか
0163nobodyさん
2008/06/03(火) 17:05:50ID:???http://jp.php.net/manual/ja/language.types.array.php
->
http://jp.php.net/manual/ja/language.oop5.basic.php
=&
http://jp.php.net/manual/ja/language.references.php
定期的に実行
cron
0164nobodyさん
2008/06/03(火) 18:07:39ID:???借り物でやったら垢削除ものだが。
0165nobodyさん
2008/06/03(火) 19:02:27ID:???レスありがとうございます
>=>
>http://jp.php.net/manual/ja/language.types.array.php
う〜んarrayにしか使わないってことですか?
>->
>http://jp.php.net/manual/ja/language.oop5.basic.php
すみませんもう少し説明してもらえないでしょうか
(classに関係有るってことくらいしかわかりませんでしたorz)
>=&
>http://jp.php.net/manual/ja/language.references.php
ん、、、、いまいち普通の代入(=)との差がわからないのですが、、、
>定期的に実行
>cron
ありがとうございます
いまいち使い方がわかりませんがもう少し調べてみます
0166nobodyさん
2008/06/03(火) 19:15:03ID:???>う〜んarrayにしか使わないってことですか?
他に使ってる例でもあんの?
>すみませんもう少し説明してもらえないでしょうか
>(classに関係有るってことくらいしかわかりませんでしたorz)
インスタンスのプロパティやメソッドにアクセスするための構文。
C++やJavaでいうドット(.)と同じ。
分からんなら使わなくて特に問題なし。
詳しく知りたければオブジェクト指向について学ぶべし。
>ん、、、、いまいち普通の代入(=)との差がわからないのですが、、、
値渡しと参照渡しの違い。
マニアな人しか使わないから知らなくてもOK。PHPだと最適化してくれるし。
詳しく知りたければ参照について学ぶべし。
>>cron
窓鯖ならタスクでおk
0167nobodyさん
2008/06/03(火) 20:56:04ID:???返信どもです
>インスタンスのプロパティやメソッドにアクセスするための構文。
>C++やJavaでいうドット(.)と同じ。
>分からんなら使わなくて特に問題なし。
>詳しく知りたければオブジェクト指向について学ぶべし。
何となくだけどわかりました、ありがとうございます
0168nobodyさん
2008/06/03(火) 22:32:01ID:???0169nobodyさん
2008/06/03(火) 22:46:55ID:KEz04zwq取得する可能性がある場合、どうしていますか?
自分はREQUESTを使っていますが、↓する方法もあると思います。
if($GET){
$id = $_GET["id"];
}else($_POST){
$id = $_POST["id"];
}
ただこれだとソースが長くなるので、正しいのか否か悩んでいます。
0170nobodyさん
2008/06/04(水) 00:42:39ID:???0171nobodyさん
2008/06/04(水) 02:08:12ID:???0172nobodyさん
2008/06/04(水) 02:40:35ID:???0173nobodyさん
2008/06/04(水) 03:46:25ID:IW2VxFJn以下のようなURLの場合で、
http://hoge/index.php/id/foo/password/bar
index.phpにて「/id/foo/password/bar」の部分を
取得したいのですが、どのようにすれば宜しいでしょうか?
0174nobodyさん
2008/06/04(水) 03:58:25ID:???0175nobodyさん
2008/06/04(水) 04:07:25ID:???$_SERVER{'PATH_INFO']
スラッシュ区切りにする必要はあるのかね
てか認証で使うパスワードをGETで渡すのはどうかと・・・
0177の
2008/06/04(水) 16:07:38ID:???index.php?test
が作れて、
GETでは
index.php?test=testが作れるのは知ってるんですが
PATH_INFOかクエリで
で
index.php?test/test
と取得するにはどうしたらよいのですか?
0178nobodyさん
2008/06/04(水) 17:03:50ID:???0179nobodyさん
2008/06/04(水) 17:19:13ID:???質問に質問して悪いんだけど、
クエリで index.php?test が作れる、ってどういうこと?
PHP クエリ、なんかでググってみたけど出てこなかった。
index.php?test で値を渡せるの?
0180noun
2008/06/04(水) 17:53:03ID:3HEKVG38$query = getenv ("PATH_INFO");
$var = split ("[/\.]", $query);
echo "引数は「$var[1]」と「$var[2]」です。";
?>
このようばスクリプトをindex.phpで作ったら
index.php/a
でアクセスすると
引数は「a」と「」です。
と表示されます。
index.php?a/b
とアクセスすれば
引数は「a」と「b」です。
と表示させるにはどのようにしたらよいのですか?
このように考えてみましたけど動きませんでした
<?php
$query = getenv ("PATH_INFO");
$var = split ("[?\](.+)[/\.]", $query);
echo "引数は「$var[1]」と「$var[2]」です。";
?>
宜しくお願いします
0181nobodyさん
2008/06/04(水) 18:02:16ID:???<?php
$query = $_SERVER["QUERY_STRING"];
list($q1,$q2) = explode("/",$query,2);
echo "引数は「{$q1}」「{$q2}」です。";
?>
0182nobodyさん
2008/06/04(水) 20:01:45ID:???0184nobodyさん
2008/06/04(水) 20:37:04ID:???$fileName = "conf.xml";
$xml = simplexml_load_fileName($fileName);
$db = $xml->db;
print $db->id ."<BR>";
print $db->pass ."<BR>";
print $db->host ."<BR>";
print $db->dbname ."<BR>";
?>
とすると $xml = simplexml_load_fileName($fileName); エラーとでます、何が悪いんでしょうか?
0185nobodyさん
2008/06/04(水) 21:18:54ID:???0186nobodyさん
2008/06/04(水) 21:20:15ID:???0187nobodyさん
2008/06/04(水) 21:21:53ID:???simplexml_load_file($filename);
0188nobodyさん
2008/06/04(水) 21:23:42ID:???やさしくレスしてやろう
そんんあ関数無い
simplexml_load_file
http://jp.php.net/manual/ja/function.simplexml-load-file.php
これだろ?
0189nobodyさん
2008/06/04(水) 21:36:14ID:???いえ、喧嘩売ってません。 シリアスです。
>>186
別人ですね。
>>187
>>188
ありがとうございます^^
しかし、$xml = simplexml_load_fileName($fileName);
をsimplexml_load_file($filename);にしてみたところ、エラーが出ます。
何が悪いんでしょうね・・・
0190nobodyさん
2008/06/04(水) 21:42:22ID:???>>1を読まない -20
マニュアルを読まない -10
検索しない -10
エラーを書かない -10
上げない -5
丁寧語を使用 +5
合計点:-50
評価:非常に悪い質問です。
php.iniでphp_xmlをロードしてから出直してきてください。
0191nobodyさん
2008/06/04(水) 21:42:30ID:???0192nobodyさん
2008/06/04(水) 21:43:57ID:???$xml->db ← マニュアル読めとしか言いようがない
0194(^ω^)
2008/06/04(水) 21:50:18ID:+gTsOca6前レスであった
PATH_INFO
とクエリを同じに使うやり方が気になったのですが誰か教えてくれませんか?
index.php?test/b
とかのURLのが気になります
0197nobodyさん
2008/06/04(水) 21:56:43ID:???>index.php?test/b
PATH_INFO関係ない。それはクエリだ。
PHPerバカばっかか。
0199(^ω^)
2008/06/04(水) 22:09:58ID:+gTsOca6w(°0°)w?
どうやって取得するのですか?
index.php?test
なら取得できますけど
index.php?test/a
までは取得できません…
0201nobodyさん
2008/06/04(水) 22:19:33ID:O5TCb6Oo0202help
2008/06/04(水) 22:29:52ID:hG5521Jrを10進数に変換するプログラムを書き、桁とその桁の値に該当する
10進数(例えば、4桁目は2の3乗で8である)および変換された
10進数を表にして出力せよ。
0205(^ω^)
2008/06/04(水) 22:43:13ID:+gTsOca6http://s.sameha.net/?xtool/test
これは
http://s.sameha.net/?id=xtool&kp=test
みたいなのです。
http://s.sameha.net/?id=xtool&kp=test
これはGETで受け取ってるだけですが
http://s.sameha.net/?xtool/test
これはクエリで受け取りたいのですが、受け取れません(@_@;)
教えてください
0206help
2008/06/04(水) 22:44:02ID:hG5521Jr書き出しからまったくわからないので、
どなたか教えてください。javascriptでお願いします。
0207nobodyさん
2008/06/04(水) 22:48:28ID:???なんでわざわざスラッシュ区切りにしたいの?
>>206
<script type="text/javascript">
0209nobodyさん
2008/06/04(水) 22:56:15ID:???そうだよな? さすがにここまで低次元なわけないよな。
頼むよ、マジで……。
0210nobodyさん
2008/06/04(水) 23:24:54ID:???しかも1も昔のに変えるし
初心者は初心者スレがあるのに・・・
0211nobodyさん
2008/06/04(水) 23:32:13ID:???スーパーヒントやるから、これアレンジしてみろ。
$bin_num = "1111111111111111111111111111111";
$digits = strlen( $bin_num );
$i = 1;
$bin_num = 1;
while(1)
{
if( $i > $digits ) break;
print $i . " | ";
if( $i <> 1 ) $bin_num .= '1';
print bindec( $bin_num ) . "<br />";
$i++;
}
0213nobodyさん
2008/06/05(木) 03:53:21ID:nVJ3HHkI途中で関数がある場合、プログラムがそこで止まってしまいます。
ページ内にその関数が無くてもページ全体を読み込ませる(エラーを出さない
ようにするには、どうすればいいのでしょうか?
0214nobodyさん
2008/06/05(木) 03:59:39ID:???0215nobodyさん
2008/06/05(木) 05:48:02ID:???0216nobodyさん
2008/06/05(木) 06:02:42ID:???0217sage
2008/06/05(木) 07:24:33ID:SaqvuSsK0218nobodyさん
2008/06/05(木) 09:42:23ID:???ぐぐっても出てこない。
0219nobodyさん
2008/06/05(木) 10:53:03ID:???ttp://xdebug.org/docs/all_functions
0220213
2008/06/05(木) 11:01:36ID:???デザイン用のファイルに関数を入れている場合(エラー出力など)
があるのですが、関数のある・なしを調べるのではなくて、
ある場合でも無視して出力したいのです。
やっぱり、そういう事は出来ないのでしょうか?
0222nobodyさん
2008/06/05(木) 12:22:00ID:AlWPneO4OSX(10.4.11)にPHP5.2.4をインストールしましたが
cli版は4.xのままになっています。
インストール手順はtar.gzを解凍
↓
./configure時に--enable-cliを指定
↓
make
↓
make install
↓
ターミナルでphp -vで確認すると4.x
cli版のアップグレードは別の方法があるのでしょうか?
何かヒントを頂ければ有り難いです。
0224nobodyさん
2008/06/05(木) 13:45:58ID:???0225nobodyさん
2008/06/05(木) 14:05:43ID:86SziVzy確認したらprefix指定していませんでした。
だから今はphp4のcli版とphp5のcli版が共存している状態で
そのままphp -vすると4.x、php5のディレクトリのcli版を
指定すれば5.2.4と表示されていたのですね。
prefix指定して再インストールしてみます。
ありがとうございました。
0226nobodyさん
2008/06/05(木) 17:01:33ID:???CentOS5.1のphp5.1.6に組み込まれていません。
セキュリティフィックスのことを考えると
自分でコンパイルするのは選択肢になりません。
これを読むと、あとから追加する方法はあるようなのですが
どうすればいいでしょうか?
http://blog.poyo.jp/archives/id-1075268306
0227nobodyさん
2008/06/05(木) 17:12:42ID:tEsaaIDAということはPHPで可能でしょうか?
JavaScriptでは検索するとあったのでやり方が分かったのですが、
PHPで書いている他のスクリプトと出来れば一緒くたにしたい
と思っての質問です。
スレのテンプレやマニュアル、検索などしてみたのですが、
これ!という関数を見つけることが出来ませんでした。
アドバイス頂けるようでしたらよろしくお願いいたします。
0231JAM
2008/06/05(木) 18:11:04ID:???http://php.s3.to/
にあるPHP proxyのfsockopen(ソケット接続)
ができないのですが、PHPプロ串を動かすのに何か条件はいりますか?
パーミッション644にしていまして、777にしても動きませんでした。
0232nobodyさん
2008/06/05(木) 18:20:11ID:???パーミッションわからないのにいじるのはやめとけ
0234nobodyさん
2008/06/05(木) 21:43:30ID:???3000件前後の商品の検索システムと、商品の登録・編集システム(DBを使った)を1ヵ月半で作れると思いますか?
0235nobodyさん
2008/06/05(木) 22:22:48ID:???0236nobodyさん
2008/06/05(木) 22:24:37ID:???0237nobodyさん
2008/06/05(木) 22:31:32ID:???forループなどで一要素ずつ吐き出していくしかないでしょうか?
print_r( array_values( $array ) ); のような手軽な方法があれば、教えて下さい。
また、print( array_values( $array ) ); の場合、Arrayが返されますが、
この理由はなぜでしょう?
0238nobodyさん
2008/06/05(木) 22:42:23ID:???簡単じゃん。
SQLのDBにあるテーブルを
INDEX, ITEM_NAME, PRICE と言うようなものを作るんだろ?
登録は、ITEM_NAMEが一致しないか、まずSELECTで検索してから
INSERTかUPDATE(値段の更新)かを実行すればよし。
商品を削除するには、商品名でSELECTして、ユーザに選択させて
DELETEすればよし。
検索は、条件(商品名部分一致、値段上下)くらいだろうから、普通に
SELECT文で、画面表示すればいいじゃん。
コア部分をまず作成して、多分これが1週間くらい。それから、だんだんと
拡張してゆけばよし。
それから。
SQLインジェクションとか、最初にそういうセキュリティ面の共通関数を
作っておかないと、後で大変なことになるから…
0239nobodyさん
2008/06/05(木) 22:43:21ID:???0240234
2008/06/05(木) 22:59:12ID:???1ヵ月半で作り上げて客先に納品できますでしょうかね?
0241nobodyさん
2008/06/05(木) 23:10:43ID:MYkhFPuIAccessを使って作ってしまった方が簡単にできるんじゃないですか?
それと並行して時間を見つけてPHPで作ってみて
上手くいったら裏で切り替えるとか
0242nobodyさん
2008/06/06(金) 00:39:43ID:???精魂込めた1店舗より、適当に増殖させまくった1000店舗の方が、圧倒的桁違いに儲かるという事実を顧客に教えてやれよ。
0243nobodyさん
2008/06/06(金) 00:47:24ID:5yuWZEZB以下のようにしたのですが、表示されません。
$GLOBALS['test']="aaa";
class class_test{
global $test;
function test_a(){
echo $this->test;
}
}
$obj = new class_test("");
$obj->test_a();
0244nobodyさん
2008/06/06(金) 01:02:38ID:???0245243
2008/06/06(金) 01:06:18ID:???parse error, unexpected T_GLOBAL, expecting T_FUNCTION in
パースエラーが出ます。やはりこういう書き方は駄目なのでしょうか?
0246nobodyさん
2008/06/06(金) 01:07:47ID:???0247nobodyさん
2008/06/06(金) 03:14:20ID:XxyWIPlY立ち上げ可能な最大プロセス数を算出しようと思います
このような用途の場合、
memory_get_peak_usage (true)
か
memory_get_peak_usage (false)
のどちらが適切でしょうか?
falseの場合、
emalloc() が使用するメモリのみを報告するとのことで、
trueの場合の値とは大きさがかなり異なるので迷っています
0248nobodyさん
2008/06/06(金) 06:27:29ID:???ファイルサイズは1Mもなくて、Php.iniのMaxサイズは超えてないのに。
0249nobodyさん
2008/06/06(金) 06:37:23ID:???0250237
2008/06/06(金) 07:06:03ID:???0252nobodyさん
2008/06/06(金) 07:49:30ID:???0253nobodyさん
2008/06/06(金) 07:51:58ID:???それです!
ありがとうございました!
マニュアルにおける配列関数のページばかり見ていて、
文字列関数を見落としていました。
0254nobodyさん
2008/06/06(金) 09:54:25ID:7wBcJbju$result = mysql_num_rows($request);
if($result) {
while( $result = mysql_fetch_assoc($request) ) {
foreach($result as $key => $value) {
print "{$key} : {$value}";
}
}
} else {
print "該当なし";
}
検索結果がない場合を考慮して、
mysql_num_rowsで検索結果数を確認しているのですが、
mysql_fetch_assocも使っていて、
mysql_num_rowsは、非効率な処理をしているのではないかという気になります。
検索結果がない場合の処理として、
もっと最適な方法はありますでしょうか?
スピード重視ですので、PDOなどを利用する予定はありません。
0256nobodyさん
2008/06/06(金) 10:59:21ID:???フォームの内容を次のページで確認したりするために表示すると
「表示」という文字列が「表\示」というふうに間に半角の¥マークが入ったりします。
他にもいくつかの文字列で確認できています。
\を省くようなプログラムを書いてしまうと本来の\を記入したいときなどに
不都合が起きてしまうので
それ以外の方法で何とかしたいのですが
原因・解決方法を教えてください
よろしくおねがいします。
0257nobodyさん
2008/06/06(金) 11:05:11ID:???0258256
2008/06/06(金) 11:30:51ID:???スレ汚しすいません
0259nobodyさん
2008/06/06(金) 14:53:07ID:???apache+mod_fcgidでphp動かすのと
apache+mod_phpで動かすのどっちが早いのでしょうか?
やっぱり圧倒的にmod_phpですかね・・・
0260nobodyさん
2008/06/06(金) 17:07:39ID:???0261227
2008/06/06(金) 17:19:55ID:qm+hYxPW>>227を実現したかった環境はPHP5.2の入っているレンサバです。
今回はPHPでの実装をあきらめて、JavaScriptで実装してみます。
お答えいただきました皆さま、ありがとうございました。
0262254
2008/06/06(金) 17:44:36ID:???ご回答ありがとうございます。
外のifを外してしまうと、
$result(クエリ)が存在しない場合、
whileループをしなくなり、
foreachループでも「データが存在しない配列データ使うな」というエラーが
出てしまいますのです。
一応の善後策として、print書き出しのところを変数$fooに代入して、
whileループ後、$fooが空だったら、「該当無し」を代入してから書き出し、
という方法を取ってみました。
入門書以外の書籍を見つけられないので、
どうもPHP+MySQLはつまづきやすいです。
定石集みたいな本があれば嬉しいのですが、何かお薦め本ありますか?
0263nobodyさん
2008/06/06(金) 17:59:09ID:9VzUi8vG特定の文字列以外はNGにしたいのですが、
$hoge = $_POST["data1"];
$hogehoge = "ここがわかりません。"
if(!stristr($hoge , $hogehoge)){
echo "NG";
}else{
echo "OK";
}
こんな感じでテキストボックスから「数字 か "n"」のみを受付たいのですが、
どなたかお力を貸してください。お願いします。
0264nobodyさん
2008/06/06(金) 18:07:11ID:???ちなみに後者の方がちょっと早いけど、たぶんそこまでこだわるの無駄。
0265263
2008/06/06(金) 18:39:49ID:???さっそくググってみました。
正規表現がいまいちわからないのですが、
数字 か "n" の場合
/[n\d]/
で合ってるのかな?
一応テストしてみたら思うとおりに動きました。
ありがとうございました。
0266nobodyさん
2008/06/06(金) 18:51:20ID:???/\d|n/
nで始まる複数の数字(例:n012345678)って決まってる場合は、
/^n[\d]+?$/
とかじゃね?
0267nobodyさん
2008/06/06(金) 18:55:46ID:???これを直すにはコンパイルしなおすしかないのでしょうか?
システム全体はUTF8でGD内部だけEUCなのが使いにくくてしょうがない・・・
0268263
2008/06/06(金) 19:00:30ID:???数字(何桁でも可。数字以外が含まれるとNG)
n (1文字だけならOK。 n0123とか nabcとかはNG)
の正規表現を教えて下さい。
何度もごめんなさい。
0269nobodyさん
2008/06/06(金) 19:14:20ID:???丸投げやめれ
限りなく答えに近いヒントは書いた
>>267
GDってUTF-8対応してたはず。(2.0以降?)
アップグレードしてみれば?
0270267
2008/06/06(金) 19:40:41ID:???ソースから入れた5.2.6が内部EUCという非常に意味不明な状況。
phpのconfigureに文字コード指定もないっぽいし、GD自体はソースから入れたほうがもちろん新しい。
やっぱりどこかに文字コード指定する場所があるんですかね?
0271nobodyさん
2008/06/06(金) 19:50:57ID:+VeYItW2今「PHPによるWebアプリケーションスーパーサンプリング」って本で勉強しているんですが
PEAR、Smarty、MySQLとかいろいろなPHPと連携出来る
プログラミングが出てきて、どれを選ぶべきか困ってます。
Smartyだとこういうコトが出来て
MySQLだとこういうコトが出来る
みたいなのが分からないので
掲示板作りにもっとも適しているのはどれなんですか?
0272nobodyさん
2008/06/06(金) 19:59:15ID:???0273271
2008/06/06(金) 20:11:09ID:+VeYItW2マジですか?
今考えてるのが明和水産のような形式の画像掲示板を作ろうと思ってるんですが
全部必要でしょうか?
0274nobodyさん
2008/06/06(金) 20:16:42ID:???PHPの問題かGDの問題かまず切り分けてくれよw
というか、主語が不明瞭で文章が分かりづらいよ。
>phpのconfigureに文字コード指定
php.iniのmbstring.internal_encoding = EUC-JP
が有効になってるとかそういうことじゃなくて?
0275nobodyさん
2008/06/06(金) 20:17:40ID:???>Smartyだとこういうコトが出来て
>MySQLだとこういうコトが出来る
>みたいなのが分からないので
つーか、その仕組みを理解するために本買ったんだろw
もっとよく読めよ。
0276nobodyさん
2008/06/06(金) 20:53:34ID:???0277nobodyさん
2008/06/06(金) 21:16:01ID:???遅レスだけど、比較するまでもなく、mod_phpに決まってるだろ。
ソケット介さず、HTTPD直接動かすんだから。
0278nobodyさん
2008/06/06(金) 21:58:27ID:liAI2iTpショッピングなどので注文ボタンを連続して押すと注文データが二つ出来てしまうという件です。
webで検索するとJavaScriptの方法があるのですが、それですとJS無効にしている人には対応ができません。
それで、トランザクションIDなどを発行して、formにhiddenで埋め込んで、送信されてきたIDとセッションに保存されたIDを比較するというやり方が
あると思うのですが、それでも、0.1秒くらいの間隔で連続送信された場合、セッションの処理が追いつかず二度受付がされてしまいます。
お金が絡むことなので、かなりシビアな管理が必要なのですが、どのような方法がありますでしょうか?
私が考えたのは、一回送信したら送信完了画面の表示処理になるまでロックするとか。
そうすると、ロックの解除タイミングが難しく異常終了した場合に、永遠にロックがされてしまい、
OSのリブート以外復旧する方法がなくなってしまうのではないかと、危惧してしまいます。
又は、メールで一回確認メールを送りつけて、そのメールに記載されているURLをクリックすると
注文完了になる、というロジックも考えたのですが、そのような方式でやっているネットショップを、
10年間位ネット使用歴がありますが、見たことがありませんし、利便性が悪いこともわかります。
それで、別の方法として注文ボタンを押しても完了とはせずに、
手動でこちらが確認して注文確認のメールを送るという案も考えました。
が、それも前述と同様で手間がかかる上に、利便性が悪いということで躊躇しています。
あとは、二重注文を承知で、返品を受け付けるという処理があるのですが、
利便性はいいのですが、お客さまからの苦情がこないか不安です。
もちろん、二重注文の免責事項として注文ボタンの前に書きます。
結局、あれやこれや考えたのですが、結論が出ませんでした。お知恵を貸して頂けないでしょうか?
宜しくお願いします。
0280nobodyさん
2008/06/06(金) 22:12:57ID:???単純に、客がWEB上で注文の確認とキャンセルできる仕組みを用意した方が良い。Amazon方式。
それかロック処理に時間制限を付けるとか。ネットバンク方式。
0281nobodyさん
2008/06/06(金) 23:43:30ID:sB0HvGVDいや、そのコードはおかしい。
0282nobodyさん
2008/06/06(金) 23:53:56ID:???コンストラクタ内で呼ぶしかないんじゃない。
$GLOBALS['test'] = 'aaa';
class class_test{
var $test = null;
function class_test(){
global $test;
$this->test = $test;
}
function test_a(){
echo $this->test;
}
}
$obj = new class_test();
$obj->test_a();
0283nobodyさん
2008/06/07(土) 00:06:58ID:???グローバル変数使ったら意味ないじゃん。
いわゆるデータメンバを使うべき。
0284nobodyさん
2008/06/07(土) 00:17:23ID:???× hoge.php?foo=aaa&foo=bbb&foo=ccc
× hoge.php?foo[]=aaa&foo[]=bbb&foo[]=ccc(※[]はシリアライズされる)
○ hoge.php?foo=aaa,bbb,ccc
みたいにすることはPHP側でできますか?
0285282
2008/06/07(土) 00:32:36ID:???283が言いたいのは、こんな感じってこと?
class DataMember{
var $test = 'aaa';
function get(){
return $this->test;
}
function set($value){
$this->test = $value;
}
}
class class_test{
var $DataMember = null;
function set(&$obj){
$this->DataMember =& $obj;
}
function test_a(){
echo $this->DataMember->get();
}
}
$mem = new DataMember();
$obj = new class_test();
$obj->set($mem);
$obj->test_a();
0286nobodyさん
2008/06/07(土) 00:48:17ID:???0287nobodyさん
2008/06/07(土) 00:54:03ID:???0288282
2008/06/07(土) 01:02:25ID:???PHP4の書き方はキモイのかw
レンタル鯖とか今だPHP4が多いからこっちのほうが汎用性あるかと思ったんだけど。
(まぁ、PHP5の書き方は勉強してないのでわからんけど)
PHP4も今年でサポートきれんだっけかね。
0289nobodyさん
2008/06/07(土) 01:24:09ID:7vwhHYDOhttp://www.fxtokyo.jp/
0290nobodyさん
2008/06/07(土) 01:26:16ID:???わからんなら今からやれ。1時間後にスラスラ書けてなきゃ自分の無能を呪え。
0291nobodyさん
2008/06/07(土) 01:34:40ID:???メンバ変数にスコープがつけられるとか、メソッドチェーンができるとか、
コンストラクタが__constructとかするとか、__callとか__destructがあるとか
ソレぐらいしか分からんすけど、今度やってみます。
>>289
ソース見る限り、JavaScriptですね。非同期通信って奴かな。
0293nobodyさん
2008/06/07(土) 05:46:06ID:???0294nobodyさん
2008/06/07(土) 07:47:07ID:???ここぞとばかりにPHP4の書き方を叩いてるな。
もっと他に叩くべき対象は、このスレに溢れてると思うんだが。
0295nobodyさん
2008/06/07(土) 08:05:31ID:???0297nobodyさん
2008/06/07(土) 13:13:44ID:???0298nobodyさん
2008/06/07(土) 13:17:04ID:???0300nobodyさん
2008/06/07(土) 13:40:09ID:???phppgadmin
0301nobodyさん
2008/06/07(土) 13:45:32ID:???0302nobodyさん
2008/06/07(土) 13:50:29ID:5XgOB7asphpの場合明確ではありませんよね。
例えば、日本ユニシスのようにgifを使っていたら、
急に特許使用料を請求されるというリスクがありますか?
Javaの場合は、SunMicrosystemsが明確に使用は無料ということを打ち出しています。
PHPの場合、それが全然明確ではありません。
もしかしたら・・・というリスクが脳裏をよぎります。
実際のところどうなのでしょうか?
0303nobodyさん
2008/06/07(土) 13:52:11ID:???0304nobodyさん
2008/06/07(土) 13:54:20ID:5XgOB7asPHPの使用に当たって、完全にフリーだという公式の文章がどこにもないからです。
つまり、将来的に有料化できることを留保していて使わせているという疑念があります。
0306nobodyさん
2008/06/07(土) 13:58:58ID:5XgOB7as著作権というのは自然発生的に発生して著者者は権利を当然に獲得します。
そして、著作権の放棄は法律上できません。
著作権の譲渡ならできますが、譲渡は文章で明確に譲渡する旨の記載がない限り譲渡できません。
このような背景から、PHPは将来その使用料の支払いが発生する可能性があるというわけです。
0307nobodyさん
2008/06/07(土) 14:02:26ID:???0308nobodyさん
2008/06/07(土) 14:05:42ID:5XgOB7as0309nobodyさん
2008/06/07(土) 14:06:45ID:???それに対して不満が出たの初めて聞いた。
オープンソースの中じゃ、極めて甘いライセンスに部類すると思うけど。
将来的に有料になる可能性は、Javaだって否定できない。
恒久的な規約は存在しないんだから。
0310nobodyさん
2008/06/07(土) 14:08:04ID:5XgOB7asなるほど、よく分かります。安心しました。
0311nobodyさん
2008/06/07(土) 14:17:34ID:???mysqlとかは結構怪しいライセンスだから、気持ち悪いし離れたいが
0312nobodyさん
2008/06/07(土) 14:20:35ID:5XgOB7as無料ではバージョンアップは提供しないと公言しだしたら、有料化ってこともありうるってことですか。
それでは、PHPが大丈夫という論拠の基盤も危ういということになりませんか?
0313nobodyさん
2008/06/07(土) 14:20:59ID:???0314nobodyさん
2008/06/07(土) 14:25:18ID:5XgOB7asそれも敏感すぎると思いますよ。
そもそもシステムは出来上がってしまえば、外部からはPHPを使っているかMYSQLを使っているかなんて分かりませんよね。
NHKの受信料だって、私はテレビを持っていませんと玄関先で言えば、それまでです。たとえ持っていたとしても。
そこまで、調査する権限はNHKにはありません。
それは、PHPやMYSQLを所管する団体・企業にも同じことが言えるのではないでしょうか?
0317nobodyさん
2008/06/07(土) 14:48:43ID:5XgOB7asいや、私もそのたちですから、嫌いじゃないですけど。
とりあえず、PHPは有料化になってもあまり影響はないということは分かりました。
長々とありがとうございました。
0318nobodyさん
2008/06/07(土) 15:13:45ID:PnYVZOmjhttp://www2.uploda.org/uporg1468122.jpg
OSに依存せずにゲームとか作れると思うんだが、
HSPみたいな感じでPHPでゲームが作れるっぽい
0319nobodyさん
2008/06/07(土) 15:47:48ID:???0322nobodyさん
2008/06/07(土) 16:20:12ID:???FLASHの方が公開しやすい。
お手軽系ゲームの最大の課題は、セキュリティ上怖いからインストールしてもらえないこと。
FLASHはそういう問題がない。
ゲーム作っても、誰も遊んでくれないんじゃ、やっぱ楽しく無いでしょ。
0323nobodyさん
2008/06/07(土) 16:24:53ID:???自社サービスとかでもね・・・
0324nobodyさん
2008/06/07(土) 16:52:13ID:???eclipseでEUC-JPでやろうとするとUTF8がデフォルトで設定されてて変更が必要だったので色々めんどくさくて
0326nobodyさん
2008/06/07(土) 18:38:55ID:???GPLv2を適用すればいいじゃん。商用でもGPLを採用できる。
GPLv2のウェブサービスを提供する場合、
結果を返しているだけでアプリケーションを配布していないので
ウェブサービスの利用者にソースコードを公開する必要は無い。
ウェブサービスシステムを納品する場合は、納品者に対して
アプリケーションのソースコードを渡してGPLにしないといけないけどね。
ってGPL以前に、PHP製アプリを納品=PHPソースコード納品ですからw
0327nobodyさん
2008/06/07(土) 18:59:20ID:???GPL採用できるは知らんかった
まぁでも商用サイトとかある程度の規模考えると
商用ライセンスを選んだ方がパフォーマンスも違うしいいんだけどね・・・
0328nobodyさん
2008/06/07(土) 19:12:34ID:???なるほどって感じ。勉強になる。
でもその場合、社員がソースを持ち出したり流出させたりしても罪に問えるのかな。
ちなみに自分が作ってるPHPのシステムはソースを公開したくないから、スクランブラを自作した。
PHPにはPHPのパース関数もあるから、結構簡単。
>>327
前に見たときはライセンス証を発行してただけだと思ってたけど、今はパフォーマンスとか違うの?
0329nobodyさん
2008/06/07(土) 19:19:18ID:???黙って使っておけばいいだけじゃん
0330nobodyさん
2008/06/07(土) 19:22:35ID:5XgOB7asそういう遵法精神のかけらもないのは、ゆとりの典型だな。
内部告発で、あちらこちらの有名企業が倒産しているニュースとか知らないんだろうなぁ。
>>328
>>でもその場合、社員がソースを持ち出したり流出させたりしても罪に問えるのかな。
ソースそのものは、窃盗罪の客体としては保護されない。
会社のUSBでソースを持ち出せば、USBを持ち出したということで罪に問われた判例はある。
この場合は、不正競争防止法に抵触する可能性がある。
0332nobodyさん
2008/06/07(土) 19:28:34ID:5XgOB7asもうね、君は馬鹿丸出しだよ。
債務不履行(民法415条)という言葉すら知らないのかねw
0333nobodyさん
2008/06/07(土) 19:30:46ID:???いい加減にしろ
0334nobodyさん
2008/06/07(土) 19:31:08ID:???窃盗って言うのかどうかは知らんが、知的財産権はあるでしょ。
GPLとしたソースに対して知的財産権が開発対価を支払った会社に存在するかは
疑問だけど。
0335ASP
2008/06/07(土) 20:21:11ID:Fr6pkwVX.htaccessか何かで拡張子を入力しなくてもファイルを表示することは可能らしいですが、どうやるのですか?
http://ex.net/test.html
とあれば
http://ex.net/test
こう入力すれば
http://ex.net/test.html
これと同じ内容が表示できるという奴ですが教えてください
0336nobodyさん
2008/06/07(土) 20:22:18ID:???0337nobodyさん
2008/06/07(土) 20:31:39ID:???mod_rewriteを使えば可能。
Apacheのモジュールなのでレン鯖なら使えないこともあるんじゃないかな。
.htaccessの書き方はぐぐってください。
0338ASP
2008/06/07(土) 20:48:05ID:Fr6pkwVXありがとうございます。
一応鯖はXREAです(`・ω・´)
できますかね…
0339nobodyさん
2008/06/07(土) 20:54:38ID:???0340ASP
2008/06/07(土) 20:56:59ID:Fr6pkwVXtest/test.cgi
を
test/test.html
に偽装することはできるみたいですが
test/test.cgi
を
test/test
にはできないです
どうしたらいいのでしょうか…
0341nobodyさん
2008/06/07(土) 20:58:39ID:???0342nobodyさん
2008/06/07(土) 21:07:50ID:???.htaccess質問コーナー Part7
http://pc11.2ch.net/test/read.cgi/hp/1206025115/
0343お・・・ぱい飲んで!
2008/06/07(土) 21:43:39ID:9L3fMoWHデータベースに保存する時に
1.タグの数だけフィールドを用意する。
2.タグをカンマで区切ってデータベースに保存する。
どっちがええの?
ユーザーがタグをクリックした際に、検索結果を表示させなくちゃいけない。
↑
ここで悩んでいる。 おれ間に合わない><
0346nobodyさん
2008/06/07(土) 22:47:09ID:TJsqbfRlauからPOSTしたときだけ、MySQLに記録される文字列が
URLエンコードされた状態なんですが、携帯の仕様でしょうか。
PCとか、docomoとかなら普通にSJISで2バイト文字扱えてるんです。
0347nobodyさん
2008/06/07(土) 23:15:13ID:???0350nobodyさん
2008/06/07(土) 23:28:43ID:???post
━━ vt. 〔英〕 郵送[投函]する ((off)); 【簿】(仕訳帳から元帳に)転記する ((up)); 最新情報を知らせる ((up; on, about)).
0353ASP
2008/06/07(土) 23:40:36ID:Fr6pkwVX(モバゲーのマイページみたいな)
構造はこれだとおもったのですが、動きませんでした。
@登録してきたUAをlog.datフォルダに追加
A配列を作成する
BUAが、log.datにあればアクセス許可、なければ拒否
C最後に一部配列を削除
このように考えました。誰か教えてください。
0354nobodyさん
2008/06/07(土) 23:43:27ID:???0355nobodyさん
2008/06/08(日) 00:04:54ID:ZGtee/4VPHPのみのテキストファイルで保存しようと試行錯誤しています。
基本的に、ファイル内の特定行を編集する時でも、
一度ファイル内容をすべて読み込んで、対象となる文字列を
置き換えすることで、編集とするのでしょうか?
それとも、行を取得してその行のみ編集する事ができるのでしょうか?
今は前者の方法で、file_get_contentsでログファイルを読み込んで
編集したい文字列(行)を置換しているだけです。
0356nobodyさん
2008/06/08(日) 00:06:36ID:???組み込み等に使われるmysqlはライセンス証のみ
Webサービスなんかの場合はmysql enterpriseとなってバイナリ自体が違うものになる
こっちの方が一般で配布されてる物より早い
>>340
mod_rewriteなんか使わなくてもできるぞ
0358nobodyさん
2008/06/08(日) 00:13:08ID:???>>355じゃないが、どうやればいいのか気になる。
例えば、ファイルポインタを使用したとしても、
内部的にはどうやっても全行読み込むと思うんだが。
0359355
2008/06/08(日) 00:26:11ID:???そうなんです。どうやっても全行読み込まないと行けなくなります。
しかも、1度だけではなく、読み込んで参照して書き込んで…
っと、3回は同じファイルを全行読み込んで操作する。
この方法が非常に非効率に感じ、質問しました。
0360328
2008/06/08(日) 00:29:35ID:???勉強になった。ありがとう。
>>355
固定長じゃなければ、それと同等な事になるんじゃない。
簡易DB的に使いたいなら SQLiteも良いよ。
0361nobodyさん
2008/06/08(日) 00:32:47ID:???素直にMySQLにしろよ。なんで、SQLiteなんてマイナーなDBすすめるんだよwww
0363nobodyさん
2008/06/08(日) 00:35:24ID:???○ それこそMySQL使えば?
0365nobodyさん
2008/06/08(日) 00:39:02ID:???>mod_rewriteなんか使わなくてもできるぞ
どうやんのさ?
http://hoge/test/test
は、
http://hoge/test/test/
として認識されるはずだぞ?
0366nobodyさん
2008/06/08(日) 00:42:34ID:???まぁ、GoogleGearsとかでも採用されてるみたいだし、SQLite
PHP5で標準搭載とか、汎用性のあるDBらしいじゃないの。
0367nobodyさん
2008/06/08(日) 00:47:38ID:???でもMySQLが使えないから代用とかで使おうとすると、できない事も多いから評価をちゃんとしとけ
0368nobodyさん
2008/06/08(日) 09:44:02ID:???-A.php-
$tmp="test";
require_once 'B.php';
-B.php-
print $tmp;
0369nobodyさん
2008/06/08(日) 10:12:52ID:???0370nobodyさん
2008/06/08(日) 10:13:09ID:???print吐くものを_onceはちょっと気持ち悪い
0371nobodyさん
2008/06/08(日) 11:10:33ID:???これと似たようなソフトご存知ありませんか?
↑and検索がうまく機能していないので他探してます。
トップページに全件表示、検索ピックアップ、csv管理、 ぐらいの機能でいいのですが
あと出来ればフリーで探してます。
0373nobodyさん
2008/06/08(日) 13:18:34ID:???回答者はスルーでいいよ
ID表示しろとかそれ以前の問題
0374nobodyさん
2008/06/08(日) 13:24:35ID:yZTiWUeO>>1を良く読まずに書き込んでしまいました。申し訳ないです。
サーバーはCORESERVER.JPを使用しています。php5.2.5です。
collexyのサンプルでは[メダカ グッピー]でand検索しても0件と表示されてしまい使用に思い切れないです。
(ちなみに製作目的はある商品の発売スケジュールサイトです。)
0376nobodyさん
2008/06/08(日) 13:33:24ID:???ありがとう
>>370
なにか問題があるのでしょうか・・・
ページの上部や下部とか各部分を
require_onceで読み込んでもいるんだけど
0377nobodyさん
2008/06/08(日) 13:37:34ID:yZTiWUeOご存知でしたら教えて頂きたいとお伺いしただけです。
勘違いなされて不快に感じたなら謝ります。
0378nobodyさん
2008/06/08(日) 13:43:41ID:???>>370じゃないけど _once だと、複数回表示に使用できないからだと思う。
自分の場合は、関数・クラス定義・定数以外を include / require するのも趣味じゃないけど。
0379nobodyさん
2008/06/08(日) 13:48:44ID:???require_onceは設定ファイルの読み込みとか、
一回しか読み込まれないものに使うべきじゃね?
0380nobodyさん
2008/06/08(日) 15:01:49ID:???ほれ建ててやったからこっちいっておくれ
http://pc11.2ch.net/test/read.cgi/hp/1212904818/
散々言われてるが探してますはスレ違い
スレタイで何でも質問していいと勘違いされやすいが
ここは作る方を対象としたスレです
0382nobodyさん
2008/06/08(日) 20:33:28ID:???$a = 2008; $b = 06; $c = 08;
上記が入っている場合、
$z = ($a$b$c)を入れたい。
どうすれば$z = 20080608となるでしょうか?
変数をくっつけたいです
よろしくお願いいたします。
0385382
2008/06/08(日) 20:51:05ID:???と実行したら$zが2022と出てしまいました。
0388382
2008/06/08(日) 21:03:53ID:???ありがとうございます。
文字列の結合は「.」で行うとできたのですが、
問題が発生いたしました。
$today = getdate();
$b = $today['mon'];
$c = $today['mday'];
$a = $today['year'];
で下記の変数を入れたのですが
$a = 2008; $b = 06; $c = 08;
結合すると「200868」となり、月と日の0が無くなっちゃいました。どうすれば0もありで結合できますか?
もう少しお力を貸して下さい
0392nobodyさん
2008/06/08(日) 21:37:20ID:???今両親がネットで中古販売を始めるということで
ダヴィンチ・カートという市販のソフトを使っていろいろ作っているのですが
その中の転送先フォルダという項目が分からないせいか、
404エラーでショッピングカートのページが表示されず困っています。
調べてみると
http://www.netdeoshigoto.com/cart/support/troubleshoot/trouble_nso.html#answer_shop_2
のような手順を踏めと書いてあるのですが、
いろいろ試してみてもバージョンが違うのか、はたまたわたしが滅茶苦茶なことをしているのか、
一向に表示できず、参っています。
どなたかもし知っている人がいたら教えてもらえてください・・・orz
0393nobodyさん
2008/06/08(日) 21:44:58ID:???失礼しました。
0397nobodyさん
2008/06/08(日) 22:11:53ID:???0398nobodyさん
2008/06/09(月) 00:17:25ID:???今のところ同じ物だろ?
ソースいじるのに相談乗るぐらいで
mysqlは真顔で「商用だと使用できない」とか嘘つくやつがいるから困る。
今後はGPL版と有料版を分けるらしいから他のDBが伸びてくるだろうね。
0399382
2008/06/09(月) 08:37:18ID:???$timestamp = mktime(0, 0, 0, $a, $b, $c);
$timestampより日付情報(Ymd)を抜き取る方法を教えて下さい。
どうかよろしくお願いします。
0400nobodyさん
2008/06/09(月) 08:50:49ID:???はじめまして、じゃないだろw
date()関数に$timestampを入れてみ。
先ずはマニュアル見てみようか。
0403nobodyさん
2008/06/09(月) 11:07:18ID:???<?php
$conn = mysql_connect("localhost", "usr", "passwd");
mysql_select_db("kisop", $conn);
$res = mysql_query("SHOW TABLES",$conn);
if($res){
print ("データ獲得に成功しました。");
}
mysql_free_result($res);
?>
でやってみると
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in 〜
と表示されてしまいます。
また、mysql_free_result($res); の部分を削除すると今度は何も表示されません。
一応、本を見ながらやっていてコマンドプロンプトではDBに接続できてます。
お願いします。
0404nobodyさん
2008/06/09(月) 11:17:41ID:???どこでエラー吐いてるかわかるべ?
0405nobodyさん
2008/06/09(月) 11:28:40ID:???mysql_error()
0406nobodyさん
2008/06/09(月) 12:10:03ID:???× SHOW TABLES
○ SHOW TABLES;
こういう低次元なお話じゃないの?w
0409nobodyさん
2008/06/09(月) 12:24:29ID:???ユーザー名とパスワードが本当は変数だとか、
そういう答えですよ。
0410nobodyさん
2008/06/09(月) 12:31:54ID:???0411403
2008/06/09(月) 13:47:05ID:???一度アインストールして最初から設定したらきちんと表示されました。
0412263
2008/06/09(月) 15:30:03ID:???遅レスですが>>266を参考にさせてもらい
/^\d+$|^n?$/
で自分なりに期待する動きはできました。
ありがとうございました。
間違っていたら指摘していただけると助かります。
0413nobodyさん
2008/06/09(月) 15:37:46ID:???だと空文字列でも引っ掛かる。
/^n$/
↑ nのみの場合は、これ。
つか、PHP関係ないじゃん。
正規表現スレ行けよ。
0415nobodyさん
2008/06/10(火) 00:25:50ID:???0416nobodyさん
2008/06/10(火) 00:46:12ID:???ポリモーフィズムとの違いを説明できるか?
質問のレベルで回答のレベルも決まるんだから、もっと意識して書いて欲しい。
答えはできる。以上。
0417nobodyさん
2008/06/10(火) 01:02:30ID:yqKKYTz7$res = mysql_query($sql,$conn);
while($row = mysql_fetch_array($res)){
echo $row["id"];
}
こういうPHPからMySQLにアクセスして、テーブル一覧を表示しています。
同じデータをもう一度実行する場合、whileの後に
$res = mysql_query($sql,$conn);
として、もう一度SQLコマンドを実行しなければ行けません。
1度、SQLを実行して$resで取得したクエリを
何度もwhileで出力する事は出来ないのでしょうか?
0418nobodyさん
2008/06/10(火) 01:12:35ID:???出力する内容がそんなに長くないなら、一回配列に書き出しちゃえば?
$sql="SELECT * FROM test";
$res = mysql_query($sql,$conn);
$rows = array();
while($row = mysql_fetch_array($res)){
$rows[] = $row;
}
//出力時には出力したいタイミングで
foreach($rows as $row){
echo $row["id"];
}
とか。
0419415
2008/06/10(火) 01:27:16ID:???ありがとうございます。
ぶっきらぼうな聞き方でしたね。すいません。
PHPでも全然問題無くできるとは思ってたんですが、
RubyがやたらDuck Typingを強調しているので、何か知らないすごい機能が
あるんじゃないかと思って、一応こっちで聞いてみました。
そうなると、使いどころによってはインターフェイスだって使えるPHPって
なかなかいいなと思いました。
0421nobodyさん
2008/06/10(火) 01:51:04ID:???mysql_query();で、リソース型で保存された変数にアクセスしてるだけで
SQL文を実行してるわけではないと思ってたけど。
0422421
2008/06/10(火) 02:05:19ID:???正直、よく分からん……。
MySQL関数を使ったときのログを、SQL文で保存するような方法ってないかなぁ?
内部の仕組み知りたい。
0423nobodyさん
2008/06/10(火) 21:38:23ID:sCtgQ3vrローカルにコピーしたいのですが、
これを、
$htmldata = file_get_contents($URL);
$htmldataを元にローカルにファイルを作って書き込み処理
のようにしますと、物凄くメモリーが食います。
ファイルをダウンロードしながら、逐次ローカルにファイルを作るようなことはできないでしょうか?
アドバイス宜しくお願いします。
0424nobodyさん
2008/06/10(火) 21:52:08ID:???0425nobodyさん
2008/06/10(火) 21:52:32ID:???0426nobodyさん
2008/06/10(火) 21:55:33ID:???使えなきゃsocket開いて自前で全部書けばできるんじゃない?
0427nobodyさん
2008/06/10(火) 23:31:43ID:???ず っ と 待 っ て ま す 。
0428nobodyさん
2008/06/10(火) 23:50:06ID:???0429nobodyさん
2008/06/10(火) 23:52:16ID:???http://pc11.2ch.net/test/read.cgi/blog/1188704566/
検索くらいしようぜ・・
0430nobodyさん
2008/06/10(火) 23:57:26ID:???なんでこのスレに来るのか激しく疑問だ
0431nobodyさん
2008/06/11(水) 00:09:42ID:???んでこのスレをこの板の総合質問スレと思ったとか?
0432nobodyさん
2008/06/11(水) 01:28:09ID:???墨付き括弧内はただの修飾として読み飛ばされやすい
0433nobodyさん
2008/06/11(水) 02:44:31ID:???メイン処理部分でメンバ変数のアクセサ作るのが定石なのかな?
デザインパターンもっと勉強しておくんだったな。
0434nobodyさん
2008/06/11(水) 02:49:26ID:???0435nobodyさん
2008/06/11(水) 04:51:30ID:???後々の管理がどうたらこうたらほざく痴呆のために、>>434が言うようにまとめておけばよい。
0436nobodyさん
2008/06/11(水) 06:49:49ID:???0438nobodyさん
2008/06/11(水) 11:03:07ID:???0439nobodyさん
2008/06/11(水) 12:15:45ID:FwH5w6fUマニュアルを見る限りinsertやupdateの際に
beginを宣言していないようなのですが、明示的に宣言しなくても
関数が勝手にやってくれているのでしょうか?
0441nobodyさん
2008/06/11(水) 12:37:07ID:FwH5w6fUありがとうございます
0442nobodyさん
2008/06/11(水) 12:51:14ID:???mysql_query('COMMIT;');
0443nobodyさん
2008/06/11(水) 15:20:36ID:dkaR05Is表示するにはどうすればいいのでしょうか?
やはり、str_replaceなどでの置き換えでしょうか?
0444nobodyさん
2008/06/11(水) 15:24:28ID:???0445nobodyさん
2008/06/11(水) 18:50:21ID:???スクリプトの実行前なのか、実行中なのか。
実行中ならどの時点なのか知りたいです。
0446445
2008/06/11(水) 18:51:05ID:zOqFVLX/0447nobodyさん
2008/06/11(水) 19:16:57ID:???0449nobodyさん
2008/06/11(水) 19:21:50ID:???0450nobodyさん
2008/06/11(水) 19:42:57ID:xqxU9BrJ入力結果が反映されて値に入っているフォームも同時に返したいんだが、
これをいちいちプログラムで書かずに実行するライブラリとかありませんかね?
イメージ:
<form method="post" action="/">
<input type="text" name="foo" value="" />
</form>
で「こんにちは」と検索したら、
<form method="post" action="/">
<input type="text" name="foo" value="こんにちは" />
</form>
検索結果と共に↑をそのまま出力してくれる感じ。
いちいち手書きで値を入力したプログラム書くのが
なんだかバカバカしくなって……。
0451nobodyさん
2008/06/11(水) 19:45:12ID:???0452nobodyさん
2008/06/11(水) 19:51:29ID:???なんかサイズが大きいとエラーもはかずにスクリプトがとまっちまう。
0453nobodyさん
2008/06/11(水) 19:51:55ID:???何か問題が?
ちなみに、今はフォームを書き出す関数を作り、
引数なしだったら、デフォルト書き出し。
引数付きだったら、値付き書き出し、
という処理で対処してますが、
なんだか美しくないです。
0454nobodyさん
2008/06/11(水) 19:55:09ID:???別にpostでもいいけど
0457nobodyさん
2008/06/11(水) 21:41:12ID:???<form method="post" action="/">
<input type="text" name="foo" value="<?php echo get_post('foo') ?>" />
</form>
function get_post($name){
return (isset($_POST[$name]))? $_POST[$name] : "";
}
とかやっておけば、POST送信後でも送信前でも、問題なく動くと思うけど、こういうのじゃダメ?
0458450
2008/06/11(水) 22:26:42ID:???これをもう少し効率化した関数を作っているのですが、
結局、フォームの内容が変われば、
それに合わせて関数を書き換える必要があります。
$_REQUEST( or $_POST or $_GET )に作られる配列のキーと、
そのformの持つname属性は必ず一致するはずです。
上記を前提に、
どんなフォームでも送信前は通常と送信後は値を代入した、
汎用的なライブラリが存在しないかな?と思い、質問しました。
ないようなら、作ろうかと。
0459nobodyさん
2008/06/11(水) 23:02:11ID:FV2F4cCvforeach($_POST as $k => $v)
}
0460nobodyさん
2008/06/11(水) 23:02:47ID:FV2F4cCvforeach($_POST as $k => $v)
}
0462nobodyさん
2008/06/11(水) 23:19:21ID:???そうすると、form内容部分を全部PHPコードで出力するようなことになりそうだけど。(echoとかして)
ソレをやっちゃうとデザイン組むのが面倒くさそうだね。
使ったこと無いけど、PEAR::HTML_QuickFormとかはどうなんだろうね。
テンプレートを作らないでフォーム生成するってなら、QuickFormでもなんか出来そうじゃない?
0463450
2008/06/11(水) 23:25:43ID:???ifがないです。
そもそも、>>459だと、クエリが存在しないデフォルト表示は、どうするんでしょう?
そして、クエリのキーと一致するフォーム内要素の(特に)typeをどう判別するのでしょう?
とても傲慢な書き方になってしまいますが、
そういうことが聞きたいのではありません。
>>462
とりあえず、本命と思われるQuickFormのライブラリ群を眺めましたが、
該当する機能が見つかりませんでしたので、質問してみました。
結局、従来のQuickFormで作っても、
手書きと同じようにフォームの要素ごとに場合分けしないといけないのです。
もういっそ、QuickFormの拡張ライブラリの形で作ってみようと思います。
CPANモジュールしか作ったことがないので、PEARのルールがよく分かりませんが、
個人的に使う分には問題ないだろうとw
0464nobodyさん
2008/06/11(水) 23:39:41ID:???とっとと作ってくれ
コード見りゃ理解できるかもしれないからなw
0465nobodyさん
2008/06/11(水) 23:59:08ID:???まぁ、フォーム一個作るのに、Attributeの指定を一つ一つに施したりだとか、
プロパティ値で内容いじるぐらいだったら、
上であげた形で、普通にHTMLのコードに関数差し込んだ方が、楽じゃない?
結局最初にフォーム作ってフォームデザインするときにはHTMLかいて調子整えたりするわけだし。
0466450
2008/06/12(木) 03:44:55ID:???ソース汚いのは突発で書いたから我慢して。
$form = <<<_EOF_
<form method="post" action="/">
<input type="text" name="name" value="" />
<input type="text" name="name2" value="" />
<input type="text" name="name3" />
</form>
_EOF_;
$obj = simplexml_load_string( $form );
$array = get_object_vars( $obj );
if( !empty( $_REQUEST ) ) {
foreach( $_REQUEST as $q_key => $q_value ) {
foreach( $array as $key => $value ) {
if( $key <> '@attributes' ) {
if( is_array( $array[$key] ) ) {
for( $i = 0; $i < count( $array[$key] ); $i++ ) {
if( $q_key == $array[$key][$i][name] ) {
isset( $array[$key][$i][value] ) ?
$array[$key][$i][value] = $q_value :
$array[$key][$i]->addAttribute( 'value', $q_value );
}}}}}}}
$result = $obj->asXML();
$result = str_replace( '<?xml version="1.0"?>', '', $result );
print $result;
0467nobodyさん
2008/06/12(木) 07:20:39ID:???Parse error: syntax error, unexpected T_AS in form.php on line 14
0468nobodyさん
2008/06/12(木) 07:34:42ID:???0469nobodyさん
2008/06/12(木) 09:53:55ID:???0470nobodyさん
2008/06/12(木) 11:10:16ID:???400件程度ならXMLの方がいいですよね?
いいアドバイスよろしくお願い致します。
0473nobodyさん
2008/06/12(木) 18:24:19ID:LQ12XrxFforeach($_POST as $k => $v)
}
これじゃだめなん?
if($_SERVER["REQUEST_METHOD"=="POST"){
foreach($_POST as $k => $v)
}
これなら通るのかな?
0474nobodyさん
2008/06/12(木) 19:35:58ID:???それ答えになってないと思うぞw
>>450
多分ないと思う
そもそも全く同じフォームをエラーとかで戻すとき以外に
そんな事する必要あるのってあんまりないんじゃ?
0475nobodyさん
2008/06/12(木) 19:54:41ID:???デフォルト値の引数あるでしょ。
俺はめんどいから普通に書くけど。
0476nobodyさん
2008/06/12(木) 21:26:36ID:/br5Qw5C0477nobodyさん
2008/06/12(木) 21:30:12ID:???0478nobodyさん
2008/06/12(木) 22:29:47ID:???クエリの結果を全部変数で受け取ってから、プログラム内でページング処理する?
それとも、SQLのLIMIT使って、ページ移動毎にクエリ飛ばす?
ケースバイケースなのは分かってるけど、
自分のプログラムがどっちのケースに向いてるのか
判断の基準が分からない。
検索結果数で目安とかってあるんですかね?
0479nobodyさん
2008/06/12(木) 22:36:09ID:???0480nobodyさん
2008/06/13(金) 00:15:22ID:???それだと、PHP4の案件はいってきちゃったときとか、結局面倒くさいんじゃないの。
最近はそんな案件ないのかな?
>>478
普通に後者でしょ。
配列とかやたらメモリ食うし。
0482nobodyさん
2008/06/13(金) 00:48:04ID:iGfhCZYk動作的にはsession_regenerate_idと同じだと思うのですが、
今回の場合、セッションIDを自分で指定したいのです。
session_id()で指定する場合は、session_start()の前に指定しなければならないので、
「読み込んだ後の変更」にはなりません。
実際、読み込んだ後にsession_idで指定しても、
発行されるクッキーは旧IDが入っています。
いい方法があれば教えてください。
0483nobodyさん
2008/06/13(金) 01:30:58ID:VBSX1FXWHTTPのBODY部分のサイズを取得する方法ってありますか?
バージョンは、php5です。宣しくお願いします。
0484nobodyさん
2008/06/13(金) 01:55:11ID:???面白そうだからやってみた。
<?php
require_once('./settings.php');
session_start();
print_r($_SESSION);
if(isset($_SESSION['hoge'])){
$old = $_SESSION['hoge'];
}else{
$old = 'atai';
}
session_destroy();
$a = rand();
session_id($a);
session_start();
$_SESSION['hoge'] = $old.'_atai';
?>
<a href="./session.php">hoge</a>
こんな感じでどう?
0485nobodyさん
2008/06/13(金) 01:59:37ID:???2.セッションの中身を変数に書き出し
3.とりあえずセッションの中身を破棄
4.session_idで自分で値指定(例では面倒なのでrandしてみた)
5.session_start
6.値の格納
requireしてるsettings.phpは、ini_set('session.use_trans_sid', 1)して、GETクエリにセッション渡して動作みてるのに使っただけ。
一応動いてるように見えるけど、どうでしょうね。
0486nobodyさん
2008/06/13(金) 02:06:41ID:???POSTメソッドで送られてきたHTTPのBODYって、$_POST変数に格納された値のこと?
だったら、$_POSTに格納されてる値をstrlenとればバイト数でるんじゃない?
0488nobodyさん
2008/06/13(金) 02:13:10ID:???0489nobodyさん
2008/06/13(金) 02:21:00ID:???0490nobodyさん
2008/06/13(金) 02:28:05ID:???具体性がないと、ただ難癖つけたいだけにしか見えないよ。
具体的に指摘して欲しい。
2chの行数制限を踏まえた上で。
0491nobodyさん
2008/06/13(金) 02:33:11ID:???このソースは、value値を自動的に書き換えるためだけに、生成されたHTMLを一度XML書式の配列に落として、
値の中身見て、値を突っ込むの?
こんな方法で実現させるぐらいなら、普通に処理したほうが良くない?
もしくは、Quick_Formちょろっといじって該当の機能つけるとか。
まぁ、もしくは、inputタグを生成する関数(or class)作って、REQUEST_METHODがPOSTだったときにvalue値をごにょごにょするようにするとか。
0492nobodyさん
2008/06/13(金) 02:54:37ID:???> 実際、読み込んだ後にsession_idで指定しても、
> 発行されるクッキーは旧IDが入っています。
そこでもう一回 session_start() じゃだめだっけ?
0493nobodyさん
2008/06/13(金) 03:05:52ID:???>>484でソース書いた者ですが、
あのソースで動くなら、>>492で行ってる通りっスね。
destroyって、セッション殺すわけじゃなくてセッション変数に入ってる値を破棄するだけだから。
session_start();
session_id('nantoka');
session_start();
で書き換わるね。
0494nobodyさん
2008/06/13(金) 08:48:03ID:VkO+Sagjいままではaccessで顧客情報を共有しており、それをmysqlにインポートするべく
phpmyadminをインストールしcsvにてインポートしようとしているのですが、
phpmyadminのインポートするファイル形式の選択肢がsql形式しかありません、
いろいろググってみたのですが該当する理由がわかりませんでした。
他のページでは形式が選べる的なことが書いてあるのですが、当環境では見当たらないのです。
ご教授願えるとありがたいと思います。よろしくお願いします。
0495nobodyさん
2008/06/13(金) 09:34:22ID:???0497nobodyさん
2008/06/13(金) 13:33:09ID:EDleoE9amysqlなどのDBを自前で用意するときは、
DBのサーバー名、ログインユーザー名、パス、DB名、DB内のテーブル名などがわかっているので
1. mysql_connect()でDBにアクセス→DBの任意のテーブルに文字列をINSERTするスクリプトを書いておく
2. CRONで1.を定時に実行させる
で自動投稿が可能ですが
fc2などのブログに自動投稿しようと思った場合はどのような処理や関数を使えばいいのでしょうか
こちらは掲示板の自動投稿に近いと思うのですが、
そのやり方ですら思いつきません
どうぞよろしくお願いします
0498nobodyさん
2008/06/13(金) 13:36:24ID:???0499nobodyさん
2008/06/13(金) 13:36:36ID:???レンタルブログ使った事ないから知らないけど、
cronのような機能を使えない以上は、
POSTするプログラムを用意して、
こちら側で定期実行するしかない気がするんだけど。
0500nobodyさん
2008/06/13(金) 13:47:10ID:EDleoE9aいえ、スパマーではなく単なる知的好奇心です
>>499
そうですね
そのPOSTするプログラムを作りたいのですが、
1.フォームにIDとパスワードをPOST
2.記事をPOST
このやり方がわかりません・・・
と思って質問させてもらったのですが、1、2をそのままやればできるのかもしれないと思いました
実験してなかったのでやろうと思います
0501nobodyさん
2008/06/13(金) 13:54:48ID:???0502nobodyさん
2008/06/13(金) 14:05:36ID:EDleoE9aそうですね すいません
スパム行為によって利益をあげることを目標としているスパマーは嫌いですけど
技術を身につける上での通過点としてスパム行為の知識を持っておくのはアリかなと思い、質問させてもらったのですが
こういう質問はもっとひっそりとしたところでやるべきだったのかもしれません
すいません
0503nobodyさん
2008/06/13(金) 17:41:51ID:???ここでSQLの設定ができずに登録が先に進まないんですが仕様ですか?
0504nobodyさん
2008/06/13(金) 18:43:20ID:???よくある質問(何も無いけど)を見て、もしわからなければ
お問い合わせ(エラーになるけど)で質問したらいいかも
0506nobodyさん
2008/06/13(金) 21:01:00ID:???>SQLの設定ができずに
とだけ言われても返答のしようも無いですよ。
同じものを取得して実際にインストールしてみろとでも?
なにをやって、どういうエラーが出ていて、そのソースにはこういた記述があって・・・
ぐらいは書いた上で質問してもらえると助かります。
0507nobodyさん
2008/06/14(土) 00:14:23ID:???(2) http://example.com/?bar のように、
とフォーム入力側で実現することは可能でしょうか?
<form method="get" action="./index.php">
<input type="text" name="foo" value="" />
<form>
GETでinputに値を渡して、
URLを(2)のように表示させたいのです。
.htaccessだとうまく実現できずに困っています。
0508nobodyさん
2008/06/14(土) 00:31:48ID:???0509nobodyさん
2008/06/14(土) 00:33:52ID:???0511nobodyさん
2008/06/14(土) 00:41:18ID:???foo=も消したいのか・・・
JavaScriptでURL作るなりしないと、formを普通にsubmitするだけじゃ無理じゃね?
0512nobodyさん
2008/06/14(土) 03:03:01ID:???<?php
//大雑把だけどむりやりブッ飛ばして
if(isset($_GET['foo'])){
header('Location: '."./?".$_GET['foo']);
}
//取得する?って事かな
if(isset($_GET)){
print_r($_GET);
}
?>
<form method="get" action="./">
<input type="text" name="foo" value="">
<input type="submit" value="送信">
</form>
0513nobodyさん
2008/06/14(土) 04:21:01ID:SvNsf5RjAサーバーに置いてあるa.logファイルをBサーバーから書き換えるには
何を使えばいいでしょうか?
fopen("ftp://アノニマス:パスワ@ftp.a.ne.jp/headline.log","w");
とすると、FTP server reports 553 /headline.log: Permission denied
と言うエラーが出ます。
headline.logファイルの属性は、777と666で試しました。
結果は変わらずです。
使う関数を間違えているのでしょうか?
0514nobodyさん
2008/06/14(土) 04:25:52ID:???0515nobodyさん
2008/06/14(土) 04:27:27ID:???0517nobodyさん
2008/06/14(土) 04:56:10ID:UEa+HjFVシステム). OS:Linux Vine4.2 HTTP:Apache2.2.3 PHP 5.2.6
操作1) PHPをApacheに組み込み、test.phpにアクセス(*1
. 情報が表示されたのでPHPの正常動作を判断
操作2) 自鯖のHTTPディレクトリにファイル(/var/www/html/rss/rssv.php)を作成(*2
操作3) 自鯖の公開ページにソースを記述(*3
が、RSSは表示されず、ソースを張った場所には何も表示されず
*2)のいじった場所はShift_JISで上記の結果。改変後は「ページが表示できません」エラー
*1) <?php
phpinfo();
?>
*2) <?php
require "XML/RSS.php";
$code = "UTF-8"; /*←ここいじった*/
(ry
*3) <iframe src="./rss/rssv.php?u=http://(´・ω・`).com&n=3" (ry></iframe>
何処かおかしいところがあればご教授下さい。
マニュアル他解説サイトなどを手がかりにしましたが、
自鯖公開ページとPHPは同じエンコーディングじゃないとまずいのではと思い、
その部分を変更してみましたが目標に至れず質問しますた。
0518nobodyさん
2008/06/14(土) 08:55:45ID:???0519nobodyさん
2008/06/14(土) 10:01:05ID:???どうすれば改善できるでしょうか
0522nobodyさん
2008/06/14(土) 10:38:31ID:???素早い回答ありがとうございました
ですが知識の乏しい自分にはどうしてもわかりませんでした
もう少しわかりやすくお願いできないでしょうか
0525518
2008/06/14(土) 11:19:12ID:aruCSElJもしかしてこういうことですか?
2ちゃんねるそのものが初心者なもので
一応マニュアルやリファは読んだのですが
わからなかったのでここにきました
0529nobodyさん
2008/06/14(土) 11:40:11ID:???0530nobodyさん
2008/06/14(土) 11:52:08ID:???0531nobodyさん
2008/06/14(土) 14:21:20ID:QTSkypnpは何て言っているんですか??
0532nobodyさん
2008/06/14(土) 14:45:47ID:???0533513
2008/06/14(土) 15:00:41ID:SvNsf5Rjありがとうございます
fopen("ftp://アノニマス:パスワ@ftp.a.ne.jp/headline/headline.log","w");
wwwフォルダだったので新たにheadlineフォルダを作ってそこのパーミッションを
766でやってみました。ファイルのパーミッションは666です。
次はFTP server reports 553 /headline/headline.log: No such file or directory
となりました。ファイルのパスなどは間違えていないのですが…
0535513
2008/06/14(土) 16:44:49ID:SvNsf5Rjサクラのレンタルでも調べられますか?
あと、別にFTPに拘ってるわけでもなく複数のサーバー使ってるので
それらの情報をヘッドライン.logとして書き込めれば何でもいいのですが…
オススメの関数とかありますか?
ちなみにソケットとか言うのはサーバー側が使えません。
関係ないかもしれませんが。
0536nobodyさん
2008/06/14(土) 17:27:37ID:???sakura共有なら普通にftp関数使ってユーザでログインすればいいんじゃない?
たしかftpはインスコされていたと・・・
http://www.php.net/manual/ja/function.ftp-put.php
0538nobodyさん
2008/06/14(土) 17:53:13ID:???うちのsakura共有でやってみた。以下でいけたぽい
unlink("ftp://ゆーざID:パスワード@ホストIP/home/ゆーざID/www/test.txt");
$fp = fopen("ftp://ゆーざID:パスワード@ホストIP/home/ゆーざID/www/test.txt", "w");
fputs($fp, date("Y-m-d H:i:s"));
fclose($fp);
sakuraのユーザID、パスを使う
ファイルがある場合は先に削除しないとエラーになる(上書きできないみたい)
ホストIP以降のパスはフルパス
0539535
2008/06/14(土) 18:04:15ID:SvNsf5Rjマジですか…
先にファイルのデータを読み取ってそれに追加したいのですが…
とりあえず試してみます
0540535
2008/06/14(土) 18:11:15ID:SvNsf5Rjしかし、メチャクチャ遅いのですが…
さらに書き込み終わった後、すぐにエラーでIEが閉じてしまいました…
0541nobodyさん
2008/06/14(土) 23:11:31ID:???PHPでCSVのデータを表示できる事は出来たのですが
その各項目をテーブルに収めたいのです。。
echo を使うと大変で(汗 Smartyを使うしかないのでしょうか?
0542nobodyさん
2008/06/14(土) 23:17:41ID:???<table summary="hoge">
<tbody>
<?php foreach($array as $val): ?>
<tr>
<td><?php echo $val[0]; ?></td>
<td><?php echo $val[1]; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
こういう書き方じゃダメ?
0543nobodyさん
2008/06/14(土) 23:22:53ID:???最近では非推奨らしいけど、ショートタグとか言われてる記述があるよ。
<?php echo $hoge; ?>
↓
<?=$hoge?>
0544nobodyさん
2008/06/15(日) 00:11:54ID:???0545nobodyさん
2008/06/15(日) 00:22:00ID:???0546nobodyさん
2008/06/15(日) 01:55:32ID:???0547nobodyさん
2008/06/15(日) 02:27:18ID:qXYgnKYOはどうゆうエラーですか??
0549nobodyさん
2008/06/15(日) 03:01:05ID:???0550nobodyさん
2008/06/15(日) 15:02:23ID:T2nrQoQeたまに、
Fatal error: Allowed memory size of xxxxxx bytes exhausted
を吐くのですが、エラーログにファイルパスを吐いてくれません。
php.iniの設定がまずいのでしょうか?
他のerrorはファイルパスを吐きます。
どうすれば、ファイルパスを吐かせることが出来るか、
ご教示下さい。よろしくお願いします。
出来ない場合のプランとしてob_startと、$php_errormsg
ob_get_contents()、$_SERVERなどを使ってログ出しを
しようかなと思っています。
0552nobodyさん
2008/06/15(日) 16:46:24ID:PnCbQKDpif(eregi("$value$",$host))
としているのですが仮に
ZQ068252.ppp.dion.ne.jpと言うIPがあるとして
valueに「.ppp.dion.ne.jp」と書くと規制するのですが
「ZQ068252.」の部分で規制しようとするとスルーします
どうしてでしょうか?
0553nobodyさん
2008/06/15(日) 16:58:36ID:???を
if(eregi($value,$host))
にすればok
0554552
2008/06/15(日) 17:01:46ID:PnCbQKDp最後の$はこれ以降文字があったらダメ!
みたいな設定ですかね?
とにかくありがとうございます。
0555nobodyさん
2008/06/15(日) 17:06:34ID:???0556552
2008/06/15(日) 17:06:46ID:PnCbQKDp弾くようになってしまったのですが…
それ以外何も弄っていません
0558552
2008/06/15(日) 17:17:35ID:PnCbQKDp$が行の最後で^が行の最初と書いてました…
現在も捜索中ですが「.ppp.dion.」の中間文字列など
文字列がマッチするって言う表記がありません…
調べて見ますが一言で片付くならご教授お願いします
0559nobodyさん
2008/06/15(日) 17:18:25ID:???どんだけ自己中心的なのw
0560552
2008/06/15(日) 17:21:42ID:PnCbQKDp"\/$value\/"で大丈夫でしょうか?
今から実験してみますがw
0561552
2008/06/15(日) 17:25:27ID:PnCbQKDp…つwww
ダメじゃん orz
0562nobodyさん
2008/06/15(日) 17:32:37ID:???http://pc11.2ch.net/test/read.cgi/php/1168450843/
0563nobodyさん
2008/06/15(日) 17:33:47ID:???ではじくなら
$value = "/ZQ068252\..+\.dion/";
if(eregi($value,$host)) {/*やりたいこと*/};
で、どう?検証してないから駄目かもですが。
0564nobodyさん
2008/06/15(日) 17:49:14ID:???0565nobodyさん
2008/06/15(日) 17:50:19ID:???0566nobodyさん
2008/06/15(日) 21:13:30ID:4qgDFbgLecho session_id();
というページを閲覧し、web developper(firefoxのアドオン)で
HTTPレスポンスヘッダを閲覧しても、
クッキーを設定しているフィールドが見えません。
ヘッダの、
クッキーを設定しているフィールドを見ることができるアドオンがあれば
おしえてください。
どういう生ヘッダで書かれているのかみたいんです
0567nobodyさん
2008/06/15(日) 21:55:17ID:???0568nobodyさん
2008/06/16(月) 01:33:53ID:d68qAwtQセッションクッキーを、
setcookieで上書きしたいのですが、
セッションと同名のクッキーをsetcookieで発行しても、上書きできず、
クッキーフィールドが二行になってしまいます。
セッションクッキーのフィールドを上書きする方法はないものでしょうか?
0569nobodyさん
2008/06/16(月) 03:18:40ID:???$foo = new hoge;
$bar = $foo->as_strings;
print $bar;
exit;
この場合は、正常に動作するのですが、
$foo = new hogeHoge;
$bar = $foo->as_strings;
print $bar;
exit;
class hogeHoge{
function __construct() {
}
}
0570569
2008/06/16(月) 03:21:15ID:???include_once("hogeclass.php");
$foo = new hoge;
$bar = $foo->as_strings;
print $bar;
exit;
上の例は、正常に動作するのですが、
下の例では、失敗します。
$barに何も値が入りません。
$foo = new hogeHoge;
$bar = $foo->as_strings;
print $bar;
exit;
class hogeHoge{
function __construct() {
...省略
}
...省略
}
PHPファイルで、クラスを直接扱いたい場合は
どのようにすればよろしいでしょうか?
注意点あるいは参考サイト、資料などを教えて頂けますと幸いです。
0571nobodyさん
2008/06/16(月) 03:58:25ID:???http://jp.php.net/oop5
0572nobodyさん
2008/06/16(月) 11:57:07ID:???で、例えば「あ1い」から4バイトとろうとすると文字化けしてしまう。
うまいこと文字化けせずに出せるような関数ありますか?
なければ文字化けせずにとれるうまい方法を教えてほしいのですが。
0573nobodyさん
2008/06/16(月) 12:47:09ID:???世界最高のハッカーでもそれは無理な相談だ。
2文字じゃなく4バイトなんだよな?
4バイト目がマルチバイトの一部の場合は、
3 or 5バイト取得したいってわけでもないんだよな?
この意味が分からんなら、ちょっとバイトについて勉強してこい。
この意味が分かるなら、人に伝達する努力をしろ。
0574nobodyさん
2008/06/16(月) 12:48:35ID:???それよりバイトしろ。
0575nobodyさん
2008/06/16(月) 12:51:05ID:???0576nobodyさん
2008/06/16(月) 13:01:42ID:???0577nobodyさん
2008/06/16(月) 13:08:57ID:???0578nobodyさん
2008/06/16(月) 13:55:38ID:???0580nobodyさん
2008/06/16(月) 14:05:46ID:???0582nobodyさん
2008/06/16(月) 14:10:54ID:???0583nobodyさん
2008/06/16(月) 14:29:35ID:???普通にふぃっちするだけなんだけど。
0585nobodyさん
2008/06/16(月) 15:01:09ID:???$sql = "select * from users order by id ";
$stmt = Db::singleton()->prepare($sql, array(PDO::ATTR_CURSOR, PDO::CURSOR_SCROLL));
$stmt->execute();
var_dump( $stmt->fetch( PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, 3) );
var_dump( $stmt->fetch( PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, 1) );
こんな感じ
普通にIdが1・2・3という順番でくる
0586nobodyさん
2008/06/16(月) 15:29:45ID:???ぐぐったら上から3つ目くらいに出てきた
0587nobodyさん
2008/06/16(月) 16:49:42ID:NSiUFpCpなにか良いアイデアはないでしょうか?
このとき、多次元配列の深さ(?)はマチマチです。
たとえば、
$hoge = array(
'a' => 'a1',
'b' => array(
'b1' => 'b1',
'b2' => array(
'b2_1',
'b2_2'
)
)
);
このような配列があるとき
print(in_array('b2_1', $hoge));
で、trueが返ってくるようにしたいのです。
自分なりに考えたのは
foreachで回して、もし配列だったらさらにforeachで回す、
というような方法なのですが、
もうすこしスマートなやりかたがあったら教えていただきたいのですが・・・
アドバイスお願いします。
0588nobodyさん
2008/06/16(月) 17:10:05ID:???0589nobodyさん
2008/06/16(月) 17:14:43ID:???function recursive_in_array($str, $arr){
$ret = false;
foreach($arr as $v){
if(is_array($v)) $ret = recursive_in_array($str, $v)?true:$ret;
else $ret = $v==$str?true:$ret;
}
return $ret;
}
0590587
2008/06/16(月) 17:25:50ID:NSiUFpCparray_walkという関数は知っていましたが
array_walk_recursiveという関数もあったのですね!
これをうまく使えばなんとかなりそうです。
>>589
あらかじめ関数を作って、配列が見つかったらもう一度関数を呼び出す、
ということですね!
たしかにこれならスマートにできますね!
ほんとうにみなさんの知識や発想にはいつも驚かされます。
ありがとうございました!
0591nobodyさん
2008/06/16(月) 18:28:20ID:???$target = 'b2_1';
array_walk_recursive( $hoge, create_function( '$value,$key', 'if( $value == $target ) print "true";' ) );
眠くて、全然思考がまとまらんのに、なぜこんなことやってんだろ?w
0592nobodyさん
2008/06/16(月) 19:51:28ID:pwDo5eRwPDOを使った、総レコード数を出すにはどうしたらよいでしょうか?
rowCount()は知っているのですが、これもいまいち使えません。。。
ちなみに、ページ切り替え処理をやるために、総レコード数を出そうとしています。
宜しくお願いいたします。
0594nobodyさん
2008/06/16(月) 20:23:25ID:pwDo5eRwありがとうございます。
ただ、
$SQLtxt = "SELECT COUNT(*) FROM table_name;";
$ss = $dbh->query($SQLtxt);
print "レコード数:$ss<BR>";
上記でもダメだったのですが、
数値化するために何かする必要はありますか?
0595nobodyさん
2008/06/16(月) 20:25:17ID:???0597nobodyさん
2008/06/16(月) 20:42:31ID:pwDo5eRwありがとうございます。できました!
向学ののために知りたいのですが、fechでも可能なのでしょうか?
$dbh = new PDO($host, $user, $pass);
$SQLtxt = "SELECT COUNT(*) FROM table_name;";
$ss = $dbh->fech($SQLtxt);
print "レコード数:$ss<BR>";
上記で実行したところ、fetchの行がエラーとなりました。。。
このあたり、prepareとか使えば、このあたり処理が速くできそうですね。
0598nobodyさん
2008/06/16(月) 20:42:54ID:IjgN4Ncjテキストファイル(実態はhtmlのソース)の中から、
<img src=".*">となっているところのみを抜き出して表示したいのですが、
if (preg_match_all("/<img src=.*>/si", file_get_contents("hoge.txt"), $matchs)) {
foreach ($matchs as $value) {
echo $value . "<br>\n";
&nsbp;}
}
という風な感じだと、
最初に現れる<img src=から、最後に現れる</html>まで全てmatchしてしまいます。
<img src=.*>のものだけを取り出すにはどのように改良したらよいか教えてください。
<img src="example0.jpg"><br>
<img src="example1.jpg"><br>
<img src="example2.jpg"><br>
このようにしたいです。
0602nobodyさん
2008/06/16(月) 22:00:42ID:6F6SIf0Vとして60秒間はクッキーが有効になる設定をしているのですが、
60秒経ってもクッキーが消えていない時があります。(ifでチェックすると)
こういう場合、どうすればいいのでしょうか?
アクセスする環境やPCの問題なので、仕方ないのでしょうか?
0603nobodyさん
2008/06/16(月) 22:46:53ID:???きっちり60秒で消えなければいけない場合は時計の同期を考えないといけない
誤差程度の時間で消えてるなら気にしなくても大丈夫
どうしても60秒経過の判定が必要なら
何秒に発行したかまでクッキーに書いておいて読み込んで判定させるといい
0604nobodyさん
2008/06/17(火) 00:58:42ID:uGaLdLWHheader( "Content-type:text/html;charset:utf-8" );
print "こんにちは";
?>
上記スクリプトを、
UTF-8で記述すると、IE7で文字化けします(Shift-JISで表示)。
※ ちなみに、FireFox2.0 / OPERA / Safari は、OKでした。
また、上記スクリプトの記述を、Shift-JIS にすれば、IEで正常に表示されます。
UTF-8で記述した上記のスクリプトでも、IEで文字化けしない対策はありませんでしょうか?
また、こういった事例と対策が説明されているページや資料などありましたら、
ご教示頂けましたら幸いです。
0605nobodyさん
2008/06/17(火) 01:02:32ID:???0606nobodyさん
2008/06/17(火) 01:08:30ID:???うわ……w
ありがとうございます。
もの凄い単純なミスでした。
どうして気付かないときは、半日でも一日でも気付かないんだろう……orz
0607nobodyさん
2008/06/17(火) 01:15:38ID:???$port = 8080;
$url = "http://";
$fp = fsockopen($proxy, $port);
while(!feof($fp)){
$line = fgetss($fp, 4000);
print($line);
}
fclose($fp);
このようにプロキシ経由でソースを取得します。
mb_strpos関数である文字列が最初に現れる位置を探し
mb_substr関数で上記で取得した位置に+2した値から
文字を取り出すようなプログラムを考えています。
これら2つの関数の使い方は分かるのですが
fgetssを使用しているので上手く組み込むことが出来ません。
ソースの取得法又は関数で何かご教授いただきたいです。
0608nobodyさん
2008/06/17(火) 01:18:10ID:???してループ抜けてからmb使えば?
0609568
2008/06/17(火) 01:22:10ID:???遂にセッションIDを上書きする方法を見つけました!
header('Set-Cookie: '.session_name().'='.session_id().'; path=/');
とheaderで出力したら二行になりませんでした
0610nobodyさん
2008/06/17(火) 01:28:33ID:???それらの行全体での位置を探し、取り出したいので
ループを抜け出すと一行分しかできません。
取得法を変えるしかないですかね。
0614nobodyさん
2008/06/17(火) 07:04:37ID:???0615nobodyさん
2008/06/17(火) 10:27:36ID:cJ7L3+9Aとりあえず、設定がしてあるときにはfunctionの中身を定義して、
無いときには、空のfunctionを定義しています。
0616nobodyさん
2008/06/17(火) 10:33:45ID:???0617615
2008/06/17(火) 10:42:28ID:cJ7L3+9ACだと、
#if
#define NANIKA (hogehoge())
#else
#define NANIKA ()
#endif
という風にやれば、ある条件の時のみ、hogehoge()が実行されます。
PHPのほうでは
function nanika() {hogehoge();} と
function nanika() {;} をifの分岐でそれぞれ定義しています。
今のやり方よりも、実行時の負荷の低くなるやり方があれば、教えてください。
0618nobodyさん
2008/06/17(火) 10:45:13ID:???0620602
2008/06/17(火) 11:16:09ID:???レスありがとうございます。数秒の誤差は気になりますので
やっぱりちゃんと判定できる必要があります。
>何秒に発行したかまでクッキーに書いておいて読み込んで判定させるといい 何秒に発行したかまでクッキーに書いておいて読み込んで判定させるといい
と言うのはタイムスタンプを入れてそれで判別するということでしょうか?
0621615
2008/06/17(火) 11:18:54ID:cJ7L3+9A整理しなおしてみます。
Cだと、
#if jouken
#define nanika(x) (nanika_func(x))
#else
#define nanika(x) ()
#endif
のようにすれば、nanika(hogehoge());は、
joukenのときだけnanika_func(hogehoge());を実行し、
joukenから外れる場合はnanika_func()もhogehoge()も実行されません。
PHPのほうでは
if (jouken)
function nanika(x) {nanika_func(x);} else
function nanika(x) {;}
のようにしておいて、nanika(hogehoge());というコードを書いています。
この場合、joukenに合わない場合、hogehoge();が一度実行されますが、
hogehoge();も実行されないようにできれば、
負荷を減らせられると考えています。何かありませんか?
hogehoge();が実行されるときの副作用に関しては、
現時点でも注意を払っています。
0622nobodyさん
2008/06/17(火) 11:30:17ID:???if(JOKEN) nanika(hogehoge());
ではアカンの?
0623nobodyさん
2008/06/17(火) 11:30:33ID:???そこまで負荷を気にするのであればAPC等のアクセラレータを考えたほうがいい
0624nobodyさん
2008/06/17(火) 11:36:08ID:???Cだと、条件成立時には前者が関数としてコード化され実行ファイルに組み込まれ、
不成立だと消滅する。
実行時に条件判定をするなら、これは使えないんじゃないかな。
0625615
2008/06/17(火) 12:10:45ID:cJ7L3+9Aインタプリタなスクリプト言語でも、構文解析はともかく、
実行時は処理せずスキップする何かがあるかもと思って質問しました。
よくよく考えると実行時にスキップできるような処理系なら、
特別な構文とか技を使わなくても処理をカットするように実装するだろうから、
普通に記述してれば最適なようになってるでしょうね。
>>624
実行時というか、nanika()を呼ぶたびではなく、
function nanika();の定義時にjoukenを判断するだけでかまいません。
0626nobodyさん
2008/06/17(火) 13:13:39ID:DvvNmeRSmodみたいな…
test.htmlをCGIに偽装して
test.cgiみたいにできる奴…
0627nobodyさん
2008/06/17(火) 13:19:40ID:???0628nobodyさん
2008/06/17(火) 14:25:05ID:???なぜかこちらの情報が保存されてるサイトがあったから、
MACアドレスでも収集したのかとずっと思ってたんだが、
Flashクッキーなんてものがあったのね。
知らなかったわー
0629nobodyさん
2008/06/17(火) 14:32:18ID:???0630nobodyさん
2008/06/17(火) 14:36:04ID:???0631nobodyさん
2008/06/17(火) 14:39:18ID:wifkyQV+「この商品を見てる人はこんな商品も見てます。」
こういうの良く見るけど、どうやってるのでしょうか?PHPで出来ますでしょうか?
よろしくお願いします。
0632nobodyさん
2008/06/17(火) 14:42:53ID:cLskKZdP{
$array['x'] = 15;
$array['y'] = 15;
switch($i)
{
case 1 : $array['x']++;
case 2 : $array['y']++;
case 3 : $array['x']--;
case 4 : $array['y']--;
}
for($j = 1 ; $j <= 4 ; $j++)
{
switch($j)
{
case 1 : $array['x']++;
case 2 : $array['y']++;
case 3 : $array['x']--;
case 4 : $array['y']--;
}
$array_map[] = "[{$array['x']}/{$array['y']}]";
}
}
array_unique($array_map);
print_r($array_map);
こういったループを徐々に深く(3重や4重)にしていきたいんですが、
ループを重ねるのはやはり大変なので、何か良いループ方法はありますでしょうか?
0633nobodyさん
2008/06/17(火) 15:13:18ID:???hoge.php
--------------------
function hoge(){
//code
}
main.php
---------------------
if(jouken){
require_once('hoge.php');
}
とか。
0634nobodyさん
2008/06/17(火) 15:22:28ID:???できますよ、実装は様々だけど。
例えばリファラを記録しておいて、一定数に達したらそういうメッセージ出すとか、
実際にはこんな商品を見ているという事実がなくても、
関連商品のリンクを見ているということにして貼る方法もあります。
下の方法は嘘になりますが見てる側からはわからないです。
また下の方法はHTMLだけで出来るのでPHPすら必要ないでしょうね。
0635603
2008/06/17(火) 15:42:12ID:???そういうことです。
必要なデータ+時間をクッキーで送って
時間から60秒経過していれば〜の処理をする
のような感じでいいかと
でもクッキーはユーザー側で切ったり消したり値を書き換えたりできるから
60秒きっちりが取れないかもしれない。
特に連投制限のようなものだと意図的にやってる人には効果が無いので
もしそういう処理をやろうとしているならサーバ側でも何かしないとあまり意味が無いよ。
0636PHP℃素人
2008/06/17(火) 16:35:00ID:6VYoJ2QR切断できたら便利だと思いPHPでシェルを実行するスクリプトを考え中です。
サーバOSはLinuxでユーザーに予め電源切断のみの権限を与えておきます。
<?php
echo shell_exec('shutdown -h now');
?>
としたのですがこれでよいでしょうか?
0637nobodyさん
2008/06/17(火) 16:39:44ID:???echoはしなくてもいいんじゃない?
あとパスワード設定するか誰でもアクセスできるような位置にはおかないこと
0638nobodyさん
2008/06/17(火) 16:40:27ID:???0639PHP℃素人
2008/06/17(火) 16:45:30ID:6VYoJ2QR実行したか確認したいのですがechoはいりませんか?
0640nobodyさん
2008/06/17(火) 16:54:26ID:???タイミングでは既に落ちてるんじゃ?
0641nobodyさん
2008/06/17(火) 16:54:34ID:???shutdownするってことはwebサーバも落ちるんだから確認のしようがないんじゃ?
外部のレンタルサーバにpingうつスクリプト置くか、pingうってくれるサイトから、
自鯖をシャットダウン後、ping送って確認してみるといいんじゃないか?
0643nobodyさん
2008/06/17(火) 18:41:16ID:jPkgqGii上記でHTMLエンティティに変換したのですが、
HTMLエンティティを元に戻すにはどうしたらよいのでしょうか?
0644nobodyさん
2008/06/17(火) 18:57:48ID:???http://jp.php.net/htmlspecialchars
0647nobodyさん
2008/06/17(火) 20:44:51ID:???念のために確認するが、
$array['x'] = 15;
$array['y'] = 15;
は、最初のループの内側でいいのか?
毎回初期化されるぞ。
どういう用途を想定しているのか分からんけど、再帰使えばいいと思う。
0648nobodyさん
2008/06/17(火) 20:57:00ID:???0649nobodyさん
2008/06/17(火) 21:01:32ID:???http://www.php.net/manual/ja/function.fgetcsv.php
少しはマニュアルよめ
0650nobodyさん
2008/06/17(火) 22:30:39ID:???$arr[0]['name']=イヌ
$arr[0]['color']=白
$arr[0]['sex']=オス
$arr[1]['name']=ネコ
$arr[1]['color']=黒
$arr[2]['name']=リス
$arr[2]['color']=茶
$arr[2]['sex']=オス
上記のようなデータが格納された配列「$arr」があるとして、
0にあるものを配列「$hoge0」←(name=>イヌ,color=>白,sex=>オス)
1にあるものを配列「$hoge1」←(name=>ネコ,color=>黒)
2にあるものを配列「$hoge2」←(name=>リス,color=>茶,sex=>オス)
といった感じに、各配列に分解したいのですが、その方法を教えてください。
0652nobodyさん
2008/06/17(火) 22:34:08ID:???array_walk_recursive
試しもせず、具体的なロジックまで求めだしたら、教えて君。
0653nobodyさん
2008/06/17(火) 22:59:51ID:cLskKZdP座標(15,15)から8歩でいける場所を全て抽出しようと思ってます
再帰とはどのようなものなのですか?
0654nobodyさん
2008/06/17(火) 23:09:37ID:???>>650
for( $i=0; $i < count($arr); $i++) {
foreach($arr[$i] as $key => $value) {
${hoge.$i}[$key] = $value;
}
}
>>653
関数の中でその関数を呼び出す
0655nobodyさん
2008/06/17(火) 23:54:31ID:7t0PU3Q3昔CGI-PLANTさんで配布していた
設定したファイルが更新していた場合に別ファイルで更新マークを付けられる、GETSTAMPを愛用いていました。
この度久しぶりにサイトを作る事にして、
古いデータからそのパッケージを発掘しまして、再利用する事にしました。
ところが、説明書などがなく、配布元さんでは公開停止。
ググって出てきた情報とうろ覚えの記憶で
JavaScript版の設定と記述をしたのですが、
CGI自体は動作しているのですが、HTMLでの表示が出来ません。
エラーなどではなくただスルーされてる感じなのですが、
いかんせんきちんとした説明書がないため何が足りないのかわかりません。
CGIを起動して、IDなどは一通り設定しました。
表示させたいファイルで、CGIを指定する記述と、
マークを出したい部分へはDocument〜の記述もしました。
申し訳ないのですが、どなたかこのCGIの説明書などをお持ちの方、
JavaScript版の設定方法を教えて頂けませんでしょうか。
0656nobodyさん
2008/06/17(火) 23:55:17ID:???ソレを出したいってことなら、一回発想変えてみたら?
方眼紙とか用意して点打ってみると、もっと効率のいい方法が見えてくる気がする。
function x_y($x, $y, $walk=8){
$map = array();
for($i=0;$i<=$walk;$i++){
$move_x = $i;
$move_y = $walk-$i;
for($j=0;$j<=$move_y;$j++){
$map[] = "[".($x+$move_x)."/".($y+$j)."]";
$map[] = "[".($x-$move_x)."/".($y+$j)."]";
$map[] = "[".($x+$move_x)."/".($y-$j)."]";
$map[] = "[".($x-$move_x)."/".($y-$j)."]";
}
}
return $map;
}
$map = x_y(15, 15, 8);
echo "<pre>";
print_r(array_unique($map));
echo "</pre>";
たとえばこんな。
0658655
2008/06/18(水) 00:04:28ID:29hzMdPjすみません、PHP専用のスレだと気がつきませんでした。
大変失礼しました。
0659nobodyさん
2008/06/18(水) 00:33:45ID:???0660nobodyさん
2008/06/18(水) 00:38:31ID:???もういやd
0662nobodyさん
2008/06/18(水) 00:45:48ID:???みたいなアドレスでPHP_SELFでやりましたら、
/hoge/hoge.php
のような感じで出てきたのですが、
http://localhost/hoge/hoge.php
という感じに出せないのでしょうか?
0664nobodyさん
2008/06/18(水) 01:27:41ID:???検索やキーワードで簡単に調べられるのに、それすらしないのな?
PHPのマニュアルは、スクリプト言語史上、最も親切な部類に属するのに。
だから、いつまで経ってもバカなんだよ。
まともな知識のある奴とバカの温度差が激しすぎる。
0665PHP℃素人
2008/06/18(水) 01:32:36ID:FEsYSSp5はじめにsudo設定でユーザhogeにノーパスワードおよびシステム終了権限を与える。
<?php echo shell_exec('sudo shutdown -t 5'); ?>
は白ページが出てなにも実行されない
そこでwhoコマンドであなたは?とたずねる
<?php echo shell_exec('who'); ?>
hogeですよと表示される hoge pts/0 Jun 17 20:22 (192.168.1.10)
でもsudoの実行ログを確認すると
Jun 17 22:01:45 linux sudo: (pam_unix) authentication failure; logname= uid=0 euid=0 tty= ruser= rhost= user=www-dataとなっていた
Apacheはwww-dataユーザの権限で動作しているのが原因か?
0666nobodyさん
2008/06/18(水) 01:44:19ID:???$ php -f hoge.php
こいつらってなんか違うの?
0667nobodyさん
2008/06/18(水) 01:50:39ID:???以下のサイトにあるサンプルをサーバにあげて実行したのですが、
エラーになって正常に動きません。
エラーメッセージは xmlDoc has no properties です。
ttp://www.geekpage.jp/web/google-maps-api/gxmlhttp-3.php
このサンプルでは、phpからXML出力したものを読み込んでいますが、
ためしに、読み込み先をxmlファイルにして、サーバにxmlファイルを置くと
問題なく処理されます。
他のサイトで見つけたものを試しても、PHPからのXMLではうまくいかず、
読み込み先をxmlにした場合にうまくいきます。
関係あるかわかりませんが、サーバはXREAを使っています。
よろしくお願いします。
0668nobodyさん
2008/06/18(水) 01:53:31ID:???よくわかりませんがajaxはJavaScriptですよね
よくわかりませんがheaderでこのファイルはxmlですよって教えてあげてください
よくわかりませんがxrea無料なら自動広告が原因の可能性もなきにしもあらず
よくらからないのはめんどうなので適当にレスしたからです
0669nobodyさん
2008/06/18(水) 04:43:20ID:zzNhp0Rl何かよい方法ないでしょうか?
ネカフェ専用のブラウザがあったりして特別なUA持たせてるとか、
届け出るときにIP帯も届け出て公開しなければならなくてどこかに一覧があるとか、
ネカフェは絶対特定のProxy経由で接続しないといけないとかとか・・・
犯罪予告の防止にも国として何か対策を講じてくれるのが一番なのですが、
現状ないので何かネカフェからの接続がわかるような方法がありませんか?
0670nobodyさん
2008/06/18(水) 05:06:32ID:z89NqzwY$text = "a=1@b=2@c=3@=@@";
$hash = parseText($text,"@","=");
echo $hash["a"] // 1
echo $hash["b"] // 2
echo $hash["c"] // 3
こんな感じにしたいのですが。
0671nobodyさん
2008/06/18(水) 05:12:48ID:???0672nobodyさん
2008/06/18(水) 05:27:50ID:z89NqzwY0673nobodyさん
2008/06/18(水) 06:20:16ID:z89NqzwY0675nobodyさん
2008/06/18(水) 07:26:09ID:???ここ数スレ回答し続けてるけど、怠け者の次元が桁外れ過ぎる。
はっきり言って、無能だらけ。
0676nobodyさん
2008/06/18(水) 07:43:37ID:???$temp = explode( $delimiter1, $input );
for( $i = 0; $i < count( $temp ); $i++ ) {
if( preg_match( "/^(.+?){$delimiter2}(.+?)$/", $temp[$i], $matches ) ) {
$hash[$matches[1]] = $matches[2];
}
}
return $hash;
}
ほれ、レディメイドな関数だよ。
parseTextなんて名前じゃ意味分からんから変えたよ。
俺は、PHPはじめてまだ1週間くらいなので、
言語への慣れを身につけたいから、
クソみたいな質問にも極力まじめに回答し続けてるんだけど、
質問者はこの先、未来ないぜ?
ちょっとはマジメに覚える気になれよ。
0677nobodyさん
2008/06/18(水) 07:47:45ID:???array_spliceで配列中のゴミを削除しようと思ったからだけど、
途中方向転換したから。
適当にforeachで書き換えた方が可読性は高まる。
0678nobodyさん
2008/06/18(水) 08:07:58ID:???$data = explode($sep1, $str);
foreach($data as $tmp) {
if (trim($tmp) == "") {
next($data);
} else if (preg_match("/^(.+?){$sep2}(.+?)$/", trim($tmp), $matches)) {
$hash[$matches[1]] = $matches[2];
}
}
return $hash;
}
0679667
2008/06/18(水) 08:45:28ID:???PHPからの出力に問題があるのかと思って、こちらに書かせてもらいました。
それで、ためしに広告が出ないサーバ(お金払ったところ)で試したら、
うまくいきました!!
ありがとうございました。
0680nobodyさん
2008/06/18(水) 10:31:02ID:???逆引き検索に時間が掛かると処理がここで長い時には30秒も止ることがあります。
gethostbyaddr($ip)
マニュアルを見ましたが、タイムアウトを設定できるようなことが書いていなかったのですが、
時間が掛かる場合には強制的にタイムアウトさせる方法などありますか?
逆引きできれば別の方法でもいいのですが。
0681nobodyさん
2008/06/18(水) 10:54:43ID:???set_time_limitをgethostbyaddrの前後に追加する。
前のset_time_limitは指定タイムアウト時間。
後のset_time_limitは元に戻す。
ソケット使って自作した方がいいと思うよ。
あんまり安定した関数じゃない。
0682nobodyさん
2008/06/18(水) 11:02:55ID:???...
public function method( SubClassB ) {}
}
サブクラスのメソッドの引数にクラス名を入れているサンプルをよく見るんだが、
これはどういう処理をしているの?
マニュアルのどこに載ってるかだけでもいいから教えて欲しい。
さんざん探したけど、分からなかった。
0683682
2008/06/18(水) 11:14:25ID:???class SubClassA {
...
public function method( SubClassB $hoge ) {}
}
と、引数部分にクラス名 変数となっている場合がほとんどです。
この二者の関係性がどうしても調べられずに困っています。
0684nobodyさん
2008/06/18(水) 11:28:30ID:???0685nobodyさん
2008/06/18(水) 11:31:43ID:???ありがとうございます!
クラス(オブジェクト)における型指定をしているだけなんですね。
もっと複雑な処理をしているものと思って、理解できるのか戦々恐々としてました。
勉強になりました。
0686nobodyさん
2008/06/18(水) 12:39:32ID:???http://pc11.2ch.net/test/read.cgi/php/1213356756/
くだすれPHP(超初心者用)4
http://pc11.2ch.net/test/read.cgi/php/1213356756/
くだすれPHP(超初心者用)4
http://pc11.2ch.net/test/read.cgi/php/1213356756/
くだすれPHP(超初心者用)4
http://pc11.2ch.net/test/read.cgi/php/1213356756/
くだすれPHP(超初心者用)4
http://pc11.2ch.net/test/read.cgi/php/1213356756/
とりあえず張っとく
0687nobodyさん
2008/06/18(水) 14:24:51ID:AqO1gOD5ex)
2008年06月18日14時18分だったら
200806181400
2008年6月18日14時25分だったら
200806181410
といった感じです。
そこで簡単に組んだのですが最初は毎時0分から20分ぐらいまでは使えませんでした。
(原因は分を10で割って丸めた値から単純に-1して10倍したため-10という値を吐いた)
この点を修正した後にどんどん問題はスケールが大きくなって行くことに気づきました。
結局日にちをまたぐとき(毎日0時0分から20分まで)も同様の問題が起こることになり、
月替わりのときですと、さらに面倒なことになると思うのですが、単純に解決することは出来ないでしょうか。
宜しくお願いします。
0688nobodyさん
2008/06/18(水) 14:34:01ID:???お前が「簡単に組んだ」内容を示してみろ。
あと、例示の内容だが、
ってなんか不思議なんだが。
俺なら
18→10
25→20
ってする。
0689nobodyさん
2008/06/18(水) 14:39:44ID:???0690nobodyさん
2008/06/18(水) 14:49:02ID:???688に賛成だけど
$y 年,$m 月,$d 日,$h 時, $i 分
date("YmdHi", mktime($h, (intval($i / 10) - 1) * 10, 0, $m, $d, $y))
0691nobodyさん
2008/06/18(水) 14:59:20ID:???こんなんとか?
0692nobodyさん
2008/06/18(水) 15:09:13ID:???preg_replace('/^(\d{11})./', '${1}0' ,date('YmdHi'));
0693nobodyさん
2008/06/18(水) 15:11:44ID:AqO1gOD5http://firestorage.jp/download/4aa4312921c6d26b8669b1a7ede8229b677cc851
こんな感じです。
例示についてはどうしてもそこの数字の一つ減らしたかったためです。
分かりづらかったらすみません。
>689,690
いまmktimeについて読んでいます。
ちなみに鯖はxreaです。
0694nobodyさん
2008/06/18(水) 16:25:20ID:???http://jp2.php.net/gethostbyaddr
タイムアウト付きのコードがある
0695nobodyさん
2008/06/18(水) 18:35:37ID:mVAzEHez『この画面で30秒以上経過したためタイムアウトしました。』
というのを見つけるのですが、
セッションを使ったやり方と使わないやり方が知りたいのですが実際に可能でしょうか?
教えてください
0697nobodyさん
2008/06/18(水) 18:42:25ID:mVAzEHezヤフー知恵袋です。
携帯(モバイル)でアクセスするさいの質問時によくタイムアウトしてしまいます。
0698nobodyさん
2008/06/18(水) 18:53:35ID:EJ2w77Ilfor($i=0;$i<$num;$i++){
$hoge.="<tr><td>$i</td></tr>";
}
上記に4行毎
<tr><th>No</th></tr>
を入れたいのですが
どこをどう繰り返せばいいのか教えてください。
お願いします。
0700nobodyさん
2008/06/18(水) 19:38:51ID:mVAzEHez0701nobodyさん
2008/06/18(水) 19:43:56ID:???思ったとおりの動作になるかはわからんが
$num = 10;
for ($i = 0; $i < $num; $i++) {
$hoge .= "<tr><td>{$i}</td></tr>\n";
if ($i % 3 == 0 && $i != 0) {
$hoge .= "<tr><th>No</th></tr>\n";
}
}
0702nobodyさん
2008/06/18(水) 19:44:19ID:KjbYRyD74で割って余りが無い時とかは?
0703nobodyさん
2008/06/18(水) 19:45:07ID:KjbYRyD7$iを4で割って余りを見れば
0704nobodyさん
2008/06/18(水) 19:47:39ID:NgS9+r3y以下コード
<?php
$to = $_POST[to];
$from = $_POST[from];
$body = $_POST[body];
$sub = $_POST[sub];
$frname = $from;
$fradrs = $from;
$toname = $to;
$toadrs = $to;
$subject =$sub;
$comment = $body;
mb_language("ja");
mb_internal_encoding("sjis");
$frname0 = mb_encode_mimeheader($frname);
$toname0 = mb_encode_mimeheader($toname);
$sdmail0 = "$toname0 <$toadrs>";
$mlhed = "From:\"$frname0\" <$fradrs>";
$rslt = mb_send_mail($sdmail0,$subject,$comment,$mlhed);
print "送信完了";
?>
実行すると、以下の文章が出力されます
"; $mlhed = "From:\"$frname0\" <$fradrs>"; $rslt = mb_send_mail($sdmail0,$subject,$comment,$mlhed); print "送信完了"; ?>
どなたかわかる人いましたらレスおねがいします。
0706nobodyさん
2008/06/18(水) 19:48:18ID:???これか?
http://www.tagindex.com/html_tag/page/meta_05.html
0708nobodyさん
2008/06/18(水) 19:52:19ID:???助かりました。まさにそれです。
正常に処理できました。
このソースeclipseに張ると赤い印でソースコードのエラーが出るんですよね。
たぶん、eclipseの解析が悪いだけだと思うのですが、少し気持ち悪いです。
でも、正常に動いているので、問題はないです。
0709nobodyさん
2008/06/18(水) 20:49:34ID:???0710704
2008/06/18(水) 20:58:22ID:NgS9+r3yレスありがとうございます。再度動作できる環境を整えてやりましたところ、
エラーが出てしまいました。
Parse error: syntax error, unexpected $end in /home/www/free/XXX/XXXXX/mail.php on line 42
XXXXXはサーバーのURLです。
そしてコードの42行目は、
?>
です・・・。これは鯖が悪いのでしょうか?
0711nobodyさん
2008/06/18(水) 21:04:45ID:???syntax errorって書いてあるんだから、関数が走る走らないの前に、文法エラーなんでしょうよ。
ソース確認してみたら?
0713nobodyさん
2008/06/18(水) 21:19:21ID:NgS9+r3yhttp://www2.uploda.org/uporg1488564.txt
これが全ソースなんですが、確認しても間違いはないようなんです・・・。
0715nobodyさん
2008/06/18(水) 21:27:25ID:???0716nobodyさん
2008/06/18(水) 21:27:50ID:???0717nobodyさん
2008/06/18(水) 21:34:34ID:NgS9+r3ythx!
すべてのスペース削除して実行したらうまくいった。
昨日はじめたばっかりでよくわからないけど動くと感動するね。
0718nobodyさん
2008/06/18(水) 21:59:51ID:???0719nobodyさん
2008/06/19(木) 01:37:42ID:ThD97MPb例…4つの数字『1』、『2』、『3』、『4』、『5』から
3つ選んたときの組み合わせを行います。
数字を入れ替えると、同じ組み合わせになるものは、数に含まれません。
質問1…組み合わせの数を求めたい。
質問2…組み合わせの内容を知りたい。
答え1→10通り
答え2→『1.2.3』
『1.2.4』
『1.2.5』
『1.3.4』
『1.3.5』
『1.4.5』
『2.3.4』
『2.3.5』
『2.4.5』
『3.4.5』
エクセル関数(combin)を使って、
質問1の答えを知ることができましたが、
質問2については、気合と根性で手作業で答えを導きましたが、
PHPで簡単に出来ないかと思い、書き込みしました。
よろしくお願い致します。
0720nobodyさん
2008/06/19(木) 01:41:48ID:ThD97MPb間違いがございましたので訂正致します。
訂正箇所…2行目
訂正前…4つの数字
訂正後…5つの数字
ご迷惑をお掛け致しますがよろしくお願い致します。
0721nobodyさん
2008/06/19(木) 02:09:06ID:???高校数学より中学レベル。
数字をアルファベット5個に置き換えたら分かりやすいかもね。
0723nobodyさん
2008/06/19(木) 02:19:17ID:???どっちでもいいけど。
0724nobodyさん
2008/06/19(木) 02:33:47ID:???0725nobodyさん
2008/06/19(木) 02:40:05ID:js0BBwoJ0726nobodyさん
2008/06/19(木) 02:55:41ID:???0729721
2008/06/19(木) 06:20:06ID:???最初に5*4*3の60パターン出して、
重複した数字がある要素を削除すれば、
一瞬で答えは出せるんだけど、
ここまできたら、実際の動作と同じロジックで答えを出したい。
0730nobodyさん
2008/06/19(木) 06:24:59ID:???writeCombPats(array(), 0);
function writeCombPats($vals, $level) {
if ($level == 3) {
echo implode(',', $vals)."\n";
return;
}
for($i=($vals != null? max($vals)+1: 1); $i<=5; ++$i) {
if (in_array($i, $vals)) {
continue;
}
array_push($vals, $i);
writeCombPats($vals, $level+1);
array_pop($vals);
}
}
0731nobodyさん
2008/06/19(木) 06:26:53ID:???0732721
2008/06/19(木) 06:51:26ID:???結局、全パターン試すのと変わらんロジックになった。
無駄な時間だった……。
0733721
2008/06/19(木) 06:57:06ID:???こういうのって、どこで勉強するの?
コンピュータサイエンスな教科書に載ってたりする?
それともアルゴリズム系の本に載ってるの?
ちょっと、この辺の基礎知識をたたき直したいんだけど、
お薦め本か何かあったら教えて。
0735nobodyさん
2008/06/19(木) 14:19:08ID:r2xEipfy現状は
$test["$array[0][0]"] = "value"
としても上手く代入できないので
$key = $array[0][0]
$test["$key"] = "value"
とやっています。
0736nobodyさん
2008/06/19(木) 14:21:11ID:???0737nobodyさん
2008/06/19(木) 14:41:44ID:???つまり下記のようにすればいい
$test["${array[0][0]}"] = "value"
0738nobodyさん
2008/06/19(木) 14:50:30ID:r2xEipfy変数を使い場合とはまたちょっと扱い方が違うんですね
ありがとうございました
0739nobodyさん
2008/06/19(木) 17:41:16ID:???0740nobodyさん
2008/06/19(木) 17:45:00ID:???結局、これ以外選択肢がない。
0741顔文字マニア
2008/06/19(木) 19:27:59ID:???どこいけばありますか?
0742nobodyさん
2008/06/19(木) 19:29:05ID:???0743ぬるぽん
2008/06/19(木) 19:31:12ID:887sfRZc『この鯖だけは絶対借りないほうがいい…』
という鯖があれば教えてください。
僕が今知っているのは
ABCOROTIという鯖です。
0745nobodyさん
2008/06/19(木) 19:33:59ID:AA/L6lsn/をSplitするんでは不十分なんでしょうか?
0746nobodyさん
2008/06/19(木) 19:37:03ID:???やっぱ正規表現の方が融通きくし
0748nobodyさん
2008/06/19(木) 23:27:40ID:ZPdLjFPPそんな便利なことができるなら教えてくだせえ
0749nobodyさん
2008/06/19(木) 23:28:43ID:???0750nobodyさん
2008/06/19(木) 23:39:01ID:???,r'";;;;:::::;彡-=―-=:、;;;;;;ヽ、
/;;ィ''"´ _,,,,....ニ、 ,.,_ `ヾ;;;;〉
`i!:: ,rニ彡三=、' ゙''ニ≧=、!´ 屋上へ行こうぜ・・・・・・
r'ニヽ, ( ・ソ,; (、・') i'
ll' '゙ ,;:'''"´~~,f_,,j ヾ~`''ヾ. 久しぶりに・・・・・・
ヽ) , : ''" `ー''^ヘ i!
ll`7´ _,r''二ニヽ. l キレちまったよ・・・・・・
!::: ^''"''ー-=゙ゝ リ
l;::: ヾ゙゙`^''フ /
人、 `゙’゙::. イ
0751nobodyさん
2008/06/19(木) 23:43:33ID:???0752nobodyさん
2008/06/19(木) 23:46:53ID:ThD97MPbエクセルのcombin関数と同様のがなく、ユーザー関数でできることがわかりました。
そこで、下記スクリプトを作成し、実行してみましたが、上手いこと生きませんでした。
----------
<?PHP
$a = 5 ; //総数
$b = 3 ; //抜き取り数
$c = gmp_fact($a)/(gmp_fact($b) * gmp_fact($a -$b)) //組み合わせ数
print "$c" ;
?>
---------
gmp_fact()を利用するには、
Http://www.swox.com/gmp/からGMPライブラリをダウンロードしなければならないのですが接続できません。
どうしたら良いかわからず手詰まっておりますのでご教授いただきたくお願い申し上げます。
また、上記スクリプトであっているのか、
そして、ほかに良い方法があればお教えいただきたく重ねてお願い申し上げます。
0753nobodyさん
2008/06/19(木) 23:57:47ID:???Fatal error: Exception thrown without a stack frame in Unknown on line 0
という謎のエラーが出ました
セッションハンドラの中で例外を投げてはいけないのでしょうか?
0754nobodyさん
2008/06/20(金) 00:03:01ID:???(5*4*3) / (3*2*1) って、公式で出せるし、
質問2なんて、三本木法の関数さえ、そのまま書いてくれてんじゃん。
しかし、こういう基本知識のアルゴリズム仕入れる本、どこに売ってるんだよ。
『プログラマの数学』にスクリプト言語での説明はなかったぞ。
PHPじゃなくていいから、誰か基本アルゴリズム書の良書教えてくれ。
0758687
2008/06/20(金) 00:33:44ID:???0759nobodyさん
2008/06/20(金) 00:34:52ID:TZ4JDjmYpreg_match('/[ぁ-ん]+/', $value);
としたところ、どうやら
”ー”や”・”等の記号にもマッチしてしまうようです。
(本当はひらがなだけにマッチして欲しい、、、これはこれで便利ですが。)
'/[ぁ-ん]+/'とした場合に混ざってしまう記号は他に何がありますか?
また、正確にひらがなだけマッチさせたい場合はどうすればよいのでしょうか?
0760nobodyさん
2008/06/20(金) 00:34:58ID:USTunk61検索自体の処理はできて10件ずつ表示することまではできたのですが、Googleの
ようにページ数を 1 2 3 … と並べて表示するのに全体で何ページあるのかが検索
結果とは別に必要になりました。
通常の検索はSQLでlimitを使って10件だけ取得しているのですが、件数を取得するのに
もう一度同じようなSQLを書いてcount()でレコード数を計算するのはなんだか無駄なような
気がしています。一般的にはどのようにしているのでしょうか。結果取得と総件数を取得するのに
2回SQLを発行するよりも良い方法はありますか。
PHPとMySQLを使っています。宜しくお願いします。
0761nobodyさん
2008/06/20(金) 00:47:22ID:???0762760
2008/06/20(金) 00:56:17ID:???ありがとうございます。
さっそく調べてみましたが、使用する際に全体の件数と表示データがそれぞれ
必要になるので、やはりデータベースからの取得は2回行う必要があるようでした。
名簿テーブルは10万件以上あって、あまり何度も検索したくないです。。
世間には検索エンジンのようなものがいろいろあるのですが、全体の件数を取得しながら
表示するデータだけ抽出するようなことはどのようにやっているのかと疑問に思っています。
0764nobodyさん
2008/06/20(金) 01:06:02ID:tcY9xQFv教科書を読むよりも、実践の中で自分の足らざる部分を見つけて、
それを補うためには何をしていいのか、その都度考える方が大事だよ。
かくいう私も、そのように実践してきた。
いつも、新しいことを要求されて、その度にそれに応えようと、
勉強してきました。
その甲斐もあって私は28ですが、一部上場のSIerを経て、
横浜の一角に事務所を構えるまでのIT企業の社長になりました。
ここまで書くと私のことを何がすごい超人的な人のように勘違いして
しまう方も多いと思いますが、私としてはただ自然に当たり前のことをやってきただけです。
毎日の積み重ねを大事にしていけば、きっと自分の描く未来像が現実のものとなって、
目の前に現れるでしょう。それまで、辛抱です。辛抱こそ肝要ですよ。
0765nobodyさん
2008/06/20(金) 01:08:32ID:???0766nobodyさん
2008/06/20(金) 01:28:39ID:???だから、俺は質問者じゃないんで
順列の処理や三本木法の概念は分かるんだ。
高校数学までだけどね。
ただ、そういうのを実際プログラムで書くには、
どうやって書けばいいのか、出てこない。
だから、実例が載っているようなそういう本が欲しいんだよね。
0767nobodyさん
2008/06/20(金) 01:31:48ID:tcY9xQFvそれは血の滲むような努力です。
といっても、それでは答えになっていないので、掻い摘んでいうと、
勉強とは、教科書や参考書を解くことではないということです。
もちろん、何もわからない状態では何を始めたらいいのかわからないでしょうから、
そのときに、自分のレベル・ニーズに合う専門書を購入して、基礎的な学問体系を
頭の中に叩き込むというのは初期の学習では一応有用です。
しかし、専門書は言うなれば昔の業績の集約です。
一昔二昔前に出された学術研究の成果が本という形に集約して出版されているに過ぎません。
となれば、次は最新の技術動向やいかに実務につなげていくか応用学習をして
始めて社会に通用する力となっていくのです。
雑誌、セミナー、その専門分野の人に直接会っての問答、研究会の参加、勉強する方法はいくらでもあります。
0769nobodyさん
2008/06/20(金) 01:48:22ID:pWiBbCze十分一意性のあるIDを生成するにはどうしたらいいでしょうか?
サーバのIPアドレスとマイクロ時間をmd5するだけでも十分でしょうか?
0770nobodyさん
2008/06/20(金) 02:01:42ID:tcY9xQFv人を批判するだけでは、何も進歩はありませんよ。
それがあなたの趣向だというなら、これ以上申し上げませんが。
0771nobodyさん
2008/06/20(金) 02:03:48ID:???ネタですか?
0772nobodyさん
2008/06/20(金) 02:04:15ID:???0775nobodyさん
2008/06/20(金) 02:29:59ID:???0776769
2008/06/20(金) 02:30:06ID:???これが使えそうです
ethnaでは、通信統計情報とプロセスidとマイクロ秒を使ってましたが
なぜ、uniqidを使ってないのでしょう?
>>773
なんでwindows用ですか?
0777nobodyさん
2008/06/20(金) 08:26:59ID:???0778nobodyさん
2008/06/20(金) 10:18:18ID:???ソースを丸写しにしないとなにもできないゆとりはプログラムに向いてない。
0780nobodyさん
2008/06/20(金) 10:35:42ID:AZS/SHCF文字列をスペースまでで判断し、文字数を調べるプログラムを作りたいです。いい方法があればヒントだけでも教えていただけたいです。
0781nobodyさん
2008/06/20(金) 10:37:45ID:???0782nobodyさん
2008/06/20(金) 12:09:28ID:???可読性が一気に落ちるんですが、
何とか対処する方法ありませんか?
0784nobodyさん
2008/06/20(金) 15:23:14ID:ONqtinSE結果: ABCD
print preg_replace( '|[^X](/)/+|', '$1', 'ABCDDDD' );
結果: ABD
ええええええええええ?!
普通最初と同じようにABCDになると思うんだけど。
[^X] のせいなのは分かってるけど、
なんでC(マッチ文字列の直前の一文字)まで消えるの?
※ X は何でもいい。除外キーワードを使うと発生する。
バグ? 書き方おかしい?
0785784
2008/06/20(金) 15:24:15ID:ONqtinSEprint preg_replace( '|(D)D+|', '$1', 'ABCDDDD' );
結果: ABCD
print preg_replace( '|[^X](D)D+|', '$1', 'ABCDDDD' );
結果: ABD
0786nobodyさん
2008/06/20(金) 15:31:35ID:j50/p+uL〜hoge.php?key=NOMIKONDEBOKUNOEKUSUKARIBA-
のように大文字を使っても良いのでしょうか?
0787nobodyさん
2008/06/20(金) 15:33:55ID:???1つめ、DDDDにマッチ→それをDに置き換え→ABCD
2つめ、CDDDDにマッチ→それをDに置き換え→ABD
だろ。
2つ目はX以外の1文字、D1文字、D1文字以上の連続の組み合わせだからCDDDDにマッチ
0790nobodyさん
2008/06/20(金) 15:43:40ID:???そっか。そうだよね。
冷静に考えてみたら、俺が間違ってた。
元はURLを対象にしてたんだけど、
print preg_replace( '|[^https?://](/)/+|', '$1', 'http://example.com//foo///bar.html' );
結果:http://example.co/fo/bar.html
これをhttp://example.com/foo/bar.htmlにしたいんだ。
って、スレ違いかな……?
0791nobodyさん
2008/06/20(金) 16:03:01ID:???echo preg_replace("|([^:/]{1})/+|", '$1/', 'http://example.com//foo///bar.html');
0792nobodyさん
2008/06/20(金) 16:15:48ID:???完璧です! ありがとう!
/をパターンに含む必要なんてなかったんだ。頭いい。つか、俺頭悪いorz
オライリーのやつ買うかなぁ……。
0794792
2008/06/20(金) 16:24:22ID:ONqtinSE結果: :////
う〜ん……?
http:// になると思うんだけどなぁ?
さすがに、スレ違いですので、ちょっと自分で考えてみます。
>>791さん、本当ありがとう。
0797nobodyさん
2008/06/20(金) 19:36:21ID:???正規表現道場
http://pc11.2ch.net/test/read.cgi/php/1168450843/
が詳しいと思われる。
0798759
2008/06/20(金) 20:15:44ID:TZ4JDjmY0801nobodyさん
2008/06/20(金) 20:57:41ID:???ttp://code.nanigac.com/source/wiki/view/498
全て全角ひらがなか?(UTF-8)のとこ
ちなみにそれは長音とかも除外になってるけどいいのかな?
0802759
2008/06/21(土) 02:03:52ID:uExffoGDありがとうございます
長音除外OKです
0803nobodyさん
2008/06/21(土) 12:52:26ID:13aabwExこれまで正常に動いていたページの出力処理が途中で終わってしまうようになりました。
(カレンダーの生成がされないなど。また、読み込み処理にやたら時間がかかります→ページ遷移が遅くなった)
error.logにエラーとして出力はされてないので、プログラムの問題ではないのかなと思ってるんですが…
似たような人いますか? 何が原因と考えられるでしょう?
0804nobodyさん
2008/06/21(土) 12:57:41ID:???してないのならブラウザの解釈の問題じゃないの
0805nobodyさん
2008/06/21(土) 13:12:41ID:???0806803
2008/06/21(土) 13:14:16ID:13aabwExブラウザごとの出力変更はしてません。やはりFx3の問題でしょうか
IEとsafariで確認したら、今までどおりサクサク動いています
とりあえず気にせず作業します、ありがとう
あと、Fx3ですがファイルのアップロードフィールドに一度選択されたファイルは
backspaceやdeleteで消せなくなってます。ページリロードしないと空欄に戻せません。
自前でクリアボタンを用意する必要があります。結構大問題です
皆さん気をつけてください
0807803
2008/06/21(土) 13:15:54ID:???phpとFx3の相性みたいなものがあるのかと思ったので
phpで開発してるのにperlスレで聞いてもしかたないですから 失礼しました
0808nobodyさん
2008/06/21(土) 13:52:18ID:???そのPHPの出力結果をIEで取得して、ソースをローカルに保存して、Firefox3で開いたらちゃんと表示されんのかね。
それで表示されないんだったら、HTMLの解釈の問題なんじゃない。
表示されるようなら、送出してるheaderがしょっぱいとかそういう話?
0809nobodyさん
2008/06/21(土) 14:11:20ID:???1.1beta か、1.2alpha なら Firefox3 でも動作するらしいし。
0810803
2008/06/21(土) 14:47:40ID:???どうもです Fx2で動かしてたときはサクサク動いてたんです
ということは、headerの問題ではないのかな、と。
>>809
よくわからないですが、それ入れてみます>Firebug
ありがとうございました
0811nobodyさん
2008/06/21(土) 14:57:52ID:???ごめん、>>808で言いたかったのは、
正常に表示されたときの出力結果(つまりプレーンなHTML)を一度保存して、
HTMLファイルとしてFx3で表示したら、HTMLは表示されるのかな?ってこと。
ソレが表示されないんだったら、HTMLの記述自体がぽしゃってるんじゃないかと。
0813nobodyさん
2008/06/21(土) 15:23:24ID:???ページ中にJavaScript使ってるならだけど、JavaScriptでこけてるっていう可能性は?
PHPは、サーバで処理した出力結果をブラウザに返してるわけだし、
PHPでのエラーって言うのも考えづらいかなぁと思うんだけど。
Fx3でHTTPヘッダの解釈が変わってたら、header関数で吐いてるheaderが上手く読み取られてないという可能性もありそうな。
http://www.atmarkit.co.jp/fsecurity/rensai/securitytips/030livehttp.html
Fx3で使えるか分からないけど、これで送出されるヘッダ確認できるっぽいけど。
これもまた見当違いかなー。
0814nobodyさん
2008/06/21(土) 15:51:54ID:???0815nobodyさん
2008/06/21(土) 18:58:12ID:???0816nobodyさん
2008/06/21(土) 19:24:40ID:owHyGhA6Smartyスレ確認したんですけど隔離スレになってるのでこちらで助けてください。。
index.tpl内で外部サイトにおいてある css やら js をリンクするHTMLを書いてるのですが
実際に出力されるhtmlを見ると「http://」が外れてしまいます。
<script ... src="http://example.com/ex.js">
↓
<script ... src="example.com/ex.js">
http:// が外れないようにするにはどうしたらいいのでしょうか。
{literal} で囲ったりもしてみたのですがダメでした。
0817nobodyさん
2008/06/21(土) 20:00:06ID:???0818nobodyさん
2008/06/21(土) 20:11:08ID:???変なフィルタプラグインでも呼んでるんじゃねえか?
0819nobodyさん
2008/06/21(土) 20:43:11ID:???0820nobodyさん
2008/06/21(土) 21:26:25ID:???SmartyはPHP4で書かれているので、PHP4環境でしかまともにテストしていません。だから何か不具合があっても諦めてください。
0821nobodyさん
2008/06/21(土) 21:51:51ID:???0822816
2008/06/21(土) 21:59:21ID:owHyGhA6サンクスです。
恥ずかしながら818さんがビンゴでした。
自分で "http://" を "" に置換するアウトプットフィルタ書いてました orz
今日半日くらい潰しました。ありがとうございます。。
0823nobodyさん
2008/06/21(土) 22:00:21ID:???0824nobodyさん
2008/06/21(土) 22:35:08ID:???なんとなくYUI使ってみようかとやってみたらハマッたわけなのです。
0825nobodyさん
2008/06/21(土) 22:47:50ID:???0826nobodyさん
2008/06/22(日) 00:32:52ID:LpK23FuMってレベルの、携帯で表示できるphpのアクセスカウンタについて勉強して
作ってみようかなと思っているのですが参考になるサイトまたはスクリプトを知りませんか?
ググッてはみているのですが、知識があまりないので
色々多機能なスクリプトを見ても激しく処理落ちしてしまうんででででででd
0827nobodyさん
2008/06/22(日) 00:54:46ID:???0828nobodyさん
2008/06/22(日) 01:16:24ID:kUNjCWuS<?PHP
$a="あ";
echo $a . " ";
echo escapeshellarg($a);
?>
PHP5.2.4で上のようなコードを実行すると、
あ 'あ' のように想定通りの出力が得られるのですが
PHP5.2.6(yumでアップデート)では、
あ '' という出力になり、escapeshellargが
上手く動いてくれないようです。どうしたらよいでしょうか?
0829826
2008/06/22(日) 01:53:59ID:LpK23FuMとりあえず一通りの処理の仕組みを理解したいんですよ。
送る→受け取る→表示させる。くらいしかまだわからないので…
なんでカウントできんの?って感じなんです。
0830nobodyさん
2008/06/22(日) 02:16:52ID:G75vU74Ghttp://www.e-and-a.ws/06/093.asp
つーかあなたはこっち
http://pc11.2ch.net/test/read.cgi/php/1213356756/l50
0831nobodyさん
2008/06/22(日) 02:40:53ID:LpK23FuM申し訳ない。
逝ってきます…
0832nobodyさん
2008/06/22(日) 11:33:03ID:???改行されているようにするには何をつければよいでしょうか?
\nではメモ帳では改行されません(他のエディタなら改行されてます)
よろしくお願いします
0834nobodyさん
2008/06/22(日) 12:26:05ID:???0835nobodyさん
2008/06/22(日) 14:50:21ID:v+r8Rhilhttp://example.net/test/test
とアクセスすれば、
http://example.net/test/test.(testから始まる拡張子で)にアクセスされるようにしたいです。
http://example.net/test/test.cgiがあれば
http://example.net/test/testにアクセスしたら
http://example.net/test/test.cgiが表示されるというようにです。
こう考えましたが動きませんでした。
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ (.*).(.*) [L]
0836nobodyさん
2008/06/22(日) 14:57:03ID:???あとここはPHPスレだから、mod_rewriteはスレ違い
0837nobodyさん
2008/06/22(日) 15:32:36ID:???パネェwww
0839nobodyさん
2008/06/22(日) 17:06:54ID:???0840nobodyさん
2008/06/22(日) 19:01:41ID:???メモ帳はWindowsの改行コードでしか開けない
他の多くのエディタは改行コードを見て自動判別して開く
それだけの違い
メモ帳がしょぼいということなので諦めろ
どうしてもっていうならサーバOSをWindowsにしろ
0841nobodyさん
2008/06/22(日) 19:21:43ID:???0844nobodyさん
2008/06/22(日) 22:56:04ID:???改行コード:\r\n
これで、メモ帳で正常に出力される。必ず。
つまり、どこかに落ち度があるってことだ。
0845nobodyさん
2008/06/23(月) 02:12:57ID:wqaDeiWnrequire_onceでファイルを読み込む場合に
そのファイルがあるかどうか判断する方法を探しています。
file_existsだとインクルードパスを考慮してくれないので
それ以外の方法でないでしょうか?
何故このような質問をしたのかというと、
PHP5の__autoloadを使って動的にファイルを読み込む際に、
拡張子が2パターンある為、無ければこっちの拡張子という
分岐が発生するためです。
0846nobodyさん
2008/06/23(月) 02:18:58ID:???なんでそんな処理をする必要があるのか解らないな
0847nobodyさん
2008/06/23(月) 02:19:48ID:???>何故このような質問をしたのかというと、
から読めてなかったww
0848nobodyさん
2008/06/23(月) 02:58:20ID:???require_once();
}
ってやるしかないんでないの?
0849nobodyさん
2008/06/23(月) 03:03:57ID:???0850nobodyさん
2008/06/23(月) 04:11:57ID:PQglpgvePOSTするデータって最大何文字とかありますか?
ページAからページBに送られたPOSTデータを、そのまま配列にして
一つの値として次のページに渡したいと思ってます
0851nobodyさん
2008/06/23(月) 04:20:48ID:???0852nobodyさん
2008/06/23(月) 04:40:50ID:uq5ou2cMヘッダで読み込んでいるのですが、その外部JavaScriptのソースを
HTMLを吐きださせているPHP側から制御したいと考えています。
今は外部JavaScriptのソースを呼び出す時に、
JavaScript.php?val1=hoge&val2=hoge
の様にしてURLから変数を渡しているのですが、出来ればURLからの変数受け渡しは避けたいと考えています。
HTML側に直接JavaScriptソースを書き込む以外に、URLからの変数受け渡しを避ける方法は何かありませんでしょうか?
宜しくお願いします。
0853nobodyさん
2008/06/23(月) 05:03:48ID:???0854nobodyさん
2008/06/23(月) 05:39:37ID:???偽装されるからに決まっているだろ。
お前は、インジェクションとかサニタイジングって言葉すら知らないニートか前科者だろ?www
0855nobodyさん
2008/06/23(月) 05:44:29ID:???0856nobodyさん
2008/06/23(月) 05:47:54ID:???0857nobodyさん
2008/06/23(月) 05:55:28ID:???JavaScript.phpはval1の値によって違うJavaScriptになるっていうことなのか。
サニタイズはURL避けてもじゃなくてもやっとくことじゃね。
0859nobodyさん
2008/06/23(月) 06:12:55ID:???毒は内部になるべく入らないようにするのがシステム屋として当然の思考。
初めから、毒を入れる前提で作るってどういう設計思想なのか?
0860nobodyさん
2008/06/23(月) 06:17:49ID:???○毒が入る前提
クライアント側は任意のURLを入力できるんだから毒が入る前提で考えるほうが現実的だろ。
859の当然と言い切る自信はどこから来てるのか謎だ。
0861nobodyさん
2008/06/23(月) 06:20:35ID:???単純にアウトプットの問題であって、
アウトプットを元PHPにそのまま読み込ませてるってだけ。
なら、普通にGETがイヤならPOSTでやれば?
たまたまそういう用途に使ってるってだけで、
別にこの件、JavaScriptは全く関係ないよね。
セキュリティ? それ以前のお話だろ?
0862nobodyさん
2008/06/23(月) 06:21:34ID:???<script>
var val1="hoge"
var val2="hoge"
</script>
<script type="text/javascript" src="sample .js"></script>
</head>
で、sample.jsのJavaScriptからval1を使える。
インジェクションってSQLインジェクション?
JavaScript.phpがDBとか使って毎回違うJavaScriptを動的に生成しているの?
俺には分かりません。
セッションみたいなこととかかな?
0864nobodyさん
2008/06/23(月) 06:26:37ID:???0865nobodyさん
2008/06/23(月) 06:30:02ID:???val1やval2の値以外も動的に変わるJavaScriptとかDBにアクセスる必要あるとかなら
HTML側に直接JavaScriptソースを書き込めばいいよ。
0866nobodyさん
2008/06/23(月) 06:32:10ID:???残念ながら毒が100%入らないシステムは不可能なのだよ。
>>861
POSTでどうやって読み込ませると?
0867nobodyさん
2008/06/23(月) 06:33:26ID:???0870859
2008/06/23(月) 06:42:21ID:???俺は、「毒は内部になるべく入らないようにする」と主張しただけで、
誰も、毒が入らない前提で作れなんていってないだろ。
始めから、脆弱性が分かっている仕組みを作るな、といっているのに、
毒が入らないシステムを作れ、なんて一言も言ってないぞ。
俺が「毒を入れる前提で作るな」と書いたのが、
「毒が入らないシステム前提で作るな」と勝手な脳内変換されて馬鹿なレスが続いて吹いたww
0874nobodyさん
2008/06/23(月) 06:48:48ID:???それは仕方のないことなのか。
0875nobodyさん
2008/06/23(月) 06:49:03ID:???バカの相手疲れる。
function stringPost(){
var form=document.getElementById(form_id);
var postString=form.text.value;
postString=encodeURIComponent(postString);
var obj=XMLRequest();
obj.onreadystatechange = function(){
if (obj.readyState == 4 && obj.status == 200){
req=obj.responseText;
//hogehoge
}
}
var URL='responseURL';
obj.open("POST",URL,true);
obj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
obj.send('string='+postString);
}
0876nobodyさん
2008/06/23(月) 06:59:48ID:???0877nobodyさん
2008/06/23(月) 07:04:29ID:???どうせAdsenseなんだろ。
0879nobodyさん
2008/06/23(月) 07:31:51ID:???煽ってる奴に比較すれば遙かにまとも。無知を棚にあげて恥ずかしくないの?
0880nobodyさん
2008/06/23(月) 07:39:56ID:???屁理屈だけが得意って感じだね
JavaScript使えばPOSTできるのは当たり前でしょw
それが>>852に対して提示する解決方法なの?
信じられないんだけどww
あと、課金者はsageてる人のIDも見えるから
そこんとこ宜しくねww
0881fushianasan
2008/06/23(月) 07:50:54ID:???可哀想だからそんなにムリしなくてもいいんだよ。
ほら、リモホくらい見せてやるから。
さすがに痛々しいわ……w
0884880
2008/06/23(月) 07:58:51ID:???痛々しいとか言うだけじゃなくてマトモに言い返してみせてよ。
>>852への解決方法がAjaxでPOSTしろなんて
ギャグとしか思えないんだけどww
他には浮かばなかったの?
0886nobodyさん
2008/06/23(月) 08:21:27ID:???これ最後ね。
ちょうど、Djangoでハマッて現実逃避してるとこだしなw
>あと、課金者はsageてる人のIDも見えるから
こういうのが無様なんだよ。やめようぜ。
何の課金だよw ●か? 株か? モリタポか? 言ってみてくれよ。
自分の知識を前提として、世の中を捉えてると、
視野が狭いどころじゃない、いずれ苦痛を味わうハメになる。
それをゆっくり理解していってくれ。
>JavaScript使えばPOSTできるのは当たり前でしょw
それができないと強く主張する奴に対して、「できるよ」と伝えた。
そして、どうしてもできないと言い張る奴に対して具体例を見せた。
それだけの話だよ。理路整然としていると思うけど。
>それが>>852に対して提示する解決方法なの?
仮に、外部JavaScriptが自分で書き出せる範囲なら、
PHPで書き出す処理に作り替えればいいだけだし、
上記の環境が不可能かどうかすら書いていないから、
それに対して、より具体的な回答はムリだよね? 分かるよね?
ただ「JSでGETで受け渡すのイヤだ」という要望に対して、
「じゃ、POSTでやれば?」は、まっとうな回答でしょ?
より、具体的な環境と要望を示してくれれば、
それに対して、より適切な回答を用意するのも構わないけどね。
>>>852への解決方法がAjaxでPOSTしろなんて
んなこと言ってないよw
受け渡しが目的なのに、Ajax側でPOSTしてどうすんだよw
0887nobodyさん
2008/06/23(月) 09:05:39ID:???0888nobodyさん
2008/06/23(月) 09:14:50ID:???0889nobodyさん
2008/06/23(月) 09:15:23ID:???セッション万能主義者。
完全な思考停止状態。
もう少し、質問者の仕様を理解してから言えよ
0890887
2008/06/23(月) 09:37:48ID:???ajax使ってもpostString書き換えたら一緒だろ
>>889
セッション嫌いな方なんですね
つーか>>852の情報だけでやるなら
>>862か>>865の方法がシンプルなわけだが
そもそもjavascriptファイルを動的に吐かなきゃできないってのは
ちゃんとロジックを分離できてないだけだろ
0891nobodyさん
2008/06/23(月) 10:00:09ID:???俺がセッションが嫌い理由を少しだけ教えてやるか。
セッションのデータは、セッションファイルに書き込まれる。
つまりファイル処理が発生するわけだが、
ページのリクエストが短い時間で接続されると、
前のリクエストのセッションが書き終わっていない前に、
古いセッションデータが読み込まれて大変なことになる。
そうなる頻度は、環境にもよるが10万回のうち3件前後。
弱小サイト運営しているやつには分からんだろうが、
一日数十万件のアクセスがあるサイトは、無視できなくなる。
0894nobodyさん
2008/06/23(月) 10:27:06ID:???0895nobodyさん
2008/06/23(月) 10:36:29ID:???(<!-- 1,2,3,4,5 -->とか)
それを呼び出したJSで取り出して使うってのはどう?
0896nobodyさん
2008/06/23(月) 16:13:57ID:???http://sugo69.adjt.jp/?a=intro&s=533045
0897nobodyさん
2008/06/23(月) 16:18:14ID:???>memcachedとDBでセッション管理している俺には関係ねぇ
どういう管理をしているのか分からないけど、
セッション管理に、memcachedを使うのはよくない。
アクセスが急増したりセッションに入れるデータが増えていくと、
急速にメモリーを食うようになる。それにメモリーの使用の予測がつかない。
やるならDBだと思うよ。
0898nobodyさん
2008/06/23(月) 16:27:48ID:0IlltlK0ログインしていない人までファイルが作られてしまうので、
先にクッキーにセッションIDがあるかどうか調べてからsession_start()するようにしているのですが、
これって意味のある行為でしょうか?
ファイルが作られる分の無駄な処理を減らしたいと思ってしているのですが。
0899852
2008/06/23(月) 16:45:14ID:???自分の質問でスレが荒れてしまったようで申し訳ないです。
URLからの受け渡しを避けたい理由はセキュリティ的な面と、
XHTML1.0TransitionalでURLから変数を渡そうとするとValidaterにぶーぶー文句言われるからです。
一応サニタイズはしていますが、ソースの美観の問題で工夫次第で避けられるなら避けたいなと。
JavaScript.phpに変数を渡して、それに応じてPHPで吐きだしたJavaScriptコードでDOMをいじらせたいんです。
>>862>>865
保守性の面で、JavaScriptはHTMLソースから完全に分離して管理したいこともあって、
js呼び出しに直書きJavaScriptを使うのはちょっと微妙です。
>>861
JavaScript経由無しでHTMLヘッダからPOSTって投げられるんでしょうか?
>>877
JavaScript.phpの内容はPHPで書き出しているんですが
>>887
セッションについては少し調べてみます。
>>895
HTMLコメントって外部JSから拾えるんでしょうか
0900nobodyさん
2008/06/23(月) 17:28:23ID:???掲示板やアンケート、ショップの記入欄とかは、なんとか作れそうです。
このレベル、もしくは少し上のレベルのプログラムのサンプルが
解説つきでたくさん載っている、実践的な教本があれば教えていただきたいのです。
よろしくお願いします。
0901nobodyさん
2008/06/23(月) 17:32:15ID:???0902nobodyさん
2008/06/23(月) 17:39:19ID:???PHP関連の書籍 第6版
http://pc11.2ch.net/test/read.cgi/php/1213919075/
0903nobodyさん
2008/06/23(月) 17:42:21ID:???すいませんでした。
0904nobodyさん
2008/06/23(月) 19:03:04ID:???次のプロジェクトでSQLSERVERに接続する必要が出て
再コンパイルが必要ということに行き着いたのですが、今までやったことが無く
いまいち実態がつかめていません。
php.iniやその他各種設定は保持されたままなのかといった、事後の影響が
どう出てしまうのか想像できず、怖くて踏み切れない状態です。
このあたりのことを詳細に解説してくれるようなサイトや書籍等はございますでしょうか。
0906nobodyさん
2008/06/23(月) 19:55:18ID:???>JavaScript経由無しでHTMLヘッダからPOSTって投げられるんでしょうか?
当たり前でしょ(;^ω^)
>JavaScript.phpの内容はPHPで書き出しているんですが
だから、Javascript.phpじゃなくて、外部jsそのものをPHP化できないの?って言ってる。
そしたらPHP間の通信だから、何でもできるだろ。
PHP→JSだとPOST受け渡しにAJAX使ったり多少技術力が必要になる局面もある。
つか、なんでも聞く前に調べろよ。
>>900
>>902は全く参考にならん。クソスレ。
はっきり言って要望の良書は少ない。
とりあえず、スーパーサンプルと活用編の2冊買えばいいんじゃね?
正直、PHPは簡単だから、わざわざ本買わなくても、
配布されてるやつをマニュアル片手に読み解けば、
半月でそれなりにはなれる。
>>904
なんで再コンパイルが必要なの?
php.iniの修正くらいで、普通、必要ないよ。
0907nobodyさん
2008/06/23(月) 19:56:26ID:???0909852
2008/06/23(月) 20:32:19ID:???> だから、Javascript.phpじゃなくて、外部jsそのものをPHP化できないの?って言ってる。
> そしたらPHP間の通信だから、何でもできるだろ。
説明に誤解があったようですが、外部jsそのものをPHP化しています。
その「何でも」を伺いたいです。
宜しくお願い致します。
0910nobodyさん
2008/06/23(月) 20:33:29ID:???0911age
2008/06/23(月) 20:37:48ID:DyP7tiX7PHPというよか正規表現の質問になってしまうかもですが
次のコードの出力が「aaa777aaaa」になります。
自分の予想だと「aaa777aaaa888」になると思ったのですが…。
888が入らないは正常でしょうか?
$string='11aaa1222333444555666777aaaa888';
$pattern = '/(a*)(.*?)(7*)/';
$replacement = '${1}${3}';
echo preg_replace($pattern, $replacement, $string);
0912nobodyさん
2008/06/23(月) 20:39:37ID:???なら、本当に何でもできるじゃん。POSTだろうが、他のあらゆる手段だろうが。
それとも、呼び出し側は静的なHTMLファイルなの?
なら、呼び出し側もPHPにしちゃえば?
0913nobodyさん
2008/06/23(月) 20:51:55ID:???とりあえず、jsのおいてあるディレクトリに、mod_rewriteで、書き換えるようにするのは?
<script type="text/javascript" src="hoge_hoge.js"></script>
.htaccessの中身-------
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.+?)_(.+?)\.js js.php?val1=$1&val2=$2 [L]
</IfModule>
とか。そんな感じで。
0915nobodyさん
2008/06/23(月) 21:18:08ID:???preg_replaceは、その正規表現にマッチする全てを置換するので、
何個も複合して、置換繰り返してると思われる。
preg_match_all($pattern, $string, $r);
echo "<pre>";
print_r($r);
echo "</pre>";
を見てみれば、なにやら不穏なことになっているのが分かると思う。
0916nobodyさん
2008/06/24(火) 00:01:36ID:xMpVBPQkどうしたらいいでしょうか?
$testAry = array('dog'=>5, 'cat'=>10, 'rat'=>15);
となっているとして、'dog'の位置(0)を返す方法を考えてます
調べたんですが一発で引き出せる関数があるんでしょうか?
なかったらどうしたらいいでしょう。キーはユニークです、重複しません。
アドバイスお願いします。
0917nobodyさん
2008/06/24(火) 00:15:21ID:???0918nobodyさん
2008/06/24(火) 00:22:50ID:???当 た り 前 だ w w w
array_search('dog', array_keys( $testAry ) );
0920nobodyさん
2008/06/24(火) 03:33:24ID:???分かりやすく書くと
$testAry = array();
$testAry['dog'] = 5;
$testAry['dog'] = 10;
print $testAry['dog']; // 10
0921nobodyさん
2008/06/24(火) 03:35:28ID:???0922nobodyさん
2008/06/24(火) 05:37:00ID:???$array[0] = 1 と、$array[0] = 5 は共存しない。
当たり前だよね。連想配列のKEYというのは、数字の添え字を文字に置き換えただけ。
つまり、上記と同様に、
$array['dog'] = 1 と、$array['dog'] = 5 は共存しない。
正直、>>919レベルの質問は初心者スレに書いてくれと毎回思う。
はっきり言うけど、邪魔。ちなみに俺は、>>918。
0923nobodyさん
2008/06/24(火) 05:51:34ID:???0924904
2008/06/24(火) 10:45:20ID:???mssqlの接続について調べたら、どこも再コンパイルするようにと書いてあったからなんですよ。
肝心の再コンパイルについてのことを詳しく書いてる場所が無かったので相談に乗っていただこうと
こちらに書かせていただきました。
0925nobodyさん
2008/06/24(火) 11:09:18ID:???0926nobodyさん
2008/06/24(火) 11:11:23ID:???心配ならバックアップ取るなり別マシンでやってみるなりすれば。
0927898
2008/06/24(火) 11:12:24ID:ayMy4FEX0928nobodyさん
2008/06/24(火) 11:16:51ID:???0929911
2008/06/24(火) 11:44:04ID:tF7holEsecho "<pre>";
print_r($r);
echo "</pre>";
の出力は下記のようになりました
なんで項目が44個ずつなのかワカラナイ…
*適宜改行してあります
*本文長杉出たので2回連投します
0930911
2008/06/24(火) 11:44:36ID:tF7holEs[0]=>Array([0]=>[1]=>1[2]=>[3]=>1[4]=>aaa[5]=>[6]=>1[7]=>[8]=>2[9]=>[10]=>2
[11]=>[12]=>2[13]=>[14]=>3[15]=>[16]=>3[17]=>[18]=>3[19]=>[20]=>4[21]=>
[22]=>4[23]=>[24]=>4[25]=>[26]=>5[27]=>[28]=>5[29]=>[30]=>5[31]=>[32]=>6
[33]=>[34]=>6[35]=>[36]=>6777[37]=>aaaa[38]=>[39]=>8[40]=>[41]=>8[42]=>[43]=>8[44]=>)
[1]=>Array([0]=>[1]=>[2]=>[3]=>[4]=>aaa[5]=>[6]=>[7]=>[8]=>[9]=>[10]=>[11]=>[12]=>
[13]=>[14]=>[15]=>[16]=>[17]=>[18]=>[19]=>[20]=>[21]=>[22]=>[23]=>[24]=>[25]=>
[26]=>[27]=>[28]=>[29]=>[30]=>[31]=>[32]=>[33]=>[34]=>[35]=>[36]=>[37]=>aaaa
[38]=>[39]=>[40]=>[41]=>[42]=>[43]=>[44]=>)
[2]=>Array([0]=>[1]=>1[2]=>[3]=>1[4]=>[5]=>[6]=>1[7]=>[8]=>2[9]=>[10]=>2[11]=>
[12]=>2[13]=>[14]=>3[15]=>[16]=>3[17]=>[18]=>3[19]=>[20]=>4[21]=>[22]=>4[23]=>
[24]=>4[25]=>[26]=>5[27]=>[28]=>5[29]=>[30]=>5[31]=>[32]=>6[33]=>[34]=>6[35]=>
[36]=>6[37]=>[38]=>[39]=>8[40]=>[41]=>8[42]=>[43]=>8[44]=>)
[3]=>Array([0]=>[1]=>[2]=>[3]=>[4]=>[5]=>[6]=>[7]=>[8]=>[9]=>[10]=>[11]=>[12]=>
[13]=>[14]=>[15]=>[16]=>[17]=>[18]=>[19]=>[20]=>[21]=>[22]=>[23]=>[24]=>[25]=>
[26]=>[27]=>[28]=>[29]=>[30]=>[31]=>[32]=>[33]=>[34]=>[35]=>[36]=>777[37]=>
[38]=>[39]=>[40]=>[41]=>[42]=>[43]=>[44]=>))
0931nobodyさん
2008/06/24(火) 11:45:45ID:???0932nobodyさん
2008/06/24(火) 11:57:07ID:???0933nobodyさん
2008/06/24(火) 12:05:54ID:???0934911
2008/06/24(火) 12:12:26ID:tF7holEs申し訳ない…
>>933
ちょっとスッキリ
[0] => Array
(
[0] => 1
[1] => 1
[2] => aaa1
[3] => 2
[4] => 2
[5] => 2
[6] => 3
[7] => 3
[8] => 3
[9] => 4
[10] => 4
[11] => 4
[12] => 5
[13] => 5
[14] => 5
[15] => 6
[16] => 6
[17] => 6777
[18] => aaaa8
[19] => 8
[20] => 8
0936nobodyさん
2008/06/24(火) 14:23:14ID:bfjplt45レンタル鯖にGD用のTrueTypeフォントがインストールされているのか?
↓
サポートに問い合わせ
↓
回答来たけどよく分からん
↓
俺無知乙
↓
色々ググって調べる
↓
phpinfoの./configure欄に--with-freetype-dir=/usr/localとあることが判明
↓
これって使えないの? ←いまここ
という感じで、もう一度サポートに
・/usr/local 以下のフォント一覧の表示方法(もしくは一覧そのもの)
を聞けばいいのでしょうか? それと、このフォントはCGIでも使えるのでしょうか?
ちなみに俺が最初にした質問は
>GDライブラリを使おうと思っていて、enabledであることを確認しました。
>そこで、恐らく幾つかのフォント(特にTrueTypeなどのアウトラインフォント)を
>フォローしていると思うのですが、フォントがインストールされているパスと
>フォントファイル名一覧を教えていただけないでしょうか。よろしくお願いいたします
こんな感じで、それに対する回答は各種パスやらバージョンやらPerlモジュール検索の仕方なんかで、結局フォントの在り処が分からなかったので放置してます
0937nobodyさん
2008/06/24(火) 14:40:10ID:???別にOSにインストールする必要は無い。
無かったら自分でファイル用意すりゃいいだけ。
フリーの日本語フォントもあるからそれで試したら。
0938nobodyさん
2008/06/24(火) 14:40:45ID:???0939nobodyさん
2008/06/24(火) 15:05:13ID:???通常サーバでフォントが必要になることはほとんどないと思うから
そういう但し書きが無い限りフォントは無いと思うよ。
フリーなやつ探したり、自分で買ったやつを自分の場所に置いて使うんじゃないかな。
0940936
2008/06/24(火) 15:10:48ID:bfjplt45その発想は無かった。
自分のPCにインストールして、TTFファイルをコピペして鯖に置けばいいのかな。
とにかく、ありがとう。
0941936
2008/06/24(火) 15:15:40ID:bfjplt45>freetype-dir はライブラリの置き場所指定するだけだし
/usr/local なんてどう考えてもおかしいと思ってたけど、そういうことだったのか。
丁寧な補足に感謝。
0942hoge-php-users
2008/06/24(火) 17:10:26ID:???出たいのですが、最初は雰囲気になれるために聞いているだけでいたいですorz...
過去にこういった集まりに出た方、いらっしゃいましたらご教示お願いいたします。m(_ _)m
0943nobodyさん
2008/06/24(火) 17:35:22ID:XKNDO3RBあまりよく理解していません。
echoするときに$ary[20]という変数名を使いたくない場合、
メモリを節約する(変数のコピーをしない?)にはこれでいいですか?
$ary[20]; //大きなデータ
function foo(&$ary[20]) {
//なんらかの処理
}
foo($ary[20]);
$data =& $ary[20];
echo $data;
0944シャープ
2008/06/24(火) 18:00:29ID:22rywXeuディレクトリにあるファイルで、
testから始まるファイルをすべて削除するには、どうすればよいのでしょうか?
そんなことは可能でしょうか?
0945hoge-php-users
2008/06/24(火) 18:34:02ID:???それでOKです。
メモリを節約する目的で使うのが適当か、はベンチマークとってください。
>>944さん
確か
`rm test/test*`
でできたはず
違っていたら大変なので問題ないところでテストしてください。
0946hoge-php-users
2008/06/24(火) 18:38:54ID:???`rm -rf test/test*`
レンタルサーバとかでは使えないかも…
0948943
2008/06/24(火) 19:31:24ID:XKNDO3RBありがとうございます。
安心しました。
0949nobodyさん
2008/06/24(火) 19:33:23ID:???http://jp.php.net/rmdir
の下の方にあるユーザーからのコメントを参考にすると良いよ
>>945
それはただ単にシステムコールしてるだけだろ
0950nobodyさん
2008/06/24(火) 19:57:50ID:???それをシステムコールとは言わん
0952nobodyさん
2008/06/24(火) 20:35:11ID:ED0kh2wU...
}
上のような感じで、関数の引数のデフォルト値に変数を指定できません。
どうしても実現したいのですが、下のような感じにしないとダメですか(ノ_<。)
function hoge( $foo = NULL ) {
global $bar;
if( is_null( $foo ) ) $foo = $bar;
...
}
0953シャープ
2008/06/24(火) 20:35:39ID:22rywXeu僕は、ファイルをマッチして、ループで削除を繰り返すと考えていたのですが、そのようなことはどうすればできますか?
0954nobodyさん
2008/06/24(火) 20:42:33ID:???後出しうぜー
http://www.php.net/manual/ja/function.opendir.php
http://www.php.net/manual/ja/control-structures.while.php
http://www.php.net/manual/ja/function.preg-match.php
http://www.php.net/manual/ja/function.unlink.php
あとは自力で。
0955nobodyさん
2008/06/24(火) 20:54:56ID:???マニュアル読まない房うぜー
http://www.php.net/manual/ja/functions.arguments.php
あとは自力で。
0959952
2008/06/24(火) 21:30:05ID:???ちゃんと読んでいます。
>デフォルト値は、定数式である必要があり、 (例えば) 変数やクラスのメンバーであってはなりません。
デフォルト値に変数をそのまま使えないということも理解しています。
だから、>>952に自分なりの回避案を記載し、「この方向で最適でしょうか?」と質問しているのです。
>>958
意味が分かりません。
0961952
2008/06/24(火) 21:43:58ID:???>>960
参照渡しでなく、値渡しをするだけであり、
関数外へグローバル変数への影響は一切与えませんので、
問題はないと理解していますが、使ってはいけない理由を教えて下さい。
0962nobodyさん
2008/06/24(火) 21:45:23ID:???アドバイスくれっつーからしただけだ。
まともな返答が欲しけりゃまともな質問者になれ。1も読んでないくせに減らず口叩くな。
0963nobodyさん
2008/06/24(火) 21:51:33ID:???「デフォルト引数値に変数を使う方法はありませんか」としか
思えない俺には、まともなご返答をする資格はないな
0964nobodyさん
2008/06/24(火) 21:51:45ID:???相談「引数のデフォルト値にグローバル変数を値渡ししたい」
アドバイス「グローバル変数なんて使うな」
これはアドバイスとは言わない。
つか、>>962みたいなのしかいないならいいや。
自分よりレベルが下の人間の回答は役に立たない。
0965nobodyさん
2008/06/24(火) 22:04:50ID:???それをどうしても実現しなきゃならん理由って何なの?
普通に組んでたらそんな事ってほぼ無いと思うんだが・・・
define('HOGE','aiueo');
function aaa($a = HOGE) {
echo $a;
}
aaa();
こんな感じでやったら?
0966nobodyさん
2008/06/24(火) 22:08:43ID:???function ($arg) {
extract($arg);
print $foo;
}
0967nobodyさん
2008/06/24(火) 22:10:42ID:???値渡ししたい変数というのは、
配布するスクリプトでユーザーが設定するコンフィグ変数なのです。
ですので、>>965氏のおっしゃるように、
実際は定数として扱うのが正しいのですが、
定数の書き方にしてしまうと、
PHPを知らない対象ユーザーが、間違えた書き方をしてしまう可能性が出てくるのです。
0968nobodyさん
2008/06/24(火) 22:21:46ID:???if (is_null( $foo)) $foo = $GLOBALS['bar'];
...
}
0970nobodyさん
2008/06/24(火) 22:58:15ID:???0972nobodyさん
2008/06/24(火) 23:14:26ID:???設定ファイルにしてパースしろよって思う
0975nobodyさん
2008/06/25(水) 00:14:41ID:???グローバル変数は変らない
ユーザの書き換えミスを心配するなら値チェックするフォームが妥当だと思う
is_null使う所なのか? とか全体的に違和感の有る書き方だけど
0976nobodyさん
2008/06/25(水) 00:34:40ID:???あぁ、そうだったんだ。参照渡しとかあんまりやらないから知らなかった。
ユーザ情報がなんたらとかバリデーションかますとかだったら、クラスでやったほうがいいんでないの。
とか、そういう方向性は。
0977nobodyさん
2008/06/25(水) 00:40:05ID:???グローバル関数に関してはこういうもんだから、別個にVBでも何でも良いから
ファイル書きかえる実行ファイル用意して設定を入れたphpファイル作らせて
からアップロードなりさせたら良いんじゃないの。
気になることがユーザの間違いなら対処方法としてはそれで良いんじゃねのかと
コードから自己顕示欲が漂う
0978nobodyさん
2008/06/25(水) 03:15:16ID:???そうせざるを得ないなら設計が悪い。
それでも自分のコードを押し通したいなら、別に悪コードではないから自己責任で。
0980nobodyさん
2008/06/25(水) 03:45:25ID:???これってメモリ余計に食うしバグの原因になりやすい変数でしょ
大嫌い
0982nobodyさん
2008/06/25(水) 04:03:18ID:???>相談「引数のデフォルト値にグローバル変数を値渡ししたい」
>アドバイス「グローバル変数なんて使うな」
>
>これはアドバイスとは言わない。
>つか、>>962みたいなのしかいないならいいや。
>自分よりレベルが下の人間の回答は役に立たない。
なんだこりゃ・・・親切もいいところだろ。
0983nobodyさん
2008/06/25(水) 04:12:22ID:???でも今は、なるべくローカル変数を使う傾向になってるよ
global変数はセキュリティ的にもバグ的にもチームで分担作業するにしても
あまりよくない変数です
0984nobodyさん
2008/06/25(水) 04:17:02ID:???こんな関数つくらないといけなくなるような設計が
そもそもおかしいというかw
なんでそんな関数必要になるの?マジ不思議
0985nobodyさん
2008/06/25(水) 05:21:37ID:???0986nobodyさん
2008/06/25(水) 07:59:25ID:uulTChwWセッション変数には、まったく無頓着であるということ。
セッション変数もグローバル変数と同等。
セッション変数に、あちらこちらのクラスでたくさんデータを詰め込んでいる
システムをあちらこちらでみる。
しかも、セッション変数が重複することによるバグの原因(運用で発見されることもある)
メモリーでセッションを管理している場合は、メモリーパンクでサーバーが炎上。D
0988nobodyさん
2008/06/25(水) 10:22:36ID:???http://pc11.2ch.net/test/read.cgi/php/1214356448/
次スレ
0989nobodyさん
2008/06/25(水) 10:28:23ID:???どうせモバイルAdSenseだろ。
デフォルトコードから自分でローカル変数に書き換えて作り直せよ。
0990nobodyさん
2008/06/25(水) 14:52:56ID:???グローバル変数にものすごく敏感な人が100人いるとして
セッション変数にはまったく無頓着な人は何人くらい?
0991nobodyさん
2008/06/25(水) 15:09:12ID:???0992nobodyさん
2008/06/25(水) 15:26:59ID:???0993nobodyさん
2008/06/26(木) 14:30:34ID:j2dBQxrb0994nobodyさん
2008/06/26(木) 14:32:16ID:???0995nobodyさん
2008/06/26(木) 15:16:39ID:???3割強
0996nobodyさん
2008/06/26(木) 15:33:03ID:???わざわざ関数の最初でglobal 変数名なんて
やらないといけないのだ物。
ローカル変数は何も宣言しなくても使えるのに。
Perlなんか逆に、何もつけなければグローバル変数。
ローカル変数を使うときには、my 変数名ってやるんだぜ?
0997nobodyさん
2008/06/26(木) 16:54:12ID:???0998nobodyさん
2008/06/26(木) 17:12:40ID:???0999nobodyさん
2008/06/26(木) 17:14:57ID:???【PHP】下らねぇ質問はここに書き込みやがれ 70
http://pc11.2ch.net/test/read.cgi/php/1214356448/
1000nobodyさん
2008/06/26(木) 17:16:00ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。