【PHP】質問スレッドpart17【php】
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
04/05/17 17:14ID:AT+bUkag・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。
■本家
http://www.php.net/
■日本 PHP ユーザ会
http://www.php.gr.jp/
■PHP マニュアル
http://www.php.net/manual/ja/
■PEAR マニュアル
http://pear.php.net/manual/ja/
過去スレ, 関連スレ等>>2-4
抜けているものがあったら補足願います
0002nobodyさん
04/05/17 17:16ID:AT+bUkagPart1 : http://ebi.2ch.net/php/kako/982/982687820.html
Part2 : http://pc.2ch.net/php/kako/1003/10032/1003283567.html
Part3 : http://pc.2ch.net/php/kako/1013/10139/1013919792.html
Part4 : http://pc.2ch.net/php/kako/1022/10229/1022999539.html
Part5 : http://pc.2ch.net/php/kako/1031/10317/1031721334.html
Part6 : http://pc5.2ch.net/php/kako/1038/10389/1038988518.html
Part7 : http://pc5.2ch.net/php/kako/1044/10444/1044478561.html
Part8 : http://pc5.2ch.net/php/kako/1050/10502/1050249148.html
Part9 : http://pc5.2ch.net/php/kako/1057/10579/1057947512.html
Part10: http://pc5.2ch.net/php/kako/1064/10641/1064104114.html
part11: http://pc5.2ch.net/php/kako/1067/10676/1067635640.html
part12: http://pc5.2ch.net/test/read.cgi/php/1070639208/
part13: http://pc5.2ch.net/test/read.cgi/php/1073291978/
part14: http://pc5.2ch.net/test/read.cgi/php/1076163015/
part15: http://pc5.2ch.net/test/read.cgi/php/1078592587/
part16: http://pc5.2ch.net/test/read.cgi/php/1081267619/
※前スレからの引用修正
0003nobodyさん
04/05/17 17:16ID:AT+bUkag2ch Pear Wiki
http://pear.sakura.vg/
PHP Kitchien
http://www.phpkitchen.com/
PHP Developer
http://www.phpdeveloper.org/
phpPatterns
http://phppatterns.com/
Perl/PHP Translation
http://www.cs.wcupa.edu/~rkline/perl2php/
0004nobodyさん
04/05/17 17:17ID:AT+bUkag・参考スレとか
質問される方は聞く前に調べたほうが良いと思われます。
2ch 総合ガイド
http://www.2ch.net/guide/
CGIに関する質問はこちらで
[CGI: Common Gateway Interface part 11 ]
http://pc5.2ch.net/test/read.cgi/php/1055597189/l50
CGIとPerlの区別がつかない方はこちらも
[△▲ WebProg 初心者の質問 Part8 ▼▽ ]
http://pc5.2ch.net/test/read.cgi/php/1078568723/
※過去ログに行っている場合がありますので、
見れない方は同じような名前の板を探してください
0005nobodyさん
04/05/17 21:56ID:???00071
04/05/17 22:57ID:???http://pc2.2ch.net/test/read.cgi/php/1056969979/
Pear
http://pc2.2ch.net/test/read.cgi/php/985665522/
【PHP】Smarty【Template】
http://pc2.2ch.net/test/read.cgi/php/1047225437/
■PHP関連の書籍(但しPHP出版系お断り)
http://pc2.2ch.net/test/read.cgi/php/985315574/
見落とした...。
前スレからのコピペだけどアドレスこれで合ってる??
0009nobodyさん
04/05/18 04:30ID:???require( 'config.php' ); //$db_host user passのデータ
$dname='create'; //データベースname
$dtable = 'test'; // テーブルname
$fname = 'name'; //フィールドname
$data = 'data'; //DATA
$db=mysql_connect($db_host,$db_user,$db_pass)
or die("error [$db]");
$check=mysql_select_db($dname);
if(! $check){
print ("{$dname}を作成しました<br>");
$check=mysql_select_db($dname);
}
$test = mysql_query("SELECT $fname FROM $dtable WHERE name='$data'");
if (!$test){
mysql_query("CREATE TABLE $dtable ($fname varchar(50) NOT NULL default '')");
print("テーブル作成<br>");
}else{
$rows = mysql_num_rows($test);
}
if ($rows <= 0 || !$test){
mysql_query("INSERT INTO $dtable ($fname) VALUES ('$data');");
print("レコード作成<br>");
}
mysql_close($db);
てな感じでデータベースが無ければ作成しテーブルやレコードもなければ作成するというのを試しに作ってみたのですが、
望む結果は得られましたがこんな感じでいいのでしょうか?
よい見本などがみあたらず手探りで作ってみたので非常に不安です。
あと、もっと複雑なデータベースを作りたいときに外部のSQLファイルを読み込んで作成とかさせる場合どうしたらいいのでしょうか?
0010nobodyさん
04/05/18 06:31ID:jcKTntdattp://syokunin.no-ip.org/で配布されてるweb_cart 1.02を落としました。
手順に従って設定して、設置はできたんです。
試しに注文してみたら注文者側には確認メールが届いたんですけど、
こっち(発売側)にはメールが届かないんですよね。。。
よくよく設定ファイルを見てみたら、
メールフロムという箇所しか、メールを設定するとこがないんです。
どうやったら、発売側にメールが届くんでしょうか。。。
どなたか解る方、いらっしゃいましたら、ご教授願います。
0012nobodyさん
04/05/18 07:11ID:???何を作ってるのか・作りたいのかにもよるけど
一般的にはテーブルはあらかじめ作っておくもの
あなたが何を知りたいのかがよくわからないけど
文章から察するにもうちょっとDBをどうやって扱うか、
どういうものなのかっていうのを調べた方がいいような気がする
0013nobodyさん
04/05/18 07:14ID:???ttp://syokunin.no-ip.org/setumei/settei_php.htm
注文者が入力したアドレスと同時に、$mail_fromに設定されている
アドレス(店側)にもほぼ同じメールを送信する仕様っぽい。
その辺はちゃんと設定してあり、かつ受信できるようになってる?
・・・と言うか板違いだ(゚Д゚ )ゴルァ!!
0014nobodyさん
04/05/18 07:22ID:???ぱっと見た感じ $mail_fromに設定すれば動くはずだよ。
同じ場所でTo:違いのメールを2通送信しているので片方が届いていれば鯖のメール設定も問題なさそうだし。
ああ、リロードしたら先に書かれてるよ...鬱だ寝よう...
001510
04/05/18 07:31ID:jcKTntdaサーバーのPHPのバージョンが4みたいなんだけど、
それのせいでしょうか?
$mail_fromの箇所をhotmailに設定してみたんだけど、全然届きません。
ウワァァァァァァヽ(`Д´)ノァァァァァァン!
001610
04/05/18 07:47ID:???どうやらhotmailのせいでした。。。
プロバイダから割り当てられたメアドで試したところ、
ちゃんとメールが帰ってきました。
板違いすいませんでした。。。
m(_ _)m
>>13
>>14
ありがとうございました。
00189
04/05/18 13:38ID:???何がつくりたかというかというと、遠い道のりですが最終的にはXOOPSとかみたいなかんじで
使う人があまりDB意識せずつかえるものをつくりたいと
まずは初心者らしく
てはじめにカウンターをとおもい、MYSQL使わないものと使ったものを作り
その後ipとusernameとpassword設定しておけば
データベースやテーブル、レコードなどを自動的に作るようなカウンターにしてみたいなと思い
テーブルやレコードなどがあるか?無い場合の作成はどうすればいいのか?
を調べる意味でつくってみましたが
一般的な方法としてはどんな方法があるのかきになりまして。。
0019nobodyさん
04/05/18 13:51ID:???勉強の一環として試しに作ったのであればいいんだけど
そのソースを発展させて作り上げていくつもりなら
通常のDBアクセスと、DB構築の処理は切り分けておくべき。
一番無難なのはDB周りの処理を1つまたは複数のクラスとしてまとめて、
DB構築部分は、install/install.phpのようなスクリプトにしておく。
あとは初期化時に直接install.phpを手動で開くようにしてもいいし、
index.phpなどからinstall.phpにLocationで飛ばしてもいい。
XOOPS含め大抵の物はこういった手法でやってるよ。
先人が残してくれてるソースコードを参考にしなきゃ損々。
0020名無しさん@お腹いっぱい。
04/05/18 14:48ID:w7i8F8Vxecho "$hoge[$i][1]";
上だと値がちゃんと表示されます。
下だとArray[1]表示されてしまいます。
""で囲った形で値を表示するにはどうすりゃよいでしょうか?!
0021nobodyさん
04/05/18 14:51ID:???002220
04/05/18 15:07ID:???ありがとうございます。
0023nobodyさん
04/05/18 15:12ID:???ttp://jp.php.net/manual/ja/language.types.string.php#language.types.string.parsing.complex
0024nobodyさん
04/05/18 21:30ID:???外部コマンドを非同期で呼ぶ方法を教えてください。
時間のかかる夜間バッチを、PHPの画面からボタンをクリックして
起動するようなイメージです。
当然バッチの戻りを待つ必要はありません。
環境
RedHat 9 / PHP 4.3.5 / apache 1.3.29
exec() 等で起動したいコマンドを指定すると、起動したコマンドが終わるまで
PHPが待ってしまいますが、どうやったら待たずに、即座にPHPに処理を戻せますか?
調べたところ、下記のようにコマンドの標準出力を /dev/null にリダイレクト
させるとうまくいきましたが、これしかないのでしょうか?
exec("batch.sh > /dev/null");
下記にも似たようなことが書いてありました。
http://ns1.php.gr.jp/php-jp/archives/msg07476.html
http://www.php.net/manual/ja/function.exec.php
exec("batch.sh &");
ではうまくいきませんでした。
0025nobodyさん
04/05/19 00:02ID:???FormからpostでUTF-8の日本語ファイルを選択(ここまでは正常)してsubmitすると$_FILEで取得した日本語ファイル名が空白(NUL)になってしまいます。
なんででしょーか? $_POSTを試してみます。
0026nobodyさん
04/05/19 01:42ID:???させているのですが、再読み込みをするとインラインフレームの中が全画面で表示されてしまいます。
インラインフレームの定義を保持したままでリロードする方法を教えてください。
0027nobodyさん
04/05/19 02:01ID:???ファイル名が空白?ちゃんとファイルがPOSTされてるのは確かなの?
>>26
Javascriptでインラインフレーム内のフォームにPOSTさせるとか
0028nobodyさん
04/05/19 02:28ID:???JavascriptからPHPへの受け渡して経験ないんですが、それにしてみます。
0029nobodyさん
04/05/19 09:30ID:???003025
04/05/19 13:02ID:???ファイル名の最初が日本語だと「日本語」がカットされます。
例 あいうえお.zip
ポストすると
.zip(2000Pro+IE6)
NUL(OSX10.3+IE5.2)
NUL(OSX10.3+サファリ)
あいうえお.zip(OSX10.3+モジラ)
あいうえお.zip(OSX9.2+IE5.1)
などなど
最初はOS9でPHP作ってたから気が付かなかった...
0031nobodyさん
04/05/19 14:01ID:???targetてフレーム名でも指定できるんですね。ありがと
0032nobodyさん
04/05/19 14:02ID:OfngxgLc0035nobodyさん
04/05/19 16:22ID:7KZLVZlc入れたパソコンは問題なくp2が動作したのですが
他のパソコンから見ようとするとネットワークパスワードを求められます。
ここが問題なのですが正しいパスワードを入れても認証に失敗します。
環境
windows2000pro / PHP 4.3.5 / IIS5.0
どうすれば他のパソコンから見れるようになるでしょうか?
0037nobodyさん
04/05/19 16:44ID:7KZLVZlcめくらってなんですか?
2ch語?
0040nobodyさん
04/05/19 16:53ID:7KZLVZlc以後気をつけます
0041nobodyさん
04/05/19 17:30ID:???http://www.google.co.jp/search?q=%E3%82%81%E3%81%8F%E3%82%89%E3%81%A8%E3%81%AF&ie=UTF-8&hl=ja
0042nobodyさん
04/05/19 17:34ID:???csv形式のテキストから一文字ずつ配列に取ってきているんですが、fgetcsvでエラーが出てしまいます.
print_r ($csv)とすると
2004,記念の,テスト
となり
print "$csv[0]$csv[1]$csv[5]$csv[6]"とすると
20,記
となります。
$data = fgetcsv($csv, 10000, ",");
にするとえらーがでてしまうのですが、どうやったら$dataに","を抜いた形で配列に入れることが
できるんでしょうか?よろしくお願いします。
0044nobodyさん
04/05/19 17:54ID:???0048nobodyさん
04/05/19 18:41ID:???$lines=count($data)
for($i=0; $i<$lines; $i++){
mb_ereg_replace(",","",$data[$i]);
}
0049nobodyさん
04/05/19 18:41ID:???$csvには何が入っているのさ?
質問内容を整理して、マニュアル読んで、ぐぐって、それでもわからんかったら書き込めよ
0050nobodyさん
04/05/19 18:43ID:???0051nobodyさん
04/05/19 19:32ID:???PHPはApacheのモジュールとして動かしてるのでこのマルチバイト文字列関数を
/usr/lib/pgsrl.so
などのようにコンパイルする事は出来ますか?
PHPをソースコンパイルしろってのはナシで。そうするとApacheのコンパイルもsslやらなんだかんだoption付けないといけんので手間が掛かりすぎるからです。
ぶっちゃけマルチバイト文字列関数が使えるRHL9のrpmさえあればいいんすが...
0052nobodyさん
04/05/19 23:14ID:???0053nobodyさん
04/05/19 23:41ID:???まぁLinux板にも質問してるんだけどw
http://www.teu.ac.jp/chiit/~yuhei/rpms.html
ここから手に入れてrpm -iしてんだけど、入れ替わってくれん...
0054nobodyさん
04/05/19 23:47ID:???# rpm -qi php-4.2.2-17.2.mbsupport.i386.rpm
パッケージ php-4.2.2-17.2.mbsupport.i386.rpm はインストールされていません
なんでだ??
0055nobodyさん
04/05/20 00:16ID:???PHPをソースから入れるにはApacheもソースから入れなきゃならんと思っているのに、偽造500ウォン
んで、モジュールのみコンパイルしてインストールすることも可能なはずですよ。
0056nobodyさん
04/05/20 09:17ID:???どうすればよいでしょうか?
たとえば「12000」という数字を「12,000」として表示したいです。
0058nobodyさん
04/05/20 10:19ID:???頼むから
0059遅くなって申し訳ない1
04/05/20 10:19ID:q5E1Ags3#亀レススマソ…
☆ P H P 5 ☆
http://pc5.2ch.net/test/read.cgi/php/1056969979/
#次スレのテンプレ作成時に指摘ヨロ>>980あたり
0060nobodyさん
04/05/20 10:21ID:???0062nobodyさん
04/05/20 10:52ID:WaBVWaFV0064nobodyさん
04/05/20 12:13ID:NShBOzWM@Perlでは別インストールで多くの人が知らないデーターベース利用を標準で使用できるようにし、「データーベースが簡単に取り扱える」というイメージを特に強く植えつけた。
Aウェブサイト作成への特化。例えば、セッション管理がそうだ。
Bソースの隠蔽による著作権保護を可能にした。
データーベースを使いたいが、使い方がわからない。そこに、PHPなら使えるという情報が先に入る。これで、PHPに入った人もかなり多いはず。
PHPの言語仕様はZendに大きく左右される。
二年ほど前、PHPが出始めた頃には、変数のスコープがPerlとまったく同じ仕様だった。
もともと、Perlのソースコードを改編して作成されたPHP。
↓PHPの歴史
http://php.planetmirror.com/manual/ja/history.php
PHPには、Perlコードの退行による高速化の意図が言語のいたるところに見える。
マイクロソフトは、オブジェクト指向への対応というのが大義にVB6.0からVB.NETに言語仕様を大幅に変えた。
今後も大きく言語仕様が変わることはないのか?
オープンソースとは言っても、Zend社の
http://www.zend.com/management.php
の数人のスタップによって大きく左右される。
再帰的定義とされる「PHP:Hypertext Preprocessor」という名前にも理由がある。これは、要するに、正確には、「Perl Hypertext Preprocessor」としたいところだが、GNUの「GNU is Not UNIX」という再帰的な定義をもじったものだ。
要するに、「GPLのフリーソフトのライセンスには違反していませんよ!」と一つには主張し、また、一つには、「PHP is Not Perl」とでも言って、Zendの社としての姿勢を、先人の「Perl開発者たち」から擁護する意図があったのだろう。
Nではなく、Hなのが、そのための味噌だ!Perl開発者たちは、当然、面白くないはずだ。
PHP信奉者は、六芒星(hexagram)マークのユダヤ教にでも、入信せよ!
…といいつつ、かく言う私も、PHPに乗り遅れまいと必死だが…。(^^;)
0065nobodyさん
04/05/20 12:23ID:???ぶっちゃけ55氏の指摘に追加で500ラデック
PHPのビルドは、はまると結構掛かるので
ttp://www.softagency.co.jp/mysql/LAMP/download.html#aka9
辺り使っといたら?MySQLサポート外すならSRPMからリビルドね。
0067nobodyさん
04/05/20 14:50ID:???素人ながらオブジェクト指向なコーディングをするように考えていますが、
なるべく単純で、良いお手本となるソースを公開してるところはありますか?
0068nobodyさん
04/05/20 15:00ID:???0069nobodyさん
04/05/20 15:01ID:???0070nobodyさん
04/05/20 15:13ID:???めくら:目が見えない人
文盲:字が読めない人
明盲(あきめくら):字は読めるが文章が理解できない人
0071nobodyさん
04/05/20 16:24ID:YWvMGF1q通常のメール送信はできるのですが
メール送信を行った後、別のページ(例:thanks.html)
へ飛ばしたいのですが、
if (mb_send_mail($To, $MailSubject, $MailMessage, "From:$From")) {
header("Location: thanks.html");
}
else {
echo "$cnf_NgMsg\n";
}
これだと下記のエラーがでます。
Warning: Cannot add header information - headers already sent by (output started at /home/***/***/***/index.php:6) in /home/***/***/***/mail/mail.php on line 140
form/index.php にフォームがあり、form/mail/mail.phpへ引数を渡して、
mail.phpでメールを送信している感じです。
このような場合locationを使うのは不適当なのでしょうか?
007271
04/05/20 16:26ID:YWvMGF1qメール自体は送信できるのですが、別ページに飛ばす事ができませんです。。。
007371
04/05/20 16:35ID:YWvMGF1qお邪魔しました。。
0076nobodyさん
04/05/20 18:55ID:???0079nobodyさん
04/05/20 20:02ID:???0080nobodyさん
04/05/20 21:18ID:???例えば"あひゃ"を反転させ、"ゃひあ"にしたいんですが
現時点では"痰ミあ"となってしまいます。
0081nobodyさん
04/05/20 21:23ID:???0083nobodyさん
04/05/20 22:22ID:???ここにある高速チャットを設置すると以下のようなエラーメッセージが出るんですが
どうすればうまく行きますか?
Warning: session_start(): open(/tmp\sess_7bede8e58cf70ade30189aa799a60b24, O_RDWR) failed: No such file or directory (2) in C:\home\chat.php on line 2
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at C:\home\chat.php:2) in C:\home\chat.php on line 2
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\home\chat.php:2) in C:\home\chat.php on line 2
Warning: Unknown(): open(/tmp\sess_7bede8e58cf70ade30189aa799a60b24, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0
0084nobodyさん
04/05/20 22:23ID:???Perlの時に動いていたSuexec機能はPHPでは効いていないようで、PHPから作成したファイル・ディレクトリが全てapacheのデフォルトの権限で作成されてしまいます。
なんとかPHPでもSuexec機能を使うことはできませんでしょうか?
環境は
FreeBSD 4.9
Apache 2.0.49+PHP4.3.6+MySQL4+Suexecです。
宜しくお願いします。
0085nobodyさん
04/05/20 22:34ID:???いわゆるオブジェクト指向的な
プログラミングの参考には
それほどならないだろう。
0088nobodyさん
04/05/20 23:36ID:???アプリの使い方は、アプリのところ(最も適した場所)で訊きなさい。
>>84
PHPをApacheのDSOとして組み込んじゃなくて、
CGI版のPHPをsuExecと組み合わせる。
今のバージョンのPHPはデフォルトでCLI版はビルドするけど
CGI版はオプションつけてやらないと生成しなくなってた気がする。
ところで"Suexec機能"って何?
その辺で認識違がある気がしないでもない。
0089nobodyさん
04/05/20 23:37ID:???アプリの使い方は、アプリのところ(最も適した場所)で訊きなさい。
>>84
PHPをApacheのDSOとして組み込んじゃなくて、
CGI版のPHPをsuExecと組み合わせる。
今のバージョンのPHPはデフォルトでCLI版はビルドするけど
CGI版はオプションつけてやらないと生成しなくなってた気がする。
ところで"Suexec機能"って何?
その辺で認識違がある気がしないでもない。
009089
04/05/20 23:37ID:???0091vv
04/05/21 02:16ID:???レンタル鯖使ってケータイ用サイト作ってます。
が、エンコード方法で困ってます。
やってること:
1 EUCで保存しているテキストファイルを読み込み
2 Shift-Jis変換してEchoで表示させる
ということをしたいのですが
mb_http_output('SJIS');
とかやってもうまくいきません。
なにか別の方法があるのでせうか?
0092nobodyさん
04/05/21 04:03ID:???echo mb_convert_encoding($str, "sjis", "euc");
とりあえずこれでやれ
それでなんでうまくいかないかは調べろ
てかマニュアル嫁
0094nobodyさん
04/05/21 13:35ID:9biQDb7uサイト閲覧者のブラウザー情報のうち、
表示領域の高さを取得することってできますでしょうか?
わかるかた、おながいします!
0096nobodyさん
04/05/21 13:45ID:???0097nobodyさん
04/05/21 13:50ID:???0098nobodyさん
04/05/21 13:55ID:9biQDb7u分かるのかな。などと、考えていたの私が愚かでした。
java縄で首括ってきます。
ブラウザーの検出方法
ttp://hotwired.goo.ne.jp/webmonkey/review/index82_page2.html
色深度の検出方法
ttp://hotwired.goo.ne.jp/webmonkey/2001/18/index0a.html
0099nobodyさん
04/05/21 14:02ID:???PHPで色深度検出ってなんじゃそりゃって思ったら、そういう環境変数を吐くブラウザの話じゃねーか
同じことしたいなら環境変数に「表示領域の高さ」吐くブラウザ作れ
でもってその場合もやっぱり板違い
0100nobodyさん
04/05/21 14:04ID:9YHKUH0F0101nobodyさん
04/05/21 14:12ID:???板違い
0102nobodyさん
04/05/21 14:36ID:fvdu+npM「$a = &$b;」と「$a =& $b;」は同じと考えても良いのでしょうか?
また、同じだとすると何故書き方が二通りあるの?
0104nobodyさん
04/05/21 15:16ID:???動作は同じだけど区別して書いている場合
$a = &$b; は"$bの参照"を渡す
$a =& $b; は"$b"の"参照渡し"
の意味合いを含ませているかも知れん。
0106102
04/05/21 15:55ID:???回答、ありがとうございます!では気にしないことにします。
書き方が二通りあるからには生成されるコードが違うのかも?
と気になって仕方がありませんでした。
これで心安らかにコーディングできます。
>>104
これは確かに微妙。だけど言いたいことは何となく…
0107nobodyさん
04/05/21 17:31ID:???0108nobodyさん
04/05/21 18:31ID:???PHPはCとは違うので、渡すのはあくまでも
リファレンスであってアドレスではない。
呼び名が違うということだけではなく、
仕組み上でもリファレンス≠アドレスだ。
0109nobodyさん
04/05/21 19:37ID:???disk-idにはCDを見分けるための番号
priceはそのCDの価格。
shopはいずれかのショップ名(A店,B店,C店,D店)
resultは順位
disk_id | shop_id | price | result
--------+---------+-------+--------
D151 | shopC | 1720 | 4
D151 | shopB | 1680 | 3
D151 | shopA | 1620 | 2
D151 | shopD | 1590 | 1
D152 | shopA | 2120 | 4
:
:
〜
〜
続く
0110nobodyさん
04/05/21 19:38ID:???$disk_id
array([0]=>D151[1]=>D151[2]=>D151[3]=>D151[4]=>D152)
$shop_id
array([0]=>shopC[1]=>shopB[2]=>shopA[3]=>shopD[4]=>shopA)
$result
array([0]=>4[1]=>3[2]=>2[3]=>1[4]=>4)
とこんな感じになっているのですが、これをphpでテーブルに表示する際
+------+------+------+------+------+
| D151 | shopA | shopB | shopC | shopD |
+------+------+------+------+------+
| 2 | 3 | 1 | 4 |
+------+------+------+------+
とshopAからDと順に表示するにはどうしたらいいでしょう?アドバイスよろしくお願いします。
0111nobodyさん
04/05/21 20:49ID:???+------+------+------+------+------+
| D151 | shopA | shopB | shopC | shopD |
+------+------+------+------+------+
| 2 | 3 | 4 | 1 |
+------+------+------+------+
こうだ、スンマソ
0112nobodyさん
04/05/21 21:15ID:???データベースからの取り出し方が悪いわな。
shop_id順に並べるならそのように取り出すべきでは?
SELECT * FROM table WHERE disk_id='D151' ORDER BY shop_id;
0113nobodyさん
04/05/21 21:28ID:???もしこれを一覧表示にするとなるとしてもSQL文でなんとかなりますでしょうか?
+------+------+------+------+------+
| D151 | shopA | shopB | shopC | shopD |
+------+------+------+------+------+
| 2 | 3 | 4 | 1 |
+------+------+------+------+
| D154 | shopA | shopB | shopC | shopD |
+------+------+------+------+------+
0115nobodyさん
04/05/21 22:17ID:???0116nobodyさん
04/05/21 22:19ID:???0117nobodyさん
04/05/21 22:25ID:???のですが、どういう風な記述をすればいいのでしょうか?
ereg_replaceを用いても、うまくできませんでした……。
0119nobodyさん
04/05/22 00:16ID:???0120nobodyさん
04/05/22 00:22ID:???いろいろ半端だねぇ
0122nobodyさん
04/05/22 09:16ID:FrQVvRLq3.3 クラスライブラリで汎用化のP137〜P143のサンプルプログラムを自環境で実行させたところ、(ソースの含まれるpdf:ttp://www.net-newbie.com/support/pdf2/PHP4_Part-2.pdf)
Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL result resource in /home/hoge/public_html/lib/pgselect.inc on line 33
Warning: pg_num_fields(): supplied argument is not a valid PostgreSQL result resource in /home/hoge/public_html/lib/pgselect.inc on line 34
とエラーがでて動きません。
その前の章(3.2 PHPを使ってテーブル内容を表示する)のライブラリに分けないべたなスクリプトはちゃんと動作したのですが。
だいぶ見直してみましたが、エラーのでる原因が掴めません。
助言頂けませんでしょうか。
debianアンダーでapache2.0.49/PHP4.3.4の環境で動作させています。
よろしくお願いいたします。
0124nobodyさん
04/05/22 10:26ID:prWBgoDShttp://www.csmoon.com/prog/dcnt.html ここにあるサンプルCGIを設置したんだけど
なぜかinternal Server Error が出まくって全然動かない
環境はRed Hat Linux + Apache 2.0.48です
パーミッション、転送法などが原因かな?
だれか教えて!
0126nobodyさん
04/05/22 12:15ID:FrQVvRLq>>123
pg_connectは成功してます。たぶん。。。
>>122であげましたpdfファイルのP134〜P135のスクリプトではpg_num_rowsは動いてます。
多分引数の受け渡しがおかしいような気がするのですが、いろいろやってみてもうまくいかないのです。。。
0128nobodyさん
04/05/22 12:50ID:FrQVvRLqpdfファイルからソースをコピペします。
ちょっと長いですがご容赦ください。
【ex2.php】
1 <html>
2 <head><title>Example 2</title></head>
3 <body>
4 <?php
5 require_once("pgselect.inc");
6
7 $sel = new PgSelect;
8 $sel->doSelect("SELECT day AS 年月日, tenki AS 天気, ondo AS 温度, uryou AS
雨量FROM otenki ORDER BY day");
9 ?>
10 </body>
11 </html>
0129nobodyさん
04/05/22 12:51ID:FrQVvRLq<?php
define("DBNAME", "foo"); // データベース名
define("HOST", ""); // ホスト名
define("PORT", ""); // ポート番号
define("USER", ""); // ユーザ名
define("PASSWORD", ""); // パスワード
?>
0130nobodyさん
04/05/22 12:52ID:FrQVvRLq1 <?php
2 /*
3 * 検索結果をテーブル形式で表示する
4 */
5 require_once("dbconnect.inc");
6
7 class PgSelect {
8 var $db; // データベース接続ハンドル
9
10 // コンストラクタ
11 function PgSelect() {
12 $this->db = new DbConnect();
13 }
14
15 // テーブル開始タグの印字
16 function printTableHeader() {
17 print("<table border>\n");
18 }
19
20 // 列名の印字
21 function printHeader($i, $str) {
22 print("<th>$str</th>");
23 }
24
25 // データの印字
26 function printData($i, $str) {
27 printf("<td>%s</td>\n",htmlspecialchars($str));
28 }
0131nobodyさん
04/05/22 12:52ID:FrQVvRLq30 // 検索の実行
31 function doSelect($sql) {
32 $result = $this->db->doQuery($sql); // selectを実行
33 $rows = pg_num_rows($result); // 行数を取得
34 $columns = pg_num_fields($result); // 列数を取得
35
36 $this->printTableHeader();
37
38 for ($j = 0;$j < $rows;$j++) {
39 if ($j == 0) {
40 print("<tr>");
41 for ($i = 0;$i < $columns;$i++) {
42 $str = pg_field_name($result,$i); // 列名の取り出し
43 $this->printHeader($i, $str);
44 }
45 print("</tr>\n");
46 }
47 print("<tr>");
48 for ($i = 0;$i < $columns;$i++) {
49 $str = pg_fetch_result($result,$j,$i); // データの取り出し
50 $this->printData($i, $str);
51 }
52 print("</tr>\n");
53 }
54 print("</table>\n");
55 return true;
56 }
57 }
58 ?>
0132nobodyさん
04/05/22 12:53ID:FrQVvRLq1 <?php
2 /*
3 * PostgreSQLデータベースへの接続を行なうクラス
4 */
5 require_once("def.inc");
6
7 class DbConnect {
8 var $dbname = DBNAME; // データベース名
9 var $host = HOST; // ホスト名
10 var $port = PORT; // ポート番号
11 var $user = USER; // ユーザ名
12 var $password = PASSWORD; // パスワード
13 var $con = false; // コネクションハンドル
14
15 function DbConnect() { // コンストラクタ
16 $this->getConnection();
17 }
18
19 // コネクションハンドルを返す
20 function getConnection() {
21 if ($this->con == false) {
22 return($this->doConnect());
23 }
24 return($this->con);
25 }
26
0133nobodyさん
04/05/22 12:54ID:FrQVvRLq28 // データベースに接続する
29 $constr = "";
30 if ($this->dbname != "") {
31 $constr .= "dbname={$this->dbname} ";
32 }
33 if ($this->host != "") {
34 $constr .= "host={$this->host} ";
35 }
36 if ($this->port != "") {
37 $constr .= "port={$this->port} ";
38 }
39 if ($this->user != "") {
40 $constr .= "user={$this->user} ";
41 }
42 if ($this->password != "") {
43 $constr .= "password={$this->password} ";
44 }
45
46 @$this->con = pg_connect($constr);
47 if ($this->con == false) {
48 print("データベースに接続できませんでした。理由: $php_errormsg<br>\n");
49 exit;
50 }
51 return($this->con);
52 }
53
0134nobodyさん
04/05/22 12:55ID:FrQVvRLq55 function doClose() {
56 if ($this->con != false) {
57 pg_close($this->con);
58 $this->con = false;
59 }
60 }
61
62 // データベースへの問い合わせの実行
63 function doQuery($sql) {
64 if ($this->con == false) {
65 $this->doConnect();
66 }
67 @$result = pg_query($this->$con, $sql); // selectを実行
68 if ($result == false) {
69 printf("SQL($sql)の実行に失敗しました。理由: " . pg_last_error($this->con));
70 return false;
71 }
72 return $result;
73 }
74 }
75 ?>
0135nobodyさん
04/05/22 12:59ID:???("SELECT day AS 年月日, tenki AS 天気, ondo AS 温度, uryou AS
雨量FROM otenki ORDER BY day");
雨量とFROMの間にスペースが無い
あとAS 〜でエイリアス名つけるのはいいけど英字にしといた方が無難
0136nobodyさん
04/05/22 12:59ID:???これは単なる荒らしにしか見えん
0137nobodyさん
04/05/22 13:19ID:FrQVvRLq>>135
元はそう印刷されてましたが直してます。
そのまま書き込んじゃってすみません。
>>136
すみませんでした。
uk.geocities.com/tdwconvmetwbmxkt/ex2.zip
うpしました。
0138nobodyさん
04/05/22 13:35ID:???$this->conでは?
0140nobodyさん
04/05/22 14:18ID:???作成中のスクリプトには
error_reporting(E_ALL);
これを最初に入れろ。これだけでエラーはずいぶん探しやすくなる。
上記のならUndefined variable : con とNOTICEエラーが出るし。
0141nobodyさん
04/05/22 14:22ID:???nullの判定ができなくなる
0142141
04/05/22 14:23ID:???簡単なデバッグ作業として入れろってことか
早とちりスマソ・・・
0143nobodyさん
04/05/22 14:28ID:???DB接続>処理A>DBからの戻り値をセット>DB切断
・
別処理
・
DB接続>処理B>DBからの戻り値をセット>DB切断
・
別処理
・
DB接続>処理C>DBからの戻り値をセット>DB切断
この方法と
DB接続>処理A>DBからの戻り値をセット
・
別処理
・
DB接続>処理B>DBからの戻り値をセット
・
別処理
・
DB接続>処理C>DBからの戻り値をセット>DB切断
この場合、どちらがベストなんでしょうか?
0144nobodyさん
04/05/22 14:30ID:???上と下の処理の違いで下の処理では
DB接続>処理A>DBからの戻り値をセット
^^^^^^^
これはナシとみなしてください。
0145nobodyさん
04/05/22 14:36ID:???両方試して時間測ってみろ
何でも人に聞いてばかりだと進歩しねえぞ
0146nobodyさん
04/05/22 14:50ID:???PHPが処理中にユーザがブラウザを閉じて処理を強制的に終了する
これを多用された時、サーバの負担及びDBの安全性はどうなるのか?という疑問が出たから質問したのです。処理速度はダントツに下の方法なのは当たり前です。
ここで質問したかったのは「安全策と処理のバランス」です。
0147nobodyさん
04/05/22 14:56ID:???ていうか、スレ違い
0148nobodyさん
04/05/22 15:06ID:???一応訊いとくけど、上のパターンも下のパターンも
共にひとつのPHPプロセスに処理がまとまってる前提だよな?
単純にはDBのコネクションにはコスト(PCの何らかの資産を使うということ)
が掛かるから頻繁に接続/切断はしない方が良い。それは接続/切断をしない
作りをするとともに、接続を継続しても支障の無い環境も整備するということ。
PHPでは下のような作りをする必要はまず無いが、システムによっては下の
パターンにならざるを得ないケースもある。145に言うとおり自分の頭で
考えられないときは、自分の手で試すことも重要。他人を余り信用はするな。
0149nobodyさん
04/05/22 15:18ID:???仮に一回の処理毎にPHPレベルで切断しても
処理してる途中に切られる可能性もあるわけで
よっぽどクリティカルなシステムでもない限り
そこまで気にしなくていいんじゃないかと
0150nobodyさん
04/05/22 15:21ID:???PHPのプロセスは、HTTPコネクションと連動して動いている訳ではない。
特に切断・終了のタイミングの点で。
データベースのロックの解除処理だけは気をつけろ。
0151150
04/05/22 15:25ID:???ユーザがブラウザでアクセスしてる/してないかが
HTTPコネクションとは必ずしも連動してない。
0153茶番 ◆4JCPHWjCgk
04/05/22 22:27ID:hmZH94bq0155茶番 ◆4JCPHWjCgk
04/05/22 22:38ID:hmZH94bqどうもありがとうございます。
0157Parse error
04/05/22 23:51ID:???えと、bbsに書き込みした方のサイトを「HP」という字ではなく、
home.gif なんかのアイコンにしようと思い、弄くっております。
// フォーマット
if($url) $url = "<a href=\"http://$url\" target=\"_blank\">".HP."</a>";
となっておりましたので、「HP」の所に
<img src="home.gif" width="11" height="17">
と入れましたら、鯖に解析してやらねぇと言われました・・・ (´Д`;)
ぬーんと思い
<img src=\"cup_ra.gif\" width=\"11\" height=\"17\">
などと斬新な事もしてみましたが、やっぱり鯖に ( ´,_ゝ`)プ と言われ・・・
こんな幼稚園質問で申し訳ありませんが、ご教授頂けないものかとお願いに上がりました。
一々ご面倒とも思いますので、参考場所の手引きでも頂ければ幸いなのですが・・・
宜しくお願いいたします。
0158nobodyさん
04/05/22 23:55ID:???つまらんネタまじりじゃなくどうやったかズバリ書けばいいだろうが。
0159nobodyさん
04/05/22 23:58ID:???0160nobodyさん
04/05/22 23:58ID:???if($url) $url = "<a href=\"http://$url\" target=\"_blank\"><img src=\"home.gif\" width=\"11\" height=\"17\"></a>";
0161Parse error
04/05/23 00:08ID:???微妙に惜しい・・・ 座布団半分って感じだったのですね・・・
さっそくやってみます! o(´ω`*) ありがとうございました!
>158
ごめんなさい。 素だった・・・
0162nobodyさん
04/05/23 02:35ID:???0164nobodyさん
04/05/23 03:22ID:XXLnBAc7http://fol.axisz.jp/php/ を HTML4.0 Transitional としてチェックしました。
192個のエラーがありました。このHTMLは -161点です。タグが 18種類 257組使われています。文字コードは Shift JIS のようです。
0165nobodyさん
04/05/23 03:54ID:???0166nobodyさん
04/05/23 04:51ID:???Results
Address: http://fol.axisz.jp/php/
Encoding: shift_jis (detect automatically)
Doctype: HTML 4.0 Transitional (detect automatically)
Errors: 67
http://validator.w3.org/check?uri=http%3A%2F%2Ffol.axisz.jp%2Fphp%2F&charset=shift_jis+%28Japanese%2C+Win%2FMac%29
0167nobodyさん
04/05/23 04:56ID:???http://pc5.2ch.net/test/read.cgi/php/1079460638/
0168nobodyさん
04/05/23 05:29ID:???ファイルの中身を上から順に読んで条件Bに一致するデータを変数xに格納して表示、
ファイルの中身を上から順に読んで条件Cに一致するデータを変数xに格納して表示、
と複数回ループさせるのと、
ファイルの中身を上から順に読んで条件Aに一致するデータを変数aに格納、
条件Bに一致するデータを変数bに格納、
条件Cに一致するデータを変数cに格納、
最後に変数を順に表示
と一回のループで一度にやってしまうのとどっちが処理は速いのでしょうか。
ちなみに読み込むファイルは150行程度、条件は10個程度で変数は1条件あたり30個くらい使うのですが・・・
0171nobodyさん
04/05/23 15:25ID:???インデント幅を 2から 4に変更したいんですが、どうすればいいんでしょうか?
pearのコーディング規約とかも 4 にしなさいみたいなこと書いてあったのに
デフォルトはなんで2になってるんだろう。
「emacs php-mode インデント 幅」でググるとなぜか xyzzyの情報ばかり...
0172171
04/05/23 15:33ID:???に
(defun php-mode-hook ()
(setq tab-width 4
c-basic-offset 4
c-hanging-comment-ender-p nil
indent-tabs-mode
(not
(and (string-match "/\\(PEAR\\|pear\\)/" (buffer-file-name))
(string-match "\.php$" (buffer-file-name))))))
って書いてあるけど、これって書き方の例だよね?
これをそのまま .xemacs.el に書いてもダメだた。
0173nobodyさん
04/05/23 16:56ID:???PHPに関連してるようでスレ違いじゃねえか?
なぜemacsスレで聞かない?
0174nobodyさん
04/05/23 19:03ID:???http://validator.w3.org/check?uri=http%3A%2F%2Fyahoo.co.jp&charset=euc-jp+%28Japanese%2C+Unix%29
0175nobodyさん
04/05/23 20:13ID:???1位〜4位まで1回ずつとったモノであれば配列$resにも1,2,3,4と入るのですが
1位を2回他が2位、3位だとすると配列$resの値が1,2,3となってしまいます。
これが嫌なので配列$resの中に、1から4の中で入っていない数値があった場合に
その順位を$resに、$countに0を入れたいのですが中々うまくゆきません。
どなたかアドバイスお願いします。
何の参考にもなりませんが、スクリプトはこんな感じで書いてしまいました。。
for($i = 1; $i < 5; $i++){
if (in_array($i, $res)== false){
$res[] = $i;
$count[] = 0;
}
}
0176nobodyさん
04/05/23 21:05ID:???画像を作り、その画像をデータベースに
保存しようとしているのですが、
スクリプト上で作った画像の
バイナリデータの取得方法がわかりません。
現在は一度ファイルに書き出して、
それを読み込んでいますが
なんかむなしさを感じます。
いい方法が在れば教えてください。
0177nobodyさん
04/05/23 21:17ID:???順位1〜4と、その順位を取った回数と
"その"というところで関連があるのに
何故2次元配列や順位を添字に使った配列にしないのだ?
現状のやり方だと
>1位を2回他が2位、3位だとすると配列$resの値が
期待する$resは{2,1,1,0}か?
データベースから順位の回数を取得するのはどうやっている?
SQLでcountか?
0179175
04/05/23 22:52ID:???一度ファイルに出力しなきゃだめなのね。。。
0180nobodyさん
04/05/23 22:58ID:???disk_id | shop_id | price | result
--------+---------+-------+--------
D151 | shopC | 1720 | 4
D151 | shopB | 1680 | 3
D151 | shopA | 1620 | 2
D151 | shopD | 1590 | 1
D152 | shopA | 2120 | 4
SQLは
select result, count(result) from disk_DB where shop id = shopA group by result;
てかんじです。
0181nobodyさん
04/05/23 23:34ID:???0182nobodyさん
04/05/23 23:45ID:???0183nobodyさん
04/05/23 23:48ID:???出力制御関数ってバイナリセーフじゃなかったか?
PHPを使うならやって当然だろうから、既に試しているかも知れんが・・・
ob_start()
(例えば)imagepng($image_res)
ob_get_contents()→DBに登録
ob_end_clean()
とかでできんのかな?
>>179
レス番合ってる?
0184nobodyさん
04/05/24 00:05ID:???やっぱり先日の分か。
板違いなので付け加えなかったんだが、そもそもresultをDBに入力するのがおかしい。
priceが変わるとresultも変えなきゃならんので、resultは相関サブクエリで済ますべきだろ。
disk_DB(disk_id,shop_id,price)
SELECT *,(SELECT count(*) AS result FROM disk_DB WHERE disk_id=T1.disk_id AND price<= T1.price) FROM disk_DB AS T1;
で、count値を0にしたい件だが、resultが必ず1から4までどこかにはある。というのであれば、
disk_DB(disk_id,shop_id,price,result) ※SQLが長くなるのでとりあえずresult有りで
SELECT DISTINCT result,COALESCE(T1.cnt,0)AS count FROM disk_DB
LEFT JOIN (SELECT result,count(result)as cnt FROM disk_id WHERE shop_id='shopA' GROUP BY result)AS T1 USING(result);
こんなん浮かびましたw
>>180の例だけだと
result | count
-----+------
1 | 0
2 | 1
3 | 0
4 | 1
0185184
04/05/24 00:13ID:???resultというのがpriceの価格順という意味ならサブクエリで済ますべきと思っているので、
resultが別の意味であるなら、入力(カラム)は必要です。
0186_
04/05/24 00:46ID:???( ゚Д゚) ポカーン
そういう事聞いてるんじゃないだろう。
まぁ >>182 は質問の作り方が悪かったな。
PHP-users にでも投げてみたら?
0187nobodyさん
04/05/24 00:58ID:???ベリーサンクスコ!あと板違いすいません。
作成当初のスタンスはDBに不足点があってもPHPで補えるだろうなと思っていたんですが、実はDBの設計て
とても重要だったんだということを思い知りました。
184さんの意見を参考にDB設計から見直す必要あり、と感じた今日この頃。
てかSQL文なげーw
0188nobodyさん
04/05/24 01:49ID:XP231UgD「0」を文字として認識させることは出来るのでしょうか?
つまり、
-----
if("0"=="000"){} //これをfalse
if("0"=="0"){} //これをTrue
-----
な感じです。
0193nobodyさん
04/05/24 02:23ID:???0194nobodyさん
04/05/24 02:45ID:???俺も簡易的にイメタグやテーブル使ったりするな。
テーブルはブラウザで見え方が違うので厄介ではあるが。
JpGraphは色々あって便利なんだけど、
改造しようとソースに手を出すと嵌るので、
欲しいグラフの種類が少なくて固定できる
(値じゃなくて形がね)のなら、自分で作った方が楽。
HotScriptにもいくつか転がってる。
0195nobodyさん
04/05/24 19:04ID:nTbKpLsJPHP4.3.6からPDFlibのバージョンが5.03(PDF 1.4)にアップグレードしていますが、
以前は、
$enc = mb_internal_encoding();
$txt = chr(254).chr(255).mb_convert_encoding("日本語のしおり","UTF-16",$enc);
pdf_add_bookmark($pdf, $txt, 0, 0);
というコードで日本語のしおりが表示できたのですが、PDFlibが新しくなってからは、
Fatal error: PDFlib error: [2602] PDF_add_bookmark: Code page '932' not supported
というエラーで落ちてしまうようになりました。
Dosプロンプトで作成しているので、usモードにして再作成してみましたが、
状況は変わりませんでした。
対処法をご存知の方、ご教授願えませんでしょうか?
0196gh
04/05/24 20:17ID:???file_get_contents 関数と
file_put_contents 関数は
読み込み・書き出しの時ファイルロックしているのでしょうか?
0197nobodyさん
04/05/24 22:44ID:XP231UgD配列に項目名が入っています。
-----
$array = array("食べ物", "野菜", "ワイルド系", "キャベツ");
-----
で、これを
-----
$array = array(">食べ物", ">>野菜", ">>>ワイルド系", ">>>>キャベツ");
-----
と、項目名の前に、「>」を"配列番号+1"個付加したいのですが、
どのようにすればいいのでしょう。
0198nobodyさん
04/05/24 22:54ID:???項目名の前に、「>」を"配列番号+1"個付加するようなスクリプトを書いてください。
制御構造を使っても、配列関数を使っても、好きな方法で構いません。
0199nobodyさん
04/05/24 23:04ID:???for ( $i=0; $i<count($arr); $i++ ) {
$arr[$i] = str_repeat('>', $i+1).$arr[$i];
}
print_r($arr);
0200nobodyさん
04/05/24 23:31ID:???ありがとうございます。
>>198さん
str_repeatという存在を知りませんでした。
というか、PHP関数の全てを把握し切れていません。
やはり、覚えるしかないのでしょうか?(そんな気がする)
0201nobodyさん
04/05/24 23:39ID:???別に、str_repeat使わずとも簡単に出来るし、
あれだけ整備されたマニュアルが提供されているのだから、
経験積めば意図する関数があるかどうか雰囲気的にわかる。
0203カポコン
04/05/25 02:21ID:???スクリプトじゃない。本物ならこう書くだろう。
<?php
$slash = "<";
$str = $slash;
$arr = array("食べ物", "野菜", "ワイルド系", "キャベツ");
foreach($arr as $key => $value):
$arr[$key] = $str.$value;
$str .= $slash;
endforeach;
print_r($arr);
?>
この方がPHPらしくないか?
つーか高速だし分かりやすい。
経験よりも才能。いじょ。
0204nobodyさん
04/05/25 02:31ID:???PHPで配列を扱う場合はfor < while <foreach の順で速く動作する。
更に関数を使わず文字列結合の演算のみで処理を終わらせている点。
点数付けると100点満点だわ。
しかも最後に大事なのは才能っていってる部分が
カポコンファンの漏れにはたまらない。
これならstr_repeatがサポートされてないPHP3でも動作する罠、
さすがは神。ところで神様とこのHP最近更新滞ってるから
こんなところでパンピー相手せずに速く更新きぼんして下さい!
0205nobodyさん
04/05/25 02:32ID:???0206nobodyさん
04/05/25 02:50ID:???でもカポコンが頭がいいのはPHP理解した人間になら分かる。
※関数を使うプログラムより関数を使わないプログラムの方が優秀である。
これ定説ね。天才かどうかは微妙だけど。早速HP見てきます。
0207nobodyさん
04/05/25 02:55ID:???for($i=0;$i<count($arr);$i++){
$leftarrow.='>';
$arr[$i]=$leftarrow.$arr[$i];
}
print_r($arr);
0208カポコン
04/05/25 02:57ID:???はいはい才能乏しいですよ。
じゃー僕以上のスクリプト書いてもらえます?
自分には才能以外の要素は無いんで。
199にアドバイス付け加えるんなら、テストに使うなら
print_rよりvar_dumpを使う事をオススメしとこう!
0209207
04/05/25 02:57ID:???0210nobodyさん
04/05/25 03:02ID:???<?php
$leftarrow = '>';
$str = $leftarrow;
$arr = array("食べ物", "野菜", "ワイルド系", "キャベツ");
foreach($arr as $key => $value):
$arr[$key] = $str.$value;
$str .= $leftarrow;
endforeach;
var_dump($arr);
?>
0213nobodyさん
04/05/25 03:28ID:???ないと断言しておく
0214nobodyさん
04/05/25 03:34ID:???0215nobodyさん
04/05/25 05:45ID:???質問どうぞ
0216nobodyさん
04/05/25 08:39ID:???反論は要らないんでカボコンさんとやらは巣に戻って下さい
0217nobodyさん
04/05/25 09:17ID:???0218404.HDML ◆StMXML.EXE
04/05/25 09:19ID:???>PHPで配列を扱う場合はfor < while <foreach の順で速く動作する。
これってマジですか?
0219nobodyさん
04/05/25 09:47ID:???whileはループ時に条件判定
foreachはループ時に要素内のポインタ移動
下に行く程ループ時の処理が軽いって事じゃねーの?
0220404.HDML ◆StMXML.EXE
04/05/25 10:00ID:???成程、そういう事なのですね。今までwhile優先で時々for、という感じでこの2点のみを
使ってて、正味foreachの存在自体を忘れてました。。
0221nobodyさん
04/05/25 11:06ID:???つーか、連想配列の場合だとforeachを使わんと何かと面倒じゃね。
0222nobodyさん
04/05/25 11:30ID:???0223nobodyさん
04/05/25 11:32ID:???0224nobodyさん
04/05/25 11:33ID:???俺はCからプログラミング覚えたからfor使ってる。
0225404.HDML ◆StMXML.EXE
04/05/25 11:55ID:???while(list($name,$value) = each($array));
当方、いつもこんな書き方ばかりしてたんですよ。
whileに較べてforは遅い、とだけ小耳に入れた時に「じゃぁforeachも遅いのかな?」と
勝手に思い込んでいた節が有りまして。
0226nobodyさん
04/05/25 12:06ID:???俺はCの標準関数っぽいのが揃ってたからPHPを使い出したという経緯があるから
Cライクな記述をしてる
0228nobodyさん
04/05/25 12:19ID:???気になるやつはPHPのソース追うなり
ベンチ取るなり気の済むまでやってくれ
重箱の隅穿り返すような論議は他で頼む
0229nobodyさん
04/05/25 12:30ID:???ttp://jp.php.net/manual/ja/function.str-repeat.php
確かにstr_repeat()はPHP3では動作せんから、>>203はPHP3でも動くかと思ったけど
ttp://jp.php.net/manual/ja/control-structures.foreach.php
・・・・これ釣(ry
0230nobodyさん
04/05/25 12:35ID:???いいじゃねぇかYO
処理速度(効率)やコードの見易さなど、、
十人十色いろいろあって宗教じみた話になるかも知れんが、
他の人のやり方を聞くのも、たまにはあっていい。
0231nobodyさん
04/05/25 13:27ID:???複数人が関わる開発じゃなければ自分に合った書き方がベスト
0232nobodyさん
04/05/25 14:42ID:???公式ページのマニュアルかなにかに書いてあったような気がする。
だから俺は for で回してる。
0233nobodyさん
04/05/25 14:56ID:???str_repeatが採用された細かいバージョンをキボン。
0234nobodyさん
04/05/25 14:56ID:???好きに書けばいい
0236nobodyさん
04/05/25 15:11ID:???>whileはループ時に条件判定
>foreachはループ時に要素内のポインタ移動
で処理が進むならforeach文の方が速いだろ。
配列扱うのにループのたびに初期化なんてしてたら効率悪すぎ。
0237nobodyさん
04/05/25 15:15ID:???試してみると大分違う。
require_once 'Benchmark/Timer.php';
$leftarrow = '>';
$str1 = $str2 = $str3 = $leftarrow;
$arr1 = $arr2 = $arr3 = array();
for ($i = 0; $i < 2000; ++$i) {
$arr1[] = 'a' . str_pad($i, 5, '0', STR_PAD_LEFT);
$arr2[] = 'a' . str_pad($i, 5, '0', STR_PAD_LEFT);
$arr3[] = 'a' . str_pad($i, 5, '0', STR_PAD_LEFT);
}
$timer =& new Benchmark_Timer();
$timer->start();
$timer->setMarker("Benchmark for 'foreach'");
foreach ($arr1 as $key => $value) {
$arr1[$key] = $str1.$value;
$str1 .= $leftarrow;
}
$timer->setMarker("Benchmark for 'for'");
$max = count($arr2);
for ($i = 0; $i < $max; ++$i) {
$arr2[$i] = $str2.$arr2[$i];
$str2 .= $leftarrow;
}
0238nobodyさん
04/05/25 15:15ID:???$timer->setMarker("Benchmark for 'while--list-each'");
while (list($key, $value) = each($arr3)) {
$arr3[$key] = $str3.$value;
$str3 .= $leftarrow;
}
$timer->stop();
echo $timer->getOutput();
結果
--------------------------------------------------------------
marker time index ex time perct
--------------------------------------------------------------
Start 1085465264.67439000 - 0.00%
--------------------------------------------------------------
'foreach' 1085465264.67453300 0.00014281272888184 0.01%
--------------------------------------------------------------
'for' 1085465264.70273000 0.028197050094604 2.24%
--------------------------------------------------------------
'while--list-each' 1085465265.05475400 0.35202407836914 27.93%
--------------------------------------------------------------
Stop 1085465265.93488100 0.880126953125 69.82%
--------------------------------------------------------------
total - 1.2604908943176
0239nobodyさん
04/05/25 15:19ID:???--------------------------------------------------------------
ずれてたので
marker time index ex time perct
--------------------------------------------------------------
Start 1085465264.67439000 - 0.00%
--------------------------------------------------------------
'foreach' 1085465264.67453300 0.00014281272888184 0.01%
--------------------------------------------------------------
'for' 1085465264.70273000 0.028197050094604 2.24%
--------------------------------------------------------------
'while--list-each' 1085465265.05475400 0.35202407836914 27.93%
--------------------------------------------------------------
Stop 1085465265.93488100 0.880126953125 69.82%
--------------------------------------------------------------
total - 1.2604908943176 100.00%
--------------------------------------------------------------
0240nobodyさん
04/05/25 15:22ID:???02.24% foreach
27.93% for
69.82% while(list() = each())
ってことで、10倍以上の差が出る。
0241nobodyさん
04/05/25 15:26ID:???0243nobodyさん
04/05/25 15:28ID:???ありがとう
0244nobodyさん
04/05/25 15:36ID:???for ($i = 0; $i < $max; ++$i) {
$arr2[$i] = $str2.$arr2[$i];
$str2 .= $leftarrow;
}
の部分だけど、>>199はfor文内でcountを使ってたから
もっと遅くなっていただろうな。
0245nobodyさん
04/05/25 15:39ID:???0246nobodyさん
04/05/25 15:45ID:???0247nobodyさん
04/05/25 15:47ID:???whileやforの条件チェックよりも、foreachの配列チェックの方が早いんだね。
whileはlistかeachのどっちかがボトルネックなのかな
0248nobodyさん
04/05/25 15:57ID:???俺もこれからまめにベンチとってみよう
0249nobodyさん
04/05/25 16:03ID:???<?php
require_once 'Benchmark/Timer.php';
$timer =& new Benchmark_Timer();
$timer->start();
$timer->setMarker("Benchmark for 'for'");
for ($i=0; $i<10000; $i++)
loop_for();
$timer->setMarker("Benchmark for 'forearch'");
for ($i=0; $i<10000; $i++)
loop_foreach();
$timer->stop();
echo $timer->getOutput();
function loop_for()
{
$arr = array('食べ物', '野菜', 'ワイルド系', 'キャベツ');
for ($i=0; $i<count($arr); $i++)
$arr[$i] = str_repeat('>', $i+1).$arr[$i];
unset($arr);
}
function loop_foreach()
{
$slash = "<";
$str = $slash;
$arr = array("食べ物", "野菜", "ワイルド系", "キャベツ");
foreach($arr as $key => $value):
$arr[$key] = $str.$value;
$str .= $slash;
endforeach;
unset($arr);
}
?>
0251nobodyさん
04/05/25 16:18ID:???>※関数を使うプログラムより関数を使わないプログラムの方が優秀である。
一部の香具師によって、否定されていたがある意味正解。
whileはループでは条件判定だけだから
ループ処理では最速なんだろうけど、これが配列になると
キーが関係してくるから結果的に色々な関数を扱わざるおえない。
foreachを使った方がいいって事なんだろう。
whileは、私は代入ぐらいに使おうと思います。
やっぱりfor()は初心者向きだよな。分かりやすいけど。
0252nobodyさん
04/05/25 16:19ID:???foreach 0.07%
for 32.69%
while 25.84%
違うねー
0253nobodyさん
04/05/25 16:21ID:???0254nobodyさん
04/05/25 16:24ID:???0255nobodyさん
04/05/25 16:27ID:???スクリプトじゃない。本物ならこう書くだろう。
0256nobodyさん
04/05/25 16:28ID:???0257nobodyさん
04/05/25 16:28ID:???自分には才能以外の要素は無いんで。
0259nobodyさん
04/05/25 16:30ID:???0262nobodyさん
04/05/25 16:36ID:???0263240
04/05/25 16:38ID:???ん、こっちは、
PHP 5.0.0RC3-dev (cli)
で試したんでそのせいだった。
改めて
PHP 4.3.6 (cli)での結果
Benchmark for 'foreach'
33.01%
Benchmark for 'for'
35.14%
Benchmark for 'while--list-each'
31.75%
0264nobodyさん
04/05/25 16:40ID:???0265nobodyさん
04/05/25 16:41ID:???PHPユーザー(神レベル) foreach() while() for()
PHPユーザー(パンピーレベル)while() while() while()
でOKでつね。
0266nobodyさん
04/05/25 16:50ID:???0267nobodyさん
04/05/25 17:00ID:???count() を使うなら、せめて配列をリファレンスで渡してください。
でないとものすごく遅くなるよ。
0269nobodyさん
04/05/25 18:08ID:???Win 2000・PHP 4.3.4・apache 2.0.48 環境で
Benchmark for 'foreach'
38.63%
Benchmark for 'for'
25.19%
Benchmark for 'while--list-each'
36.09%
0270nobodyさん
04/05/25 18:17ID:???たまにエラーがでてサーバーが落ちてしまいます。
直す方法あるでしょうか。
0271nobodyさん
04/05/25 18:25ID:???チェックボックスにチェックが入ったもの全てを削除というのがなかなか出来ません。
log.txtの中身
118,ベッカム
119,シェフチェンコ
120,ロナウド
del_info.phpの中
print "<form method=\"POST\" action=\"delete.php\" target=\"index\">";
print "<table border=\"0\">\n";
for ($i = 0; $i < count($id); $i++)
{
print "<tr><td>\n";
print "<input type=\"checkbox\" name=\"check[]\" value=\"$id[$i]\"></input>";
print "</td><td>$id[$i]\n";
print "</td><td>$name[$i]\n";
print "</td></tr>";
}
print "<tr><td><input type=\"submit\" name=\"line_del\" value=\"削除\"></td>";
print "</table></form>\n";
delete.phpにどんなソースを書けばよいでしょうか?
0272nobodyさん
04/05/25 18:29ID:???その際にチェックが入っているレコードを書き出さないようにする
0273nobodyさん
04/05/25 18:34ID:???0274nobodyさん
04/05/25 18:35ID:???0276269
04/05/25 18:41ID:???foreach≒whileでやっぱりforが一番速い
あとstr_repeatにしてもほぼ変わらないかむしろ速い
>>239の環境が知りたい
>>270
apacheにしようぜ
0277nobodyさん
04/05/25 18:46ID:???hello worldとか簡単なやつでもエラー出ます。
エラーメッセージは↓これ。anhttpdのバージョンは1.42kです。
zend timeout window httpd.exe -アプリケーションエラー
"0x001554f4"の命令が"0x001554f4"のメモリを参照しました。
メモリが"read"になることはできませんでした。
>>276
やっぱapacheですかねぇ・・・
0278240
04/05/25 18:49ID:???>240 みてよ
loop数を5000にして幾度か試すと
for > foreach ≒whileになったよ。こっちでも。
最初のは、php5なんで無視してくれ。
でだ、カポコンの言うことは当てにならんということでFA
0279240
04/05/25 18:50ID:???>269 みてよ
でした。すまん。
0280240
04/05/25 18:51ID:???> 263 見てよ
だった。吊ってくる
0281nobodyさん
04/05/25 18:57ID:???function hoge(){
$this->aa = array("(´д`)");
}
}
$hoge = new hoge();
echo $hoge->aa[0]; <-と言う呼び方は邪道なんでしょうか?
呼び出しようのメソッドを作るか、$aa = $hoge->aa;とやってから呼ぶべきなのでしょうか?
0282269
04/05/25 18:57ID:???そうするとPHP5はforeachが劇的に変わったのか
それ以外で何らかが変わってそういう結果が出たわけだ
そこが気になったので
0283nobodyさん
04/05/25 18:59ID:???イキロ
0284277
04/05/25 19:27ID:???感謝
0286nobodyさん
04/05/25 19:46ID:???後々の事考えたらそう覚えた方がいいね
0287nobodyさん
04/05/25 19:49ID:???設計を見直してみるとか
0288nobodyさん
04/05/25 19:55ID:???0289nobodyさん
04/05/25 20:07ID:???中途半端なんだよ
0290nobodyさん
04/05/25 20:24ID:???C言語って書いてるあたり素人だろ>カポコン
それと、定期的に現れるベンチ厨ウザイから、ベンチスレでも立ててくれ
0292267
04/05/25 21:01ID:???ループの外でも、計測範囲に入っているなら影響するべ。
もしあなたがでっかい配列を count() に渡しているなら、
今度リファレンスで渡してみ。すごく速くなるから。
0295nobodyさん
04/05/25 21:05ID:RFog7Rovそこで、自分の書き込みが自分のPCに保存されるようにするにはどうしたらよいでしょうか?
PHPかPerlを使ってプログラムを書かないといけないでしょうか?
P3, 733MHz, 256MB, win 2k pro, IE6です。何方かよろしくお願いします。
0297267
04/05/25 21:08ID:???ループの外でも、計測範囲に入っているなら影響するでしょ。
もしあなたがでっかい配列を count() に渡しているなら、
今度リファレンスで渡してごらん。すごく速くなるから。
0299nobodyさん
04/05/25 21:18ID:???0300295
04/05/25 21:20ID:RFog7Rov自分の書き込みが鯖にのこらないんです。
それで、鯖に残らないなら、自分のPCに保存するということをしたいな、
という意味で書きました。これでお分かりになりました?
0302295
04/05/25 21:29ID:RFog7Rov温泉?って表示されるかな?
0304295
04/05/25 21:31ID:RFog7Rovさっきは間違えました。ありがdこのサイト教えてあげる。
ttp://www.france.co.jp/bunko/yougo/yougo_y.html
0306295
04/05/25 21:34ID:RFog7Rov0307nobodyさん
04/05/25 21:37ID:???貴方がそのサイトのスクリプトを弄れるなら、
そういう機能(鯖にログ保存)を実装する、
または実装されたアプリを使う。サイトの作りに
手が出せないのなら、自前でProxyっぽいのを実装する
手もあるが、現実として貴方の取れる方法は、301の示した方法かな。
つまり「書き込む内容を事前にどこかに手動で残しておく」
書き込みの内容がどうも的を射てないように思えるので、自分で何とか
するんじゃなくて、既にできているものを探して利用するという方向で。
0308nobodyさん
04/05/25 21:38ID:ulnj232eホームページに入れたいんです
0309nobodyさん
04/05/25 21:40ID:???居付いてしまったらウゼェし。
0310nobodyさん
04/05/25 21:43ID:ulnj232eどのphpも付加機能ばっかいらん
0311nobodyさん
04/05/25 21:45ID:???0312nobodyさん
04/05/25 21:47ID:ulnj232e近所の人としゃべって事も無いのでは…
それよりphp教えて
0314nobodyさん
04/05/25 21:53ID:???マニュアルにもUserContributedNotesにも載ってなくて、ほんとの所はどうなんだろう?
試せばすぐ分かるんだろうけどマンドくせ。
ソースだと関係する所はこれくらいかな。
ext/standart/array.c
PHP_FUNCTION(count) -> php_count_recursive(zval *array, long mode TSRMLS_DC)
中ではポインタで渡してるだけの気がするんだが。
0315nobodyさん
04/05/25 21:54ID:GONN/rJfmb_encode_mimeheader
ですが、日本語が10文字くらいになると末尾が文字化けしてしまいます。
「こんにちはこんにち(B」
みたいな感じです。
それよりも短い文字列だと文字化けしません。
phpのバージョンは4.3.6です。
よろしくおながいします
0316nobodyさん
04/05/25 21:58ID:???TEST←定数
EOM;
EOM内で定数を使うことはできるのでしょうか?
0319nobodyさん
04/05/25 22:29ID:GONN/rJf315です。
デフォルトのままです。
コードはSJISで書いているんですが、mb_encode_mimeheaderするまえに
mb_convert_encodingでJISに変換しています。
0320カポコン
04/05/25 22:48ID:???つーかwin2000でphp語るなよw。
0323カポコン
04/05/25 23:15ID:???いくら2chでも貴様の数倍偉い人が決めた言葉よ?
好みでいいだろ。それとオツムの良さはまた別物。
あとベンチマークすんのはいいけど、
>>237-239みたいにちゃんとした結果出せないと説得力ねーよ。
なんだよ%,%ってTimerクラス使ってるのにそりゃーねーだろ。
所詮2chのウンコ厨だな、そんなんだからいつまで経っても
3流の領域抜け出せねんだよ。あと試すんならunix系入れて試せ。
素 人 は お ま え 。
0325nobodyさん
04/05/25 23:37ID:???0326nobodyさん
04/05/26 00:19ID:???0327nobodyさん
04/05/26 00:21ID:VdU4NQovGDを詳しく扱った本はありませんでしょうか?
本の中の1つのコンテンツとして扱っていても結構ですので教えて下さい。
あと、GDを説明しているサイトもできればお願いします…。
0330nobodyさん
04/05/26 02:12ID:???0332nobodyさん
04/05/26 03:31ID:???PHPの書籍でGDの詳しいのねぇ。心当たりはないね。
GDは、今は独自パッチがあたったのがPHPに添付されてるけど
ImageMagickと同様、元々外部のグラフィックライブラリだから
PHP以外での使用方法にも探す範囲を広げた方が良いよ。
0333nobodyさん
04/05/26 03:33ID:???0334nobodyさん
04/05/26 03:48ID:???0336nobodyさん
04/05/26 04:16ID:???プログラミング言語C 或いは C が妥当か。
あとbenchmarkだが他人様のはアテにせず自分でとろうな。
>>326
アホ共がこぞって使う共用のコテハンってところじゃないの?
>>327
無い。
0337nobodyさん
04/05/26 08:15ID:5W/UUmVu調べたらphp.iniのほうでデフォルトのエンコーディングがISO-8859-1になってました。
これをEUC-JPに変えて、mb_encode_mimeheaderするまえに文字コードをEUCに変換
させたら、うまくいきましたm(_ _)m
0338nobodyさん
04/05/26 09:18ID:s4ZFO6Pq0339nobodyさん
04/05/26 09:28ID:???0342337
04/05/26 12:24ID:???えっほんとに?
たとえばこういうことがしたいんですが。
class Foo
{
var $_row;
function Foo(&$row) {
$this->row =& $_row;
foreach (array_keys($row) as $key) {
eval("function $key() { return \$this->_row['$key']; }");
}
}
}
$data = array('a' => 1, 'b' => 2);
$foo = new Foo($data);
echo $foo->a();
結果
Fatal error: Call to undefined function: a()
evalにコンテキスト(バインディング)が指定できないから、こういう
のは無理じゃないんですか?
0343nobodyさん
04/05/26 12:29ID:???0344nobodyさん
04/05/26 12:38ID:???情報は小出しにして分かりにくく、そして肝心なことは書かない。
0346nobodyさん
04/05/26 12:55ID:???0348nobodyさん
04/05/26 13:18ID:???eval("
function ".$var."()
{
echo 'hello!';
}
a();
");
a();
0350338
04/05/26 13:35ID:???きました。でもコードが読みにくいですね。ありがとうございました。
0353nobodyさん
04/05/26 17:05ID:???さらに自演で自分を持ち上げる糞コテでFA?
0354nobodyさん
04/05/26 17:05ID:???pwdみたいな。
0355nobodyさん
04/05/26 17:13ID:???getcwd()
でできた・・・ゴメンナサイ。ほんとにわかんなかったんだよぉ・・・
0356nobodyさん
04/05/26 17:13ID:fjwOYoWghttp://jp2.php.net/manual/ja/ref.dir.php
0357nobodyさん
04/05/26 18:48ID:???0358nobodyさん
04/05/26 18:52ID:???0359nobodyさん
04/05/26 19:00ID:???カポコンがいないときにはそんなやつはいないのに。
そのこころは?
0360nobodyさん
04/05/26 19:08ID:???いないときにわざわざ話題を振って賞賛するスレじゃねえだろ。
0361nobodyさん
04/05/26 19:28ID:???count(&$arr2) にしたら for が一番速くなった。
ついでにこんなの
$arr4 = array_map(create_function('&$item', 'static $str4 = \'\'; $str4 .= \'>\'; return $str4.$item;'), $arr4);
もやってみたが、これがforに次いで速かった。
しかし、
$arr4 = array_map(create_function('&$item', 'global $leftarrow; static $str4 = \'\'; $str4 .= $leftarrow; return $str4.$item;'), $arr4);
にしたら一番遅くなった。うーん、微妙。
0362nobodyさん
04/05/26 20:11ID:???0363nobodyさん
04/05/26 20:24ID:???>362
やめろというだけじゃなく、かわりのネタを提供汁
0365nobodyさん
04/05/26 20:31ID:???0366カポコン
04/05/26 20:40ID:???0367nobodyさん
04/05/26 20:44ID:???0369nobodyさん
04/05/26 22:05ID:???と作っているのに 755 でできてしまいます。
なんででしょうか・・・非常に困っています。
またオーナーも変えたいのですが変えられません。
0371nobodyさん
04/05/26 22:23ID:???このfor/while/foreach云々って、
元は質問から始まった話じゃねえのか?
それだったら、あながちスレ違いとは言えねえと思うがな
なんで狭量なやつばっかなんだろね
0373nobodyさん
04/05/26 23:07ID:???chownについてなのですが、当方Apacheの実行ユーザとグループを
apache/apache にしています。
これでapacheユーザが作成したファイルのオーナーをrootにしたいの
ですが、これは不可能でしょうか。
0375nobodyさん
04/05/27 00:07ID:???はって、あたかもそのディレクトリにあるphpソースのように使いたいと思っています。
で、シンボリックリンクを作成するsymlink関数で無事作れたのですが、そのシンボリックリンクに
ブラウザからアクセスしても実行できません。
パーミションは777になっているのにです。
それでsshでサーバに入り、ln -s /templ/hoge.php /aaa/hoge.php とリンクを張ると
ブラウザからも実行できます。
なんででしょう・・・
ちなみに(環境により違うのでしょうが)sshで ls -la すると symlinkで作成したリンクは赤色
ln -s で作成したリンクは青色です。
お願いします。ヒントをください
0376カポコン
04/05/27 00:14ID:???mp(・∀・)qmチェキッラー!!。
0377nobodyさん
04/05/27 00:31ID:???自治厨キモッ
0378nobodyさん
04/05/27 07:23ID:XDC/x9QBマターリ憩うぜ
0379nobodyさん
04/05/27 08:42ID:???0383nobodyさん
04/05/27 17:28ID:fevNX4WHソースコードをSJISで書いていて、DBもSJIS設定で、
SQLを実行するときに
カタカナの「ソ」などの文字が勝手にエスケープされてしまいます。
(エスケープというか「ソ」の後に「ソ\」バックスラッシュが付く)
これが原因で文末に「ソ」が来たりするとSQLが失敗します。
stripslashesは本来エスケープすべき文字も消してしまうので使えません。
Webで調べてみたところphp.iniのmagic_quotes_gqc=OFFに
すると解決するらしいのですが、実際OFFにしてもまだ解決しません。
(phpinfoでOFFになっていることは確認済み)
他に勝手にエスケープされる要因は考えられるでしょうか
よろしくお願いします。
0384nobodyさん
04/05/27 17:32ID:???0385nobodyさん
04/05/27 18:05ID:???0388nobodyさん
04/05/27 18:42ID:3qJOManL何を用意して何を最初に学べばいいのでしょうか。
おすすめのサイトや参考書を教えていただけると助かります。
0390nobodyさん
04/05/27 18:48ID:3qJOManL早速検索かけてPDFファイルを見ております。
分かりやすくまとめられており、私でも勉強できそうです。
情報、ありがとうございます。
0391nobodyさん
04/05/27 19:53ID:???PHP徹底攻略だよな?
マンモス本ってかなり詳しく書いている上級者向けのじゃん!!(違った?ラクダとはレベル違う?)
それが無料って、すげーな
0392383
04/05/27 20:07ID:???addslashesを使ってる代わりにmysql_escape_stringを使うと
上手くエスケープしてくれるようです。
やはり仰せの通りSJISで処理させるのは止めたほうがいいですね^ ^;
まあ仕方のないときのケースということで。
0393nobodyさん
04/05/27 20:11ID:???PHPを使うなら、出力段階でSJISに変換するのが一番楽だと思うけど
0395nobodyさん
04/05/27 22:13ID:???で検索して、
http://ns1.php.gr.jp/pipermail/php-users/2002-June/008315.html
や
http://www.broadband-xp.com/hidesource/escape.html
が見つかったのですが、
> urlencode に相当する JavaScriptの escape を使うと、IE 5.5 などでは、
> % で始まる UNICODEに変換してくれるので、PHP の urldecode で処理できない
とありますが、この逆、つまり、
php内部でurlencode()又はrawurlencode()して、その出力結果をWindowsのIEのJavaScript上で
デコードして表示したいのですが、decodeURI()やunescape()を使用しても英字以外は文字化けしてしまいます。
UTF-8にしてphpでurlencode()した後に、JavaScriptへ渡しても、依然、おもったようにいきません。
エンコード後の文字列が%uとuから始まるようにできないのです。
どのようにすればPHP内部でURL EncodeしたものをJavaScriptでデコードすることが可能でしょうか?
0396nobodyさん
04/05/27 22:22ID:???で検索して、
http://ns1.php.gr.jp/pipermail/php-users/2002-June/008315.html
や
http://www.broadband-xp.com/hidesource/escape.html
が見つかったのですが、
> urlencode に相当する JavaScriptの escape を使うと、IE 5.5 などでは、
> % で始まる UNICODEに変換してくれるので、PHP の urldecode で処理できない
とありますが、この逆、つまり、
php内部でurlencode()又はrawurlencode()して、その出力結果をWindowsのIEのJavaScript上で
デコードして表示したいのですが、decodeURI()やunescape()を使用しても英字以外は文字化けしてしまいます。
UTF-8にしてphpでurlencode()した後に、JavaScriptへ渡しても、依然、おもったようにいきません。
エンコード後の文字列が%uとuから始まるようにできないのです。
どのようにすればPHP内部でURL EncodeしたものをJavaScriptでデコードすることが可能でしょうか?
0397nobodyさん
04/05/27 22:15ID:???で検索して、
http://ns1.php.gr.jp/pipermail/php-users/2002-June/008315.html
や
http://www.broadband-xp.com/hidesource/escape.html
が見つかったのですが、
> urlencode に相当する JavaScriptの escape を使うと、IE 5.5 などでは、
> % で始まる UNICODEに変換してくれるので、PHP の urldecode で処理できない
とありますが、この逆、つまり、
php内部でurlencode()又はrawurlencode()して、その出力結果をWindowsのIEのJavaScript上で
デコードして表示したいのですが、decodeURI()やunescape()を使用しても英字以外は文字化けしてしまいます。
UTF-8にしてphpでurlencode()した後に、JavaScriptへ渡しても、依然、おもったようにいきません。
エンコード後の文字列が%uとuから始まるようにできないのです。
どのようにすればPHP内部でURL EncodeしたものをJavaScriptでデコードすることが可能でしょうか?
0398nobodyさん
04/05/27 22:17ID:???で検索して、
http://ns1.php.gr.jp/pipermail/php-users/2002-June/008315.html
や
http://www.broadband-xp.com/hidesource/escape.html
が見つかったのですが、
> urlencode に相当する JavaScriptの escape を使うと、IE 5.5 などでは、
> % で始まる UNICODEに変換してくれるので、PHP の urldecode で処理できない
とありますが、この逆、つまり、
php内部でurlencode()又はrawurlencode()して、その出力結果をWindowsのIEのJavaScript上で
デコードして表示したいのですが、decodeURI()やunescape()を使用しても英字以外は文字化けしてしまいます。
UTF-8にしてphpでurlencode()した後に、JavaScriptへ渡しても、依然、おもったようにいきません。
エンコード後の文字列が%uとuから始まるようにできないのです。
どのようにすればPHP内部でURL EncodeしたものをJavaScriptでデコードすることが可能でしょうか?
0399nobodyさん
04/05/27 22:28ID:???で検索して、
http://ns1.php.gr.jp/pipermail/php-users/2002-June/008315.html
や
http://www.broadband-xp.com/hidesource/escape.html
が見つかったのですが、
> urlencode に相当する JavaScriptの escape を使うと、IE 5.5 などでは、
> % で始まる UNICODEに変換してくれるので、PHP の urldecode で処理できない
とありますが、この逆、つまり、
php内部でurlencode()又はrawurlencode()して、その出力結果をWindowsのIEのJavaScript上で
デコードして表示したいのですが、decodeURI()やunescape()を使用しても英字以外は文字化けしてしまいます。
UTF-8にしてphpでurlencode()した後に、JavaScriptへ渡しても、依然、おもったようにいきません。
エンコード後の文字列が%uとuから始まるようにできないのです。
どのようにすればPHP内部でURL EncodeしたものをJavaScriptでデコードすることが可能でしょうか?
0400nobodyさん
04/05/28 00:04ID:???自作関数内で獲得した
pg_numrows(resource result)や
pg_フェチ_array(resource result , int row)
はグローバルスコープですか?
0401nobodyさん
04/05/28 00:35ID:???というか、やらなくても分かりそうなモンだが。
0402nobodyさん
04/05/28 04:29ID:???wikiを利用しているのですが、ページにアクセスすると、
/?PHPSESSID314df6cb256897323032443
みたいのがつっついて思ったページにいけない時があります。
これをはずす設定をgoogle調べたのですが、
session.use_trans_sid を 0 にすればよいのでしょうか?
global_register をoffにするのでしょうか?
ページを読んでもよく理解できませんでした。
どうすればいいのでしょうか?
サーバは、レンタルサーバです。
0404nobodyさん
04/05/28 09:21ID:???PHP触り始めたばかりなんですが、上のようなものをPHPスクリプトでよく見かけます。
「=>」って矢印の意で使ってるんでしょうか??
0406nobodyさん
04/05/28 09:32ID:???http://www.php.net/manual/ja/language.types.array.php
代わりにマニュアル引いてやったからお駄賃に100円くれ
0407nobodyさん
04/05/28 15:57ID:???0411nobodyさん
04/05/28 17:17ID:???数字の先頭に0を付けて桁揃えする関数はありますか?
1を0001とか。
0413nobodyさん
04/05/28 17:25ID:???マニュアル検索もしてくれい
0416nobodyさん
04/05/28 17:49ID:???とオッサン丸出しな事を言ってみる
0417nobodyさん
04/05/28 18:09ID:???で検索して、
http://ns1.php.gr.jp/pipermail/php-users/2002-June/008315.html
や
http://www.broadband-xp.com/hidesource/escape.html
が見つかったのですが、
> urlencode に相当する JavaScriptの escape を使うと、IE 5.5 などでは、
> % で始まる UNICODEに変換してくれるので、PHP の urldecode で処理できない
とありますが、この逆、つまり、
php内部でurlencode()又はrawurlencode()して、その出力結果をWindowsのIEのJavaScript上で
デコードして表示したいのですが、decodeURI()やunescape()を使用しても英字以外は文字化けしてしまいます。
UTF-8にしてphpでurlencode()した後に、JavaScriptへ渡しても、依然、おもったようにいきません。
エンコード後の文字列が%uとuから始まるようにできないのです。
どのようにすればPHP内部でURL EncodeしたものをJavaScriptでデコードすることが可能でしょうか?
(または、互換の形式でもかまいません。phpとJavaScriptで共通して使えるエンコード・デコード関数があれば)
0420nobodyさん
04/05/28 19:32ID:???http://www.google.com/search?q=javascript%20php%20escape%20urlencode
で検索して、
http://ns1.php.gr.jp/pipermail/php-users/2002-June/008315.html
や
http://www.broadband-xp.com/hidesource/escape.html
が見つかったのですが、
> urlencode に相当する JavaScriptの escape を使うと、IE 5.5 などでは、
> % で始まる UNICODEに変換してくれるので、PHP の urldecode で処理できない
つとありますが、この逆、つま
り、php内部でurlencode()又はrawurlencode()して、その出力結果をWindowsのIEのJavaScript上
だとデコードして表示したいのですが、decodeURI()やunescape()を使用しても英字以外は文字化けしてしまいます。
よくUTF-8にしてphpでurlencode()した後に、JavaScriptへ渡しても、依然、おもったようにいきません。
つまりエンコード後の文字列が%uとuから始まるようにできないのです。
りどのようにすればPHP内部でURL EncodeしたものをJavaScriptでデコードすることが可能でしょうか?
(または、互換の形式でもかまいません。phpとJavaScriptで共通して使えるエンコード・デコード関数があれば)
0422nobodyさん
04/05/28 20:08ID:???0423417
04/05/28 22:46ID:???http://www.broadband-xp.com/hidesource/escape.html
の
//ネットスケープでもIEのescape関数と同じようにunicodeに変換する関数
を再現すればいいじゃん。というわけで、すみませんでした・・・解決です。
をphpで再現すればよいのかw
0424417
04/05/28 22:48ID:???http://www.broadband-xp.com/hidesource/escape.html
の
//ネットスケープでもIEのescape関数と同じようにunicodeに変換する関数
を再現すればいいじゃん。というわけで、すみませんでした・・・解決です。
をphpで再現すればよいのかw
0425nobodyさん
04/05/29 09:13ID:DJKvEK/Mxmlヘッダ(<?xml version="1.0" encoding="UTF-8" ?>)の
version、encoding を取り出したいんだけど、よい方法ありますか?
どなたかご教授お願いします。
0427nobodyさん
04/05/29 15:49ID:???0428nobodyさん
04/05/29 15:59ID:???テンプレート用HTMLの中に書いてある
<? echo "test"; ?>
のようなPHPは実行されないようなのですが
実効するようにはできないのでしょうか?
0429nobodyさん
04/05/29 16:06ID:???0431nobodyさん
04/05/29 17:45ID:???> PEARのテンプレート
> PEARのテンプレート
> PEARのテンプレート
> PEARのテンプレート
ハァ?
0432nobodyさん
04/05/29 18:52ID:???むしろハァ?するところが違う。
http://pear.php.net/package/HTML_Template_Flexy
http://pear.php.net/package/HTML_Template_IT
http://pear.php.net/package/HTML_Template_PHPLIB
http://pear.php.net/package/HTML_Template_Xipe
PEARの、どのテンプレートシステムだっつうの。
0433nobodyさん
04/05/29 20:22ID:???意味は通じるし。
0435nobodyさん
04/05/29 23:04ID:???ウププ ほんとに言っちゃっていいの?!
0437nobodyさん
04/05/30 01:09ID:???テキストファイル中の改行がそのまま文字列として、配列に格納されてしまう為、追加
したい文字列を同じ行に表示させることが出来ません。アドバイスお願いします。
恥ずいですがソースは以下で、環境はエディタがjvimでOSがFreeBSDでPHPは4.2です。
$log = file('log.txt');
for ($i = 0; $i < count($log); $i++)
{
$ex = explode(",", $log[$i]);
if ($ex[0] == $_POST[hoge])
{
ereg_replace ("/(\r\n)|\r|\n/","",$ex[$i]);
$add = ("$log[$i]" . "$a" . "," . "$b" . ",");
}
}
$fp = fopen('log.txt', 'w');
fputs($fp,$add);
fclose($fp);
}
0438nobodyさん
04/05/30 02:02ID:???やりたい事がいくつかできてないんじゃない?
ereg_replace ("/(\r\n)|\r|\n/","",$ex[$i]);
$add = ("$log[$i]" . "$a" . "," . "$b" . ",");
}
}
$fp = fopen('log.txt', 'w');
fputs($fp,$add);
fclose($fp);
}
を
$log[$i] = trim($log[$i]).$a.",".$b.",\n";
}
}
}
$fp = fopen('log.txt', 'w');
fputs($fp,implode("\n", $log));
fclose($fp);
かな?最適なコードじゃないけども
0439nobodyさん
04/05/30 02:14ID:???しかも波括弧の数が違うから場所は変えなくてよかた。
激しくすまそ
超遅レスで申し訳ないけどPHPでベンチマークなら
http://www.blueshoes.org/en/developer/php_bench/
こういう検証サイトがあります。
参考になるかと。
0441nobodyさん
04/05/30 04:31ID:???ttp://cgi.f13.aaacafe.ne.jp/~mugen/perlvsphp/page8.htm
0443nobodyさん
04/05/30 09:26ID:wDkFum9gregister_globalsをoffにする方法はないでしょうか?
変数の扱いに気をつけているつもりですが不安なので、
できればoffにしたいのですが。
0444425
04/05/30 10:08ID:???やはり自分で正規表現書くしかないですか・・・。
Parserで version、encoding を取れるのがあれば、
と思ったのですが。
もし、取れるParserがあったら教えてください。
0445nobodyさん
04/05/30 11:14ID:???とか書いてみる。
0447nobodyさん
04/05/30 13:40ID:???phpadminを設置したのですが、
「The configuration file now needs a secret passphrase (blowfish_secret).
」
というエラーが出ます。
パスやサーバーの設定は何度も確認しましたが、間違いがあったのでしょうか。
どうぞ宜しくお願い致します。
0448nobodyさん
04/05/30 13:45ID:???0451nobodyさん
04/05/30 18:37ID:???register_globals:PHP_INI_PERDIR/PHP_INI_SYSTEM
方法はない。
自分で小手先でどうにかしようとする前に
管理者になんとかしてもらう/させるべき事項。
0453nobodyさん
04/05/30 22:38ID:???表示出来る様になりますか?
<?php
$pointer = fopen("rireki.txt","r");
$fileline = fgets($pointer);
fclose($pointer);
if文
$rireki="格納する文字"
$pointer = fopen("rireki.txt","w");
flock($pointer,LOCK_EX);
fputs($pointer,$rireki);
flock($pointer,LOCK_UN);
fclose($pointer);
?>
上のイメージで作りましたがどうもエラーが起きてしまいます。
どこにprint($rireki)をつくればいいのでしょうか?
様々な個所に入れて試してみましたがエラーになりました。しかしif文の後に入れると
今回の結果が表示されてしまいますので困っています。
どなたか教えてください。
0454nobodyさん
04/05/30 22:54ID:???0456nobodyさん
04/05/30 23:16ID:???何をしたいのかいまいち判らんが。
普通に前回の内容(1行)が入っている
$filelineを表示すれば良いのでは?
print($fileline);
$rireki="格納する文字"; //終端の;が抜けてたけど?
0457453
04/05/30 23:24ID:???事に気づきましたwすいませんでした。
あとついでといってはなんですが今アクセスカウンタを作っているのですがセション
をつかってアクセスカウンタの数値を前にアクセスした人がリロードしても増えない
ようにするにはどうしたらいいのですか?
質問君みたいですいません。
0458nobodyさん
04/05/30 23:32ID:???質問君つうよりそれ以前の問題。
リロードで増やさないというのは、何をリロードとみなすかによる。
カウンターなんて、腐るほど転がっているから、そのソースを
参考にした方がいいんでね。
0459443
04/05/31 00:10ID:???やはり無理なのですね。
管理者に相談してみることにします。
ありがとうございました。
0460nobodyさん
04/05/31 14:07ID:2SJTqa7fphpが動きません
状況は下記のURLの通りで、<?phpスクリプト?>を解釈してくれません
ttp://www.php.net/manual/ja/faq.installation.php#faq.installation.blankscreen
Linux+Apache1.3 httpd.confには
マッピング、モジュールのロードは記述してあります
おしえてエロイ人
0461nobodyさん
04/05/31 14:26ID:???0462nobodyさん
04/05/31 14:31ID:???0463nobodyさん
04/05/31 14:31ID:???0465nobodyさん
04/05/31 15:49ID:???で、どうしろと?
インストール時の設定(若しくは手順)や環境くらいは説明したら?
このスレのエロイ人はエスパーじゃないんだから。
0466nobodyさん
04/05/31 15:50ID:???みんなが言ってることを理解してるのか?
なんべんでも見直せ。
おまいの設定がまずいにきまっとる。
せっていすらできんやつが鯖たてるな
!
0467nobodyさん
04/05/31 15:59ID:???0468nobodyさん
04/05/31 17:11ID:???質問者たちへ
ここで聞いてまともな返事が返ってくると思うな
**********/
0469nobodyさん
04/05/31 17:26ID:???なんで<br>じゃないのさ?
0470nobodyさん
04/05/31 17:36ID:???HTMLで<br />と書いて困ることはないが、XHTMLで<br>だと困るからだろ。
0471nobodyさん
04/05/31 17:37ID:???index.php?id=aaa みたいにやらない方法ってありますか?
0472nobodyさん
04/05/31 17:42ID:???0473471
04/05/31 17:49ID:???0474nobodyさん
04/05/31 18:19ID:???$str = "ABCDE";
を
$arr = array('A','B','C','D','E');
に分解する最適な方法を教えてください。
0475nobodyさん
04/05/31 18:32ID:???$arr = array($str{0},$str{1},$str{2},$str{3},$str{4});
はい、次!
0476474
04/05/31 18:39ID:???0477464
04/05/31 19:21ID:???漏れが建てた鯖じゃないのよ
色々いじられててよく分からんし
再インスコはできないし。
でもまあ、テキスト読み上げソフトで何とかなったよw
dクス
0478nobodyさん
04/05/31 19:40ID:a1bq18t+$arr = explode("",$str);
これでできたら、楽だと思ったことある
0479nobodyさん
04/05/31 19:55ID:???0480nobodyさん
04/05/31 19:56ID:???$arr = preg_split('//', $str);
とか。
問題は、前と後ろに余分な配列が入ることだけど。
array_pop() と array_shift() で外すようにすれば使えるかも。
まあ、今回の場合はこれで十分だと思うけど。
$arr = array();
$len = strlen($str);
for ($i=0; $i<$len; $i++) {
$arr[] = $str[$i];
}
0481nobodyさん
04/05/31 19:58ID:???0482nobodyさん
04/05/31 20:00ID:???preg_match_all('/./',$str,$match);
print_r($match[0]);
ダメか・・・・
0483nobodyさん
04/05/31 20:01ID:???まぬある読めば、PREG_SPLIT_NO_EMPTYと、例まで出して説明してありますが
それでもそんなややこしいことしますか?
0484nobodyさん
04/05/31 20:13ID:???$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
0486nobodyさん
04/05/31 21:36ID:LIfE6g2zなどスペースで区切られた数字をそれぞれ配列として変数にぶち込みたいのですが
どうすればいいでしょうか
0489nobodyさん
04/05/31 21:44ID:???0490nobodyさん
04/05/31 21:46ID:Mjcj/gqfカスタマイズ容易な
ウェブメールプログラムがあれば教えて下さい。
「php ウェブメール」で検索しても
結果が山ほど出てきて絞り込めません。
よろしくお願いします。
0491nobodyさん
04/05/31 21:54ID:???板違い
【CGI】こんなCGI探してますver.13
http://pc5.2ch.net/test/read.cgi/hp/1081608108/
0493nobodyさん
04/05/31 22:48ID:???$end = date("Y/m/d H:i");
$startから$endまでの経過時間を知りたいです。アドバイスよろしくお願いします。
0494nobodyさん
04/05/31 22:50ID:???なら板違いだぞ。
0498nobodyさん
04/05/31 23:57ID:???例
http://hoge.hoge/a.php
の内部で
http://hoge.hoge/b.php
の結果を取得して表示したい。
0499nobodyさん
04/06/01 00:06ID:???マジレスすると。
http://science3.2ch.net/test/read.cgi/sky/1039275406/1-
マニュアルが読めてない(date関数の意味を理解していない)節
があるので、再度読み直してもわからない場合は語学板。
勘違いだとわかった場合は数学板。未読だった場合は社会学/哲学板など。
>>498
includeとかfopenでhttpストリームを指定して取得する。
0500nobodyさん
04/06/01 00:15ID:???sessionを使ってみようと思ったのですが、
<?session_start();
if (!session_is_registered('count')) {
session_register("count");
$count = 0;
}
else { $count++; } ?>
<html><body>
<a href='<?php echo $PHP_SELF ."?PHPSESSID=" . $PHPSESSID ?>'>
<?php echo $count ?>
</a>
</body></html>
これだけなのですが、動きません。
エラーは一切でず、$PHPSESSIDは空っぽです。
何が原因だと考えられるでしょうか?
phpinfoでは
Session Support enabled となっており、
コンパイルオプションは以下のみです。
'./configure' '--enable-mbstring' '--enable-mbregex'
'--with-apxs2=/usr/apache2/bin/apxs' '--with-mysql'
よろしくお願いします。
0501nobodyさん
04/06/01 00:43ID:???これはいいの?
0502nobodyさん
04/06/01 00:44ID:???echo $a['ctime']; //またはmtime?
Windows上でためしたところ、上記でtest.phpファイルそのものの最終更新時刻がわかりますが、
Unix上では上記スクリプト実行のたびに更新時刻もどんどん変わってしまいます。
これはOSのし様ですか?
0503500
04/06/01 00:57ID:???<?php
session_start();
とちゃんと書いてます。ごめんなさい。
基本的に文法ミスは無いはずです。
違うサーバではきちんと表示されることがわかりました。
なんででしょう?
# ここに張るのに適当に短くしたつもりが・・・
0504nobodyさん
04/06/01 02:02ID:???・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。
0507nobodyさん
04/06/01 04:26ID:???いや、どちらにしてもctime/mtimeの取得方法が
内部で変わるわけではないので、
>Unix上では上記スクリプト実行のたびに更新時刻もどんどん変わってしまいます。
>これはOSの仕様ですか
が、そもそも変な感じ。
0508502
04/06/01 04:45ID:MqX7wJyb実行のたびに更新時刻が変わったのは何かの勘違いでした。
0509sakky
04/06/01 13:57ID:aOyX5NXt$a = "abc<-#email#->cba";
$email = "test@abcde.org";
$b = ereg_replace("(<\-#)([a-z]+)(#\->)","$\\2",$a);
print($b);
という形式でテストしてみたのですが、置換したところが、$emailと出て、
変数として扱ってくれません。どうしたら変数として扱ってくれる置換が
できるでしょうか?教えてください。お願いします。
0510nobodyさん
04/06/01 15:31ID:???0511sakky
04/06/01 16:01ID:aOyX5NXt0512nobodyさん
04/06/01 16:17ID:g7ULO3n5mail($to, $sub, $text, $from)とやると、
$toがパソコンのメールアドレスだと普通に送信できるのですが、
ドコモの携帯電話のアドレスを入れると、
$fromの内容がそのまま本文の先頭に入ってきてしまいます。
mail($to, $sub, $text)とやると普通に送信できます。
ボーダーフォンとかは持ってないので試せません。
PHPからドコモの携帯にメールを送る場合は$fromの指定は使えないのでしょうか。
よろしくお願いします。
0514512
04/06/01 16:32ID:g7ULO3n5さっそくレスありがとうございます。
↓こんな感じです。
$from = "Bcc:xxxxxx@xxxxxx.com\n";
$from.= "From: XXXXXX <xxxxxx@xxxxxx.com>\n";
$from.= "Reply-To: xxxxxx@xxxxxx.com\n";
$from.= "X-Mailer: PHP/" . phpversion();
0516nobodyさん
04/06/02 09:07ID:???こ こ は 誰 も 質 問 に 答 え な い 質 問 ス レ ッ ド で す ね
0518515
04/06/02 10:09ID:???すんげぇ勘違いしてますた。
0519515
04/06/02 10:11ID:???0520nobodyさん
04/06/02 11:49ID:???0521nobodyさん
04/06/02 12:43ID:???0525nobodyさん
04/06/02 16:50ID:???0532nobodyさん
04/06/02 17:40ID:???今まで誤った情報を提供する先生に出会ったことないのか?
幸せだな。
俺は育ちが悪いのか、小学校で既に先生も時には間違ってると悟っていた。
0533nobodyさん
04/06/02 17:56ID:???いわゆる反抗期みたいな感じなんだろ、そっとしておいてやれよ。
精々盗んだバイクで走り出してくれw
0534nobodyさん
04/06/02 18:12ID:???教科書が間違っているからいいのか。
0535nobodyさん
04/06/02 18:20ID:???0537nobodyさん
04/06/02 18:39ID:zu8X23qu私は Emacs でコーディングしているので必然的に
print_r などで出力して確認するような古典的な方法しか
使っていないのですが,もっと効率よく開発できないか
といろいろ調べてみたら Eclipse + TruStudio や
Magma Studio など Windows で開発すればそれなりに
効率よくできそうなツールを見つけました.
みなさんはどうされているか,いろいろ意見を聞きたいです.
よろしくお願いします.
0538nobodyさん
04/06/02 18:41ID:5rKkpSCd質問します。
PHPで掲示板をつくりたいのですが、
どこのディレクトリにアップロードすればいいのでしょうか?
0540538
04/06/02 18:45ID:5rKkpSCdpublic_htmlの方におけばいいということですか?
すみません。
0541nobodyさん
04/06/02 18:49ID:???0542nobodyさん
04/06/02 18:49ID:???そこらで拾ってきたスクリプトの設置がわからないとかだったらブッ頃すぞ!
0545538
04/06/02 18:58ID:???自分で作るとはかいてませんが?
がんばってみます。
すみませんでした。
0547nobodyさん
04/06/02 19:05ID:???Magma じゃなくて Maguma な。
PHP-users 検索したら腐るほど出てくる。
俺は Eclipse だが使い込んだら Emacs 最強なんじゃないの。
0548nobodyさん
04/06/02 19:06ID:???0549nobodyさん
04/06/02 19:06ID:???俺は秀丸で十分
0550nobodyさん
04/06/02 19:08ID:???自前のデバッグ用フレームワーク作ってやってる
結局最終的にやってることはvar_dumpだけどね
0551nobodyさん
04/06/02 21:35ID:???↓
♪■◎■■
教えろ
0553nobodyさん
04/06/02 21:40ID:???例えば
■■◎■■
という変数の、「■」を一つだけ置き換えて「♪」にしたいのですが、
どういう風に書けばいいのでしょうか?
for文の中に入れて、
■■◎■■
↓
♪■◎■■
↓
♪♪◎■■
:
:
とういう感じになるといいのですが…(´・ω・`)
0554nobodyさん
04/06/02 22:10ID:???こういうこと?
$str = $prevstr = '■■◎■■';
while (($str = preg_replace('/■/', '♪', $str, 1)) != $prevstr) {
echo $str, "<br />";
$prevstr = $str;
}
0556nobodyさん
04/06/02 23:11ID:???0557556
04/06/02 23:19ID:???配列がこんなかんじだった場合
apple=3
orange=4
としたいです、お願いします。
0560nobodyさん
04/06/03 02:11ID:???今なら無料でダウンロードできて、
PHP5とかへの対応ができているらしぃのだが
人柱募集
http://www.zend.com/store/beta.php
0561nobodyさん
04/06/03 03:27ID:???$ar1 = array('apple' =>'2', 'orange'=>'4', 'apple'=>'1');
$ar2 = array();
whle (list($key, $value) = each($ar1)){
$ar1[$key] += $ar2;
}
0562nobodyさん
04/06/03 03:28ID:???あ、適当に書いてたわ、スマン
× $ar1[$key] += $ar2;
○ $ar2[$key] += $value;
0564nobodyさん
04/06/03 11:44ID:???辛い中、PHPでカプエスクイズを作りました。
これなら大丈夫でしょう(ただクイズにゲーム画面を使えないのが
少々ネックですが)、取り合えず、テスター募集中です。
ttp://cgi.f13.aaacafe.ne.jp/~mugen/cvs_quiz/
問題数が多くなればランキング形式を採用しようと思います。
0565nobodyさん
04/06/03 12:06ID:???はじめて知った!!
てっきりRasmusやAndi&Zeevだと思ってたんだけど。
これからはKaPoKoN様に感謝して使用するよ!!
0567nobodyさん
04/06/03 13:18ID:???0568556
04/06/03 14:12ID:???返答ありがとうございます。
でもFatal error: Unsupported operand typesというのが
>$ar2[$key] += $value;
ここの部分で出てしまいます。何度も確認したのでタイプミスなどは無いと思うのですが。。
0569nobodyさん
04/06/03 14:26ID:???562じゃないが562のスクリプト通り(厳密に言えばwhileに修正w)で動いたが。
ってかさ、
$ar1 = array('apple' =>'2', 'orange'=>'4', 'apple'=>'1');
これ、アリなんか?
うちじゃprint_rしたらappleは後ろのしか入ってないぞ。
バージョンによっては通るのかも知れないが、こういう構造自体問題あるだろ?
0570569
04/06/03 14:32ID:???Unsupported operand typesなのは文字列になってるからかもしれない。
$ar1 = array('apple' =>2, 'orange'=>4, 'apple'=>1); //値の''を取った
にしてみそ
0571nobodyさん
04/06/03 16:02ID:???$ar1 = array('apple' =>'2', 'orange'=>'4', 'apple'=>'1');
$ar1_mod = array(
array('apple'=>'2'),
array('orange'=>'4'),
array('apple'=>'1')
);
while (list($key, $value) = each($ar1_mod)){
while(list($key2,$value2) = each($value)){
$ar2[$key2] += $value2;
}
}
print_r($ar1);
print_r($ar1_mod);
print_r($ar2);
0572556
04/06/03 16:42ID:???$ar1こう書きましたが
>$ar1 = array('apple' =>'2', 'orange'=>'4', 'apple'=>'1');
実際はテキストファイルから読み込んで配列にしているので、値の部分が文字列に
なってしまったんですね。
分り易いようにと修正して書いてしまいましたけど、分らないうちはありのままを
伝えるべきですたね。
お答えくださった皆さんありがとうございました。
0575vv
04/06/03 19:19ID:???どうしたらよいのでしょうか??
$multiline;
eregi("[^\r]*\r\n",$multiline,$regs);
ってやると1行目しか抜けないんですけど、原因がわからん
おしえてちょ
0577nobodyさん
04/06/03 19:25ID:???0579nobodyさん
04/06/03 22:26ID:???<?php
//動作確認用でメールを送る関数
?>
とした所、ブラウザーからアクセスした場合には正常に動きますが、
crontabで指定した場合には動作しません。
/ファイルパス/crontab.php: =: command not found
/ファイルパス/crontab.php: =: command not found
/ファイルパス/crontab.php: =: command not found
/ファイルパス/crontab.php: =: command not found
/ファイルパス/crontab.php: line 8: syntax error near unexpected token `mb_send_mail($'
/ファイルパス/crontab.php: line 8: `$rcd = mb_send_mail($mlto, $mlsb, $mlms, $mlfr);'
CGIモードではどうかと思い、
#/usr/local/bin/php
を先頭の行に入れて、<?phpと?>を削除しましたが、それでもなお、上記と同様のエラーが返ってくるばかりです。
どなたか、ヒントを頂けませんでしょうか?
0580nobodyさん
04/06/03 22:46ID:???本位買って、暇な時に斜め読みにして頭に入るようにしとけよ...
あ、こんな関数知りませんですた
ばっか。
0581579
04/06/03 22:47ID:???cronというとshell scriptがメインらしいですが、phpも実行出来る。としか書いて無くて
検索しても妥当なのが見つからないのでお伺いしました。教えて頂けませんでしょうか?
0582nobodyさん
04/06/03 22:49ID:???cronで動かす場合、
まず、ファイルへのPATHはフルパスで書かなきゃならない。
そして、実行権限を与えずにcli版で動かす場合は
/usr/local/bin/php /full/path/to/script.php
のように指定する。
実行権限を与えた場合は
/full/path/to/script.php
だけでいいが、script.phpの先頭行に
#!/usr/local/bin/php
が必要。>>579には ! が抜けている。
2行目以下には<?php ?>で必要部分囲う。
0583nobodyさん
04/06/03 23:11ID:???>CGIモードではどうかと思い、
>#/usr/local/bin/php
>を先頭の行に入れて、<?phpと?>を削除しましたが、
>それでもなお、上記と同様のエラーが返ってくるばかりです。
辺りから、CLI及びCGIのPHPと、その他(ApahceSAPIなど)のPHPとで
mbsrtringモジュールの使用可能の可否が違うと思われ。
設定で変えるか、CLI及びCGIのPHPをリビルド&インストール。
0584583
04/06/03 23:15ID:???PHP以前に、582氏の指摘が妥当だな。
0585nobodyさん
04/06/03 23:18ID:???同じ鯖にはいて欲しくない。
0586nobodyさん
04/06/03 23:29ID:???それも考えもんだね。ちょっと怖くなったよ。くわばらくわばら
0587nobodyさん
04/06/03 23:55ID:???Fedora Core1 をインストールしたままで使っています
php -v は
PHP 4.3.6 (cgi) (built: May 13 2004 05:56:26)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
です
0588nobodyさん
04/06/04 00:03ID:???0590nobodyさん
04/06/04 07:54ID:???0591nobodyさん
04/06/04 09:19ID:???だから皆さんに訊いてるんじゃないですか
0592nobodyさん
04/06/04 09:22ID:???0596nobodyさん
04/06/04 09:36ID:???0597nobodyさん
04/06/04 09:53ID:???判らない -> 上司先輩に聞く -> 少しは調べろと言われる -> MLや2chで聞く -> 叩かれる
0598nobodyさん
04/06/04 11:01ID:???マニュアルにそのまま・・・(´・ω・)
http://jp2.php.net/manual/ja/features.commandline.php
0599nobodyさん
04/06/04 13:29ID:wZX1pkeCPHPとPSQLを使ってWEBサイトを構築しているのですが、
こちらで決めておいたメールアドレス宛にメールが送られた場合
そのメールのsubject、内容、添付ファイル等をDBに入れたいのですが
イマイチどうすればよいかよくわかりません
マニュアルを探したのですがimap関数を使えばよいのでしょうか?
サンプルプログラム等ございましたらご教授願えないでしょうか?
0600nobodyさん
04/06/04 13:47ID:???プログラムって試行錯誤して成功するのが楽しいんだろ
いきなり投げやりな質問して何がいいんだ?
自分にとって利点あるのか?
0601nobodyさん
04/06/04 14:06ID:JHbJHjmL教えてください。
PHPからDB(例えばPostgreSQLなど)を利用する場合、
コネクションプーリングの機能とか使えたりするんでしょうか?
もしかして、DB板に行くべきですか?
0602nobodyさん
04/06/04 14:37ID:???いや、来るな。
PHPそのものにプーリング機能は無い。
パーシスタント接続はあるけどな。
PostgreSQLならpgpoolがあるからググれ。
0603nobodyさん
04/06/04 14:42ID:???俺は経験無いんだけどね。
http://www.google.co.jp/search?q=PHP+%E3%82%B3%E3%83%8D%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%97%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%B0&ie=UTF-8&hl=ja&lr=
0604nobodyさん
04/06/04 14:53ID:???PHPにはJavaが持っているような
DBのコネクションプーリング機能はない。
ずっと立ち上がってるAP鯖がないからね。
別個にコネクションプーリング鯖を間に
噛ませて運用する形になる。
#ってことを前スレ辺りにも書いたぞ
"別個のコネクションプーリング鯖"の話題は
DB板の汎用的な質問スレ辺りかな。
0605nobodyさん
04/06/04 16:48ID:0a7YDspA返信のメールを飛ばす仕組みがよくわからないんですが、どうやってるんでしょうか?
更に返信されるメール本文にURL+ユーザ固有のユニークキーを乗せたいんですが。
0606nobodyさん
04/06/04 17:31ID:???0608nobodyさん
04/06/04 18:15ID:0a7YDspApostfixです。
0610nobodyさん
04/06/04 21:32ID:???>>605
PHPに全く関係ないからな。
メールの受信をトリガーにするならprocmailを使え。続けるなら各OS板のMTAスレにいけ。
PHPでポーリングするならimap関数辺りを使え。
0611579
04/06/04 23:51ID:???<>>585さん、すみません・・・でも、もうこれからは大丈夫です>
<>>586さん、phpを実行する時の方法についての解説サイトが見つからなかったので分からずじまいでした>
cronの設定で直接、/usr/local/bin/php /full/path/to/script.phpは書けない形式だったので、
直接指定でよいと誤解したまま、/full/path/to/script.phpしか書いていなかったのが原因でした。
.sh(shell script)を指定して、間接的に>>582さんに教えて頂いたように
#!/bin/sh
MAILTO="確認メール送信先"
/usr/local/bin/php /filepath/public_html/crontab/test3.php
exit
とし、
先頭に#!/usr/local/bin/phpを書き、その次の行から普段通りの<?php 〜〜 ?>とし、
EUC-JPで改行コードはLF、パーミッションは705で00分に実行するよう指定しました。
すると、何の問題もなく動作しました。
完璧です!!
UNIXのterminalを想像すると、/usr/local/bin/php /filepath/public_html/crontab/test3.php
と来る訳も納得出来ました。普段、ファイルパスだけの指定に慣れていた為ですね。
レポートメールが届かなくなるようにする為には(>>587さんの回答にもなりますが)
コマンドラインでPHPを使う:http://www.spencernetwork.org/memo/tips-6.php
にあるように、/usr/local/bin/php -q /filepath/public_html/crontab/test3.php
とすればよさそうです。
0612257
04/06/05 00:38ID:wzRU3gnq質問
$arr["hoge"][0] = "a";
$arr["hoge"][1] = "b";
$arr["fuga"][0] = "1";
$arr["fuga"][1] = "2";
$arr["fuga"][2] = "3";
という2次配列があった場合、
$arr2[0] = "a1";
$arr2[1] = "a2";
$arr2[2] = "a3";
$arr2[3] = "b1";
$arr2[4] = "b2";
$arr2[5] = "b3";
という1次配列を生成したい。2次配列の全ての要素を組み合わせた
1次配列を生成したいんです。
0613257
04/06/05 00:39ID:wzRU3gnq続き。。
下記関数で$arrの要素が固定の場合はできますが、しょっぱいですよね。
動的に$arr["guha-"][n]とかが増えた場合にも適切に処理したいんです。
--
function foo($arr)
{
$k=0;
for ($i = 0; $i < count($arr["hoge"]; $i++)
for ($j = 0; $j < count($arr["fuga"]; $j++ )
$arr2[$k++] = $arr["hoge"][$i] . $arr["fuga"][$j];
return $arr2;
}
再起を使ってやってみたんですが、うまくいきませんでした。
教えて、モロイ人!
0614nobodyさん
04/06/05 01:46ID:???これからもガンガレ。
0616nobodyさん
04/06/05 10:00ID:???0617257
04/06/05 11:26ID:cLiOxb8T勘違いされると思ったんですが、他スレの名前をそのまま使ってました。
0618nobodyさん
04/06/05 12:34ID:???foreach使えば何も問題ないのでは?
0619nobodyさん
04/06/05 13:05ID:???つーか配列の要素決め打ちって、関数になってねぇじゃんw
0620257
04/06/05 13:18ID:cLiOxb8T> つーか配列の要素決め打ちって、関数になってねぇじゃんw
現状、hoge,fugaだけで、この要素は確定なんです。
が、将来拡張が無いわけではないでしょうし、どうもかっこわるいもので。。。
0621nobodyさん
04/06/05 13:22ID:???hogeが先でfugaが後ってのはどこで決まってるの?
順不同で全部の組み合わせということなら、こんな感じだと思うが。
function foo($arr) {
$ret = array();
foreach (array_keys($arr) as $key1) {
foreach (array_keys($arr) as $key2) {
if ($key1 == $key2) {
continue;
}
foreach ($arr[$key1] as $val1) {
foreach ($arr[$key2] as $val2) {
$ret[] = $val1 . $val2;
}
}
}
}
return $ret;
}
0622621
04/06/05 13:23ID:???0623nobodyさん
04/06/05 13:36ID:???0624257
04/06/05 13:52ID:cLiOxb8T> >>612
> hogeが先でfugaが後ってのはどこで決まってるの?
> 順不同で全部の組み合わせということなら、こんな感じだと思うが。
説明不足ですいません。順不同でかまいません。
早速試してみますね。
ありがとうございました。
0625257
04/06/05 13:59ID:cLiOxb8TSQLでいうところの同じテーブルを別名でjoinみたいな。
Warning: Invalid argument supplied for foreach()
がでてますが、結果としては正しそうです。
もうちょっとテストしてみます。
0626257
04/06/05 14:03ID:cLiOxb8Tちゃんとみたらエラーで動いていませんでした。
コレをヒントに調べてみます。
0627257
04/06/05 14:18ID:cLiOxb8T再度すいません。
エラーがでたのは引数が間違えてました。
正しく動いてます。ありがとうございました。
0628257
04/06/05 15:30ID:cLiOxb8T621さんのは仕様を満たしていないことに気付きました。
全ての組み合わせではない(a+1, 1+aは等価)。事が必要でした。
で、下記関数でくみなしたんですが、大丈夫なようです。
こうすれば。。というのがあればご意見ください。
--
function bar($arr)
{
$keys = array_keys($arr);
$allcnt = 1;
for ($i = 0; $i < count($keys); $i++ )
{
$allcnt *= count($arr[$keys[$i]]);
}
echo $allcnt,"\n";
for ($_i = 0; $_i < count($keys); $_i++ )
{
for ($j = 0, $s=0; $j < $allcnt / count($arr[$keys[$_i]]); $j++)
{
for ($i = 0; $i < count($arr[$keys[$_i]]); $i++, $s++ )
{
$ret[$s] .= $arr[$keys[$_i]][$i];
}
}
}
return $ret;
}
0629nobodyさん
04/06/05 18:53ID:kZEpDfR9ユーザエージェントによって振り分けるやつなんですが、
switch($user_agent[0]){
case "DoCoMo": $file = "〜";
〜
}
header("Location: $file");
http://〜/だとエラーも何も表示されず、http://〜/index.phpにしないとうまく機能しません。
どのようにすれば改善されるのでしょうか?
同じディレクトリにindexファイルはphp以外置いてません。
0631nobodyさん
04/06/05 19:13ID:???そういう時は原因の追求ですよ。
1. index.phpを付けない時にindex.phpが呼び出されるかどうか確認する。
print "hello"; てな簡単なスクリプトで試す。
helloが表示されない時は、webサーバがindex.phpを補完してくれていないということで
webサーバの設定を確認する。
2. index.phpを付けない時にuser_agent[0]に期待する値が入っているかどうか確認する。
print $user_agent[0] てな簡単なスクリプトで試す。
0632629
04/06/05 19:27ID:???どうもです。
1.helloと表示されました。→ファイル名を省略してもindex.phpがうまく表示されているようです。
2.Mozillaと表示されました。→とくに問題はないようです。
っと、「header index.php Location」で検索してみたら、同様の質問が出てきました。
ttp://216.239.53.104/search?q=cache:Fsd3QTFduvIJ:www.ybi.co.jp/koike/qa2500/qa2601.htm+header+index.php+Location&hl=ja&lr=lang_ja
ttp://216.239.53.104/search?q=cache:WmaR0tRbb8EJ:wring.xrea.jp/modules/xoopsfaq/index.php%3Fcat_id%3D2+header+index.php+Location&hl=ja&lr=lang_ja
じつは、xreaでダメだったんです。aaacafeでは問題ありませんでした。
0633629
04/06/05 19:36ID:???ttp://216.239.53.104/search?q=cache:6Ddn8YneUqoJ:sb.xrea.com/showthread.php%3Fs%3D%26threadid%3D7011+header+index.php+Location+xrea&hl=ja&lr=lang_ja
xreaの自動挿入される広告が問題だったようです。
解決したわけではありませんが、原因がわかりました。
ありがとうございます。
いろいろな原因の追求の方法を教えていただき、感謝です。
0634nobodyさん
04/06/05 21:30ID:???> こうすれば。。というのがあればご意見ください。
>>616,618,619でとっくに解決済みだけど、意見してやる。
制御構造ぐらい勉強しる。それとレスする前にまとめれ。
$arr2 = array();
if (is_array($arr)) {
foreach ($arr as $val) {
if (is_array($val)) {
foreach ($val as $key2 => $val2) {
$arr2[$key2] .= $val2;
}
}
}
}
0635nobodyさん
04/06/05 21:59ID:???$arr["hoge"][1] = "b";
$arr["fuga"][0] = "1";
$arr["fuga"][1] = "2";
$arr["fuga"][2] = "3";
$arr2 = array();
if (is_array($arr)) {
foreach ($arr as $val) {
if (is_array($val)) {
foreach ($val as $key2 => $val2) {
$arr2[$key2] .= $val2;
}
}
}
}
print_r($arr2);
// 結果
Array ( [0] => a1 [1] => b2 [2] => 3 )
違うじゃん。
0636634
04/06/05 22:15ID:???規則性がようわからんからもうやらね
0637nobodyさん
04/06/05 22:20ID:???「やらね」じゃなくて「できない」だろ。
>>616,618も理解していないだろうなと思ってたけど、
>>634は重症だな。
0638634
04/06/05 22:29ID:YJIptq+uしゃあねーな、やってやるよ
おまえもできるんなら見せてみな
できた時間とコードを皆に判断してもらうぞ
ほら開始だ、早くやれよ
0639634
04/06/05 22:58ID:???0640nobodyさん
04/06/05 23:06ID:???function foo($arr) {
$ret = array();
$keys = array_keys($arr);
$indices = array_flip($keys);
foreach ($keys as $key1) {
foreach ($keys as $key2) {
if ($indices[$key2] >= $indices[$key1]) {
break;
}
foreach ($arr[$key1] as $val1) {
foreach ($arr[$key2] as $val2) {
$ret[] = $val1 . $val2;
}
}
}
}
return $ret;
}
0641nobodyさん
04/06/05 23:14ID:???$arr["hoge"][1] = "b";
$arr["fuga"][0] = "1";
$arr["fuga"][1] = "2";
$arr["fuga"][2] = "3";
$arr["geha"][0] = "い";
$arr["geha"][1] = "ろ";
$arr["geha"][2] = "は";
$arr["geha"][3] = "に";
だった場合とか考慮しなくていいの?
0642673
04/06/05 23:15ID:???だれも出来るとは言って無いんだが、
あれだけ煽っといて、質問者だけのせいにして逃げるのはどうかと。
>>639
正直むずい。
$c=1;
foreach($arr as $val){
$c *=count($val);
}
foreach($arr as $val){
$c2=count($val);
for($i=0;$i<$c;$i++){
$arr2[$i] .= $val[$i%$c2];
}
}
print_r($arr2);
これでいいとは思うが。
0644637
04/06/05 23:23ID:???0645637
04/06/05 23:30ID:???$c=1;
foreach($arr as $val){
$c *=count($val);
}
foreach($arr as $val){
$c2=count($val);
for($i=0;$i<$c;$i++){
$k=(int)($i/($c/$c2));
$arr2[$i] .= $val[$k];
}
}
print_r($arr2);
0646637
04/06/05 23:32ID:???3種類以上になるとダメでした。
0647640
04/06/05 23:37ID:???Array ( [0] => 1a [1] => 1b [2] => 2a [3] => 2b [4] => 3a [5] => 3b
[6] => いa [7] => いb [8] => ろa [9] => ろb [10] => はa [11] => はb
[12] => にa [13] => にb [14] => い1 [15] => い2 [16] => い3 [17] => ろ1
[18] => ろ2 [19] => ろ3 [20] => は1 [21] => は2 [22] => は3 [23] => に1
[24] => に2 [25] => に3 )
こうなるけど、>>612 の意図どおりかどうかはわかりません。
あと、
$indices = array_flip($keys);
は不要で、
if ($indices[$key2] >= $indices[$key1]) {
break;
}
は
if ($key2 == $key1) {
break;
}
で十分でした。
0648nobodyさん
04/06/05 23:42ID:I8nBdH8Q掲示板でよくある書き込み後に「書き込みました」って別ページに飛ぶのあるじゃないですか
それってどうやってやるんですか?
元のページで自動で戻るのはMETAで<meta http-equiv="refresh" content="5; url=元のページ">でできるんですが・・
0649637
04/06/05 23:42ID:???>>637に戻ってソートを加えてみた。
$c=1;
foreach($arr as $val){
$c *=count($val);
}
foreach($arr as $val){
$c2=count($val);
for($i=0;$i<$c;$i++){
$k=(int)($i/($c/$c2));
$arr2[$i] .= $val[$i%$c2];
}
sort($arr2);
}
print_r($arr2);
もうねるぽ。
0650648
04/06/05 23:43ID:???元のページへ自動で戻るのはMETAで<meta http-equiv="refresh" content="5; url=元のページ">でできるんですが・・
0654カポコン
04/06/05 23:52ID:???閃(ヒラメ)いたので書いておきますね。
<?php
$ary = array(3,4,2,1,0,2,3,4);
$ary2 = array("砂糖","塩","胡椒","唐辛子","小麦粉");
foreach($ary2 as $num => $spice):
foreach($ary as $key => $val):
$ary2[$key] = $ary2[$ary[$val]];
endforeach;
endforeach;
print_r($ary2);
?>
あっ、私のホムペはココ。
ttp://f13.aaacafe.ne.jp/~mugen
趣味でやってるのであまり更新しませんがよろしこ。
0656257
04/06/05 23:53ID:???>>639
そうなんですよ。以外に難しくて正直参りました。
でもこういうクイズ的なプログラミングは楽しいですね。
0657nobodyさん
04/06/05 23:55ID:???ttp://board.aaacafe.ne.jp/read.php/zatsudan/1086332333/index.html
0659nobodyさん
04/06/05 23:56ID:???echo "書き込みました。";
exit();
0660257
04/06/05 23:56ID:???Array
(
[0] => a1い
[1] => b2ろ
[2] => a3は
[3] => b1に
[4] => a2い
[5] => b3ろ
[6] => a1は
[7] => b2に
[8] => a3い
[9] => b1ろ
[10] => a2は
[11] => b3に
[12] => a1い
[13] => b2ろ
[14] => a3は
[15] => b1に
[16] => a2い
[17] => b3ろ
[18] => a1は
[19] => b2に
[20] => a3い
[21] => b1ろ
[22] => a2は
[23] => b3に
)
こうなってほしいです。
0661657
04/06/05 23:58ID:???ttp://board.aaacafe.ne.jp/read.php/zatsudan/1079490157/index.html
0664nobodyさん
04/06/06 00:07ID:???でエラー起るんですよ〜
0665nobodyさん
04/06/06 00:09ID:???0666nobodyさん
04/06/06 00:10ID:???0670カポコン
04/06/06 00:30ID:???こういうのでよければどうぞ、何も複雑な事はしてませんが。
<?php
$alpha = array("a","b");
$num = array(1,2,3);
$kana = array("い","ろ","は","に");
$i = 0;
$ans = array();
while($i < 24):
$a = $i % 2;
$b = $i % 3;
$c = $i % 4;
$ans[$i] = ($a == 0)?$alpha[0]:$alpha[1];
if($b == 0):$ans[$i] .= $num[0];
elseif($b == 1):$ans[$i] .= $num[1];
else:$ans[$i] .= $num[2];
endif;
if($c == 0):$ans[$i].=$kana[0];
elseif($c == 1):$ans[$i] .= $kana[1];
elseif($c == 2):$ans[$i] .= $kana[2];
else:$ans[$i] .= $kana[3];
endif;
$i++;
endwhile;
print_r($ans);
?>
0671カポコン
04/06/06 00:36ID:???0672nobodyさん
04/06/06 00:39ID:???0673257
04/06/06 00:47ID:???すいません。酒ノンでてあまり集中してみれませんが。
この部分、難解ですね。
> $k=(int)($i/($c/$c2));
> $arr2[$i] .= $val[$i%$c2];
>>670
動的に配列が増えた場合に対応できますでしょうか。
そこが今回のポイントでもあるんですが。。。。
0675カポコン
04/06/06 00:53ID:???>>660さん。これでOKと思います。
<?php
$alpha = array("a","b");
$num = array(1,2,3);
$kana = array("い","ろ","は","に");
$i = 0;
$ans = array();
while($i < 24):
$x = $i % count($alpha);
$y = $i % count($num);
$z = $i % count($kana);
$ans[$i] = $alpha[$x].$num[$y].$kana[$z];
$i++;
endwhile;
print_r($ans);
?>
0676nobodyさん
04/06/06 01:22ID:???0677nobodyさん
04/06/06 01:31ID:???0678nobodyさん
04/06/06 01:53ID:???静的なんてねぇ
0679257
04/06/06 02:53ID:???わかた!
$arr[hoge][0]=a
$arr[hoge][1]=b
$arr[fuga][0]=1
$arr[fuga][1]=2
のとき、
a1
b2
a1
b2
となるのを防ぐために、いちいちsortしてるのか。つーか、俺のはバグって真下。
同じようにsortを入れると正常になりました!
勉強になります。
0680nobodyさん
04/06/06 03:09ID:???0682nobodyさん
04/06/06 03:38ID:???if (is_array($ちょっとだけ = array_shift($2次元の値))) {
foreach ($ちょっとだけ as $2次元の値の値) {
$一番大切 = 再帰関数($1次元のりふぁれんす, $2次元の値, "$文字$2次元の値の値");
if (!count($2次元の値)) array_push($1次元のりふぁれんす, $一番大切);
}
}
return $文字;
}
$2次元 = array(
'PHP' => array(1, 2, 3, 4),
'Hypertext' => array('a', 'b'),
'Preprocessor' => array('x', 'y', 'z'),
'カポコン神' => array('カ', 'ポ', 'コ', 'ン', 'は', '糞')
);
$1次元 = array();
再帰関数($1次元, array_values($2次元));
print_r($1次元);
0684nobodyさん
04/06/06 05:26ID:???思ってます.
ところがインストール(MySQLのみrpm)を全て済まし,httpd.confをPHPを
使えるように設定しなおしてApacheを再起動すると,
Syntax error on line 232 of /usr/local/apache2/conf/httpd.conf:
Cannot load /usr/local/apache2/modules/libphp4.so into server:
/usr/local/apache2/modules/libphp4.so: undefined symbol: mysql_character_set_name
というエラーが出て,起動に失敗してしまいます.
ApacheのスレでMySQLは3.23以前はサポートしていないということを教えて
もらい,3.23.58をソースからインストールし直しました(それまでは3.22.30).
その後,PHPを下記のオプションでインストールしようとすると,
./configure --with-apxs2=/usr/local/apache2/bin/apxs
--enable-mbstring
--enable-mbregex
--enable-track-vars
--enable-mbstr-enc-trans
--with-zlib
--with-jpeg-dir=/usr/local/
--with-mysql=/usr/local/mysql
configでエラーは出ないのですが,makeをすると下のように
collect2: ld terminated with signal 6 [Aborted], core dumped
make: *** [libphp4.la] Error 1
エラーが出るようになってしまいました.
探しても似たような症状の人が見当たりません.config.logを見ても
どこがダメなのかわからないのですが,どこか注意すべき点などあるでしょうか?
環境
Apache2.0.49,MySQL3.23.58,PHP4.3.6
参考にしたページ
ttp://www.brtnet.org/linux/raq2mysql.htm
ttp://www.mypress.jp/php/install.php
ttp://www.jpring.net/jitaku/redhat9-no.html
0685640
04/06/06 07:32ID:???なるほど。
そうなるように >>640 を直してみますた。
function foo($arr) {
$keys = array_keys($arr);
$arr2 = array();
foreach ($keys as $key) {
if (!count($arr2)) {
foreach ($arr[$key] as $val) {
$arr2[] = $val;
}
}
else {
$arr3 = array();
foreach ($arr2 as $oldval) {
foreach ($arr[$key] as $addval) {
$arr3[] = $oldval . $addval;
}
}
$arr2 = $arr3;
}
}
return $arr2;
}
0686nobodyさん
04/06/06 15:31ID:yuO83M+4$b = "a[0]";
$c = ${$b};
print($c);
$bを取り出して、結果的に$a[0]のtestという値を取り出したくて、
$c = ${$b}としたのですが、うまく行きません。
($aが変数の場合は出来ました)
どうしたらこれを配列として評価して出力できるでしょうか?
教えてください。お願いします。
0687nobodyさん
04/06/06 15:44ID:???フォルダ内に空のファイルを生成し、
書き込んだり、消したりするためにはどうすればいいんでしょうか。
0688nobodyさん
04/06/06 17:31ID:aWFHtiOk0690686
04/06/06 19:30ID:yuO83M+4変数名と配列に分ける方はうまく行きませんでしたが、
eval()はうまく行きました。ありがとうございます。
0691nobodyさん
04/06/06 20:04ID:???require("Auth/Auth.php")、require("Auth.php")では当然エラーが出ます。
PEAR/CommandにAuth.php見つけたんですけど、
require("PEAR/Command/Auth.php")で使えるようになるでしょうか?
いろいろサイト調べながらやってるんですけど、Authディレクトリすらないんですけど…
なんかやり方間違ってるんでしょうか?
当方WinXP+PHP4.3.7です。
0692691
04/06/06 20:05ID:6zj2k96f0693nobodyさん
04/06/06 20:23ID:yuO83M+4"グローバル配列"を呼びたいんですが、呼ぶ方法ありますか?
(global $var; ←変数の場合)
ネットで調べても、スーパーグローバル変数のことしか
出てこないのでわかりませんでした。ご存知の方教えてください。
0695nobodyさん
04/06/06 21:06ID:???pearに限らずincludeやrequireはPHPの設定のinclude_pathを参照して
「ファイルの実際の場所」を特定する。
で、なんでPEAR/Command/Auth.phpを試してみないの?
0696nobodyさん
04/06/06 21:36ID:???いや、もちろん試してみて動いたんですけど、
Auth扱ったサイトには必ずrequire_once("Auth/Auth.php")とあったもので。
置く場所が変わると相対パスとかの関係でおかしくなったりしないかなーと。
include_pathらへん設定してきます。
ありがとうございました。
0697nobodyさん
04/06/06 22:21ID:???普通にPEAR/Auth.phpもあるし、PEAR/Auth/Auth.phpもあるがな。
0700nobodyさん
04/06/07 00:57ID:pAlrsUVH0702カポコン
04/06/07 03:32ID:???>>678
XMLファイルから値を取るのが俺の通常のやり方。
現場と遊びは違うんで。
>>682
すげー効率悪いプログラム書きますね、
しかもarray_valuesで配列の再生成か、ショボネタ連発
の受け狙いプログラム、十分吹かしてもらいました。
でも再帰使うならstaticぐれー使ってほしかった。
自分の経歴が組んだプログラムに出てますよ自演ちゃん。
まーそのプログラム、俺だったら関数名の前に&を付けて
PHPらしい書き方をするだろうな。
0703nobodyさん
04/06/07 03:35ID:???0705nobodyさん
04/06/07 05:29ID:???↓これじゃないの?
ttp://jp.php.net/manual/ja/reserved.variables.php#reserved.variables.phperrormsg
0706nobodyさん
04/06/07 06:59ID:ddmA6C2jhttp://216.239.53.104/search?q=cache:82liKHMca1QJ:jamesthornton.com/php/japanese/function.posix-times.html+php%E3%80%80%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E6%99%82%E9%96%93%E3%80%80%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E6%99%82%E9%96%93&hl=ja
を参考にして posix_times() 関数からプロセスタイムを取得し表示させています。
この場合走らせているスクリプトの負荷として適切な値はどれに該当するのでしょうか?
・utime - 現在のプロセスにより使用されているユーザー時間。
・stime - 現在のプロセスにより使用されているシステム時間。
・cutime - 現在のプロセスおよび子プロセスにより使用されているユーザー時間
・cstime - 現在のプロセスおよび子プロセスにより使用されているシステム時間
また現在の値は
・utime - 20〜30秒
・stime - 2〜3秒
・cutime - 2〜3秒
・cstime - 2〜3秒
となっていますが、これは一般的にみてかなり負荷が高いのでしょうか?
System Linux
Server API Apache 2.0 Handler
PHP/4.3.6
0707nobodyさん
04/06/07 07:22ID:???脳内現場乙
0708nobodyさん
04/06/07 08:26ID:???カポコンが現れると名無しがほめるのはどうしてぇ〜?w
0709nobodyさん
04/06/07 09:06ID:???メル欄に釣りですって書いてるのと同義なんだよ!
0711nobodyさん
04/06/07 09:46ID:???これが真の現場という物か
0712nobodyさん
04/06/07 10:51ID:???0713nobodyさん
04/06/07 11:38ID:???>現場と遊びは違うんで
>現場と遊びは違うんで
>現場と遊びは違うんで
>現場と遊びは違うんで
>現場と遊びは違うんで
>現場と遊びは違うんで
>現場と遊びは違うんで
>現場と遊びは違うんで
>現場と遊びは違うんで
0714nobodyさん
04/06/07 11:40ID:???0715nobodyさん
04/06/07 11:48ID:???痛さメガトン級w
0716nobodyさん
04/06/07 12:11ID:???0717nobodyさん
04/06/07 14:41ID:p6jQDvKG$fp=popen("tail -fname -n 0 unko.log","r");
とやってるんだけど、こんど tail無しの環境に行くモンで。
0718nobodyさん
04/06/07 19:04ID:HnbrGX79サーバにとって、かなりの負担になるのでしょうか?それとも気にするほどの事ではないのでしょうか?
大体10〜50MBのファイルなのですが。
0719nobodyさん
04/06/07 19:05ID:???0721nobodyさん
04/06/07 19:34ID:???コークスでもなかなか出せない香ばしさだな。
0722718
04/06/07 19:35ID:???絶対やめて、ということはかなりの負担になるのですね。
了解しました。
うーん、ダウンロードさせるファイルのURLを教えずにダウンロードするには
readfile以外になにか方法ないかなぁ。
0723nobodyさん
04/06/07 19:39ID:???locationヘッダで飛ばせば初心者にはわからんと思うが…・
どうしてもというならバイナリモードで開いてちょっとずつ読み込んで出力するしかない。
10Mも一気に読み込むのだけはマジでやめてくれ。
0725nobodyさん
04/06/07 19:53ID:???webのPHPファイルにアクセスした時に他のページへリダイレクト、って意味だよね?
ならheader()でlocation出すだけ。
HTMLやJavaScriptでクライアントに処理させる方法もある。
0730nobodyさん
04/06/08 09:07ID:???0731nobodyさん
04/06/08 09:29ID:???0732nobodyさん
04/06/08 12:12ID:???現在テスト段階なので、下記の様なソースでやってます。
文字コードはSJISです。
ソースはEUCなんか?
0734nobodyさん
04/06/08 13:23ID:mGDxJx8J最近やっと簡単な掲示板をつくるトコまで来ました。
そこから掲示板に色々オプションを付けていこうと思い、
cookieの設置で行き詰ってます。
現状の記述は以下の通りです。
<ヘッダというかhtmlより上の部分>
setcookie("name",$name,time()+60*60*24*30);
<formの名前記入欄>
【名前】
<input type="text" name="name" size="16" value="<?php echo $_COOKIE['name'] ?>">
この記述だと
1番始めに名前を「A」と入力してサブミットする→ページを閉じる
2回目に書き込みに来たと仮定しページを開く。名前欄には「A」を記入されている
今度は名前を「B」に変更してサブミット→ページを閉じる
ページを開きなおすと名前欄には「A」と入ってしまっている
これを名前欄を変更する度にcookieを上書きするような仕様にしたいのですが、
どうすればいいのでしょうか?
0735nobodyさん
04/06/08 13:42ID:FspqORY3Apacheのhttpd.confとか何も修正しなくても<?php info.php?>のテストファイル
がちゃんと作動したんだけど、すごいな〜とおもった。このまま大丈夫なのかな??
ちなみにhttpd.confの内容はなんか修正すべきところ修正してないような感じだったけど、
ちゃんと動く。。
すごいなとおもった。
0738737
04/06/08 14:20ID:???サブミットした時点でnameはBの書き換えられてるんだから。
その時点でクッキー読み込むとAなのはわかるんだが。
0739nobodyさん
04/06/08 14:59ID:???0740nobodyさん
04/06/08 16:29ID:5lOZ1tpUページの一部分にそれぞれのファイルを読み込むような感じで
http://aaa.jp/xxx.php?a
http://aaa.jp/xxx.php?b
でリンクされると、それぞれa.phpやb.phpを読み込ませるようにしたいんですが、
f(eregi("a",$_SERVER['QUERY_STRING'])){
readfile("a.php");
include("monthly.php");
}
else{
include("monthly.php");
};
このあたりでつまっています。
というのもこのif文を延々と書いていかなければならないので……。
どういうふうに改変すできか、よろしければアドバイスお願いします。
0741nobodyさん
04/06/08 16:32ID:???http://php.s3.to/man/function.preg-match.html
0743nobodyさん
04/06/08 16:45ID:???$file = './hoge/' . $_SERVER['QUERY_STRING'] . '.php';
if (!is_file($file)){
echo '氏ねカス';
}
else {
include($file);
}
0744nobodyさん
04/06/08 16:57ID:osVeuITeお前がPHPを評価するに至ったプログラム言語遍歴を教えてくれよ!
WebProg板のPHP質問スレで、
PHPの良さを一つも語らずに逃れようなんて、
恥ずかしい事はやめてくれよ(ゲラプップ
0745nobodyさん
04/06/08 17:20ID:???0746nobodyさん
04/06/08 17:36ID:???安全性が疑問だけど、
if (ereg('^([ab])$', $_SERVER['QUERY_STRING'], $matched)) {
readfile($matched[0] . '.php');
}
include('monthly.php');
でいいんじゃないの。
0748nobodyさん
04/06/08 18:07ID:???俺の覚えちまったPHPがダメ、使い物にならないというなら、
覚える手間かけてまで他の言語を習得するメリットを教えてくれ。
0749nobodyさん
04/06/08 18:10ID:???0750740
04/06/08 18:31ID:???ありがとうございます。
とりあえずうまくできました……!
そうか、eregi使わなくても良かったのか……どうもです。
0751nobodyさん
04/06/08 18:33ID:???0752nobodyさん
04/06/08 19:09ID:???mb_convert_encoding()等のmbstring系を使うと
エラーが起きるようになってしまったのですが
これは仕様が変わったということなんでしょうか?
autoを抜くとエラーはでないんですがかわりに
何でもかんでも「UTF-8だ」と言い張るようになりますた。。_| ̄|○
0753nobodyさん
04/06/08 19:21ID:???0754nobodyさん
04/06/08 19:46ID:???4.3.3の時には問題なく動いてたのですが・・。
0758754
04/06/08 21:30ID:???吐き出されるエラーは
$body=mb_convert_encoding($body,"EUC-JP","auto");
に対して
-----
Warning: mb_convert_encoding():
Unable to detect character encoding in 〜〜.php
-----
mb_convert_encoding($body,"EUC-JP","ISO-2022JP"):
とか指定してやれば変換はできますが
エンコードが何かを取得できない状態なのでなんとも・・。
0759nobodyさん
04/06/08 23:01ID:???PHPの勉強(動作テスト)が出来るということでしょうか?
0760nobodyさん
04/06/08 23:04ID:???根本的な解決にはならんかも知れんけど、
$enc = mb_detect_encoding($body);
$body=mb_convert_encoding($body,"EUC-JP",$enc);
なんてどう?
ちょっとダサいけど、$bodyのエンコードが不確定のときは
一考の余地ありかと。
0761760
04/06/08 23:11ID:???ところで、$bodyにはどういう内容が入ってるの?
0762nobodyさん
04/06/08 23:20ID:LWtWiDp3$email_to = 'xxx@docomo.ne.jp';
にすると正常にドコモの携帯で受信出来ます。
J-PHONEの機能である、ドメイン指定受信・拒否などの設定は一切してません。
どなたか、J-PHONE用のサイトを構築された方で、
上記の現象の回避策が分かる方、アドバイス頂けないでしょうか?
0763nobodyさん
04/06/09 00:02ID:???プログラマーって名乗っていいのか悩んでる
0764nobodyさん
04/06/09 00:51ID:???「Zend Studio」自体が自宅鯖。
インターネットに繋がってる=自宅鯖ではない。
# 自宅鯖=自宅にある(自前の管理下にある)サーバ という意味でもないか。
0765nobodyさん
04/06/09 01:29ID:???根本的な原因は無知ですが、とりあえず下のような長ったらしいコードかいてしのいでます
$newphrase = mb_convert_encoding($newphrase, "EUC-JP", "UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP");
0766カポコン
04/06/09 02:58ID:???2chで本音トークをしてくれたあなたにむしろ感謝します。
正解は・・・
自分がプログラマーと思えばプログラマーです。
プログラマーっぽい人の例↓
ttp://www.sun-inet.or.jp/~yaneurao/rsp/
ttp://www2.biglobe.ne.jp/~oni_page/other/etc/pr03.html
こういう人を目指しなさい。
0767754
04/06/09 03:05ID:???$bodyの中はメールの本文が入ってます。
php始めたばかりであまり経験がないのでわからないのですが
やはり一応エンコーディングを調べてEUC-JPに変換した方が
いいかと思ったんですが・・。
>>765
何度試してもダメだったので新規ファイルにその方法で
encoding -> detect -> encoding -> detect
を繰り返すだけのphpを書いてみたところそれでいけました。
メールの本文のエンコだけは取得できなかったみたいで・・何故だ
調べてるとそれと似たような感じのでphpの頭に
mb_detect_order("UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP");
を入れると
$newphrase = mb_convert_encoding($newphrase, "EUC-JP")
で、同じように判別できました。
でもメール本文のエンコはとれないのか・・○| ̄|_=3
0771759
04/06/09 06:04ID:???なるほど。ネットに繋がってる必要は無いんですね。ちょっと違った解釈をしてました。
しかし実際自サイトでソースを稼動させるためにはphpが使える環境じゃないといけないわけですよね。
biglobeに加入しているのですが、使えるかどうか調べてみます。
自鯖持たないと駄目ってなったら、ちょっと敷居が高いかも・・。
もう一台PCあるんですがCDドライブがないんですよね。むー困った
0772nobodyさん
04/06/09 08:47ID:???開発者同士のネットワークもちゃんと出来てますね。
やはり上級スキルを持つ者同士の切磋琢磨が
さらにその上のレベルへステップアップする原動力となっている訳ですね。
頭が下がる思いです。
0773nobodyさん
04/06/09 08:50ID:???まだ少し勘違いしていると思われ。
回線を通じてWWWに繋がってはいなくても、PCの中ではネットワークに繋がっていますよ。
んで、phpはPCにインストールすればよいだけで、プロバイダは一切関係ないです。
余っているPCにCDドライブが無くてもLANを組むとか、外部のネットに接続できる環境
ならオンラインストレージを使ってファイルを転送するとか可能ですよ。
まぁ普通はLANでするほうが手っ取り早いと思いますが。
0775759
04/06/09 09:00ID:???Apache、PHP、PostgreSQLを使ってDBとWebの連動を夢見てたんですが
これはZendStudioをインストールすれば解決することで使えるのでしょうか?
>回線を通じてWWWに繋がってはいなくても、PCの中ではネットワークに繋がっていますよ
例えば第三者に私のサイトを閲覧してもらうとして、そのソースの中にPHPを使うことも可能ですか?
0776764
04/06/09 09:03ID:???http://www.zend.co.jp/products/studio/
を見てもらうと判るんだけど、C/S構成でもClientのみの構成でも
PHPの開発は行えることは判ると思う。しかし自宅"鯖"かどうかを
考えた時にClient構成のみの場合、一般のブラウザで結果を
表示出来るわけではないので、"(Web)鯖"とは呼べないです。
鯖となるのはC/S構成で、その際もWeb鯖はZendStudioが担うのでは
ではなくて普通のhttpdが担う。
で、図のC/S構成だけどClientとServerと別にしてServerマシンを
用意しないといけないかというと、そんなことはないです。
実際自分が同じマシンにぶち込んでますが大丈夫。あとC/Sというのは
インストールするソフトウェアの違いであって、ZendStudioを買うと
C/Sの両方のソフトウェアが入っています。対応するOSについても同様。
所謂製品パッケージとしてみた場合、1種類だけです。
# PEとか日本語ローカライズ版とか、SOHOパッケージに同梱の奴とかありますが。
ただZendStudioは富豪的な環境が必要だと感じる。
CPUが1GMHz以下のクラスだと結構苦しい。
0777nobodyさん
04/06/09 09:04ID:tQM0yX6Yハライテーw
0778nobodyさん
04/06/09 09:22ID:???0779759
04/06/09 09:28ID:???サイトを置いて私のPCにZendStudioをインストールすると
PHP部分の処理は私のPCを参照して行われるということですね。
つまりBiglobeとは関係なく、しかも別途PCを用意しなくても済むと。
ちなみに私の環境は
WinXP IE6
AthlonXP 1700+
PC2700 512M
Bフレッツ
という感じです。
現在の主流のPCと比べると見劣りするので、少し不安はありますがphpが動くだけでも夢のようです。
夢はPHP、Apache、PostgerSQLとWebの連動と書きましたがまだ全然理解できてないので
遠い未来になりそうです。検索かけてデータを表示したり、日記などに使おうと思ってます。
それにしてもZSは高いですね。Ver2.5が安売りで近所にあるので買ってみます。
簡単な仕組みでもDBを使ったものに憧れていたので、凄く楽しみです。どうもありがとうございました!
0780nobodyさん
04/06/09 09:29ID:???自宅の鯖(PC)を回線を通じて第三者に公開することはもちろん可能。
レンタル鯖やISPのスペースを用いる場合と違い、あなたのPCにPHPやDB
が入っていればそれだけでよいです。
>そのソースの中にPHPを使うことも可能ですか?
やや意味不明ですが、PHP自体ソースではないかと。
ソースを見てもらう=X
実行した結果を見てもらう=O
という意味なら通じます。
0781764
04/06/09 10:50ID:???そんなに急かなくて、買う前にちゃんと検討した方が...
http://www.zend.com/store/evaluation.php?pid=77&download=1
http://www.zend.com/store/products/zend-studio-personal.php
PE版はVer.3の目玉機能(それも有用な)が殆ど
スポイルされてるので、まあ本当に個人ユース。
個人的には"日本語版"のZendStudioを、企業ユーザ以外で買うっつうのは
VisualなんちゃらProを買うを個人で買うよりも限定されたケースだと思うよ。
使ってる自分がいうのも何だが。
0782nobodyさん
04/06/09 12:20ID:???イマイチ何がしたいのかはっきりしませんが、お使いのパソコンに
Apache/PHP/PostgreSQLの環境を整えるのだけが目的なら
ZendStudioなんぞ買わんでも無料でできますぜ?
ただ、Windowsのままっていうなら、よく知らないがPostgreが少しネック?
最近はまともなWindows版ってあんのかな?
0783759
04/06/09 13:55ID:???おぉ〜安心しました。
「そのソースの中にPHPを使うことも可能ですか?」というのは「実行した結果を見てもらう」という意味でした。
>>781
そんなに稀なケースなんですか・・。うーん個人でPHPの開発が出来ると書いてあったことに
惹かれたのですが、もしかしたら私には当てはまらないのかもしれませんね。
>>782
Apache/PHP/PostgreSQLの3つは無料で導入できるというのは
有名なので知っていたのですが、Winだと難しいらしいので敬遠していました。
あと1台あるにはあるのですが、例えばLinuxを入れようにもCDドライブがついてないので
OSをインストールが出来ません。>>773が言われているようなオンラインストレージの利用で
空のPCに新規でOSをインストール手段があれば、少し楽なのかもしれませんが。
ここで1つ疑問なのですが、例えば「Apache/PHP/PostgreSQLを使ってみたい。
でも自宅鯖なんて無理なので環境を整えられない」という場合、個人で楽しむことは出来ないのでしょうか?
自宅で勉強して最終的にはWeb上にアップし、不特定多数の人が閲覧可能にしたいです。
0784782
04/06/09 14:21ID:???「自宅鯖なんて無理なので」ってどういう意味なん?
サーバたてるような勉強はできないっていうなら、ムリだろうね。
ハード的なもの言ってるなら、サーバってものを勘違いしてそうだけど、
サーバソフトが動いてりゃその使ってるXPパソコンだってサーバだぞ?
一台でサーバもクライアントも兼ねさせればいい。
PostgreSQLがネックと言ったのはApacheやPHPよりは敷居が高いかもしれんってことで
不可能なわけじゃない。必要なら勉強しれ。
WinでPostgresがしたいならどのみちZendStudio買っても回避できない道だ。
0785nobodyさん
04/06/09 14:35ID:???自分のPC内で動いてるブラウザでアクセスするだけの話なので、とりあえずphpとapacheと
ポスグレをインスコすれば完成。winでならMysqlのほうが手間無くていいと思うけど。
個人ユースのZendStudioはPHPスクリプトを書いたりデバッグしたりするツールなので、
当面とって必要なし。
0786nobodyさん
04/06/09 14:37ID:???>ttp://www2.biglobe.ne.jp/~oni_page/other/etc/pr03.html
僕もカポコン殿のようなスーパープログラマーになりたいな
0787786
04/06/09 14:41ID:???ttp://www.sun-inet.or.jp/~yaneurao/rsp/
0788759
04/06/09 14:55ID:???自宅鯖が無理と書いた理由は
・もう一台のPCにCDドライブが付いていない
・現在同居人が常に使っているPCが別にあるので、3台になると電気代がかかる
・場所的に熱気がある所なので、常時起動だと火事が怖い
ということでした。決して勉強嫌いではありません。
かといって今私が使用しているPCだとWinXPなので、困ったときの情報量が少ないと
書いてありました。まずはいろいろ試行錯誤してみます。
>>785
そうですね。どちらにせよZendStudioは必要ないみたいなので選択肢からはずすことにします。
そんな折http://www.a-zia.net/PHP/を見つけました。
無料なソフトでWinにApache, PHP, Perl, MySQL, phpMyAdminを一括簡単にインストール
してくれるソフトらしいです。まずはこれで試すのもありかもしれませんね。
0789nobodyさん
04/06/09 15:07ID:???0790nobodyさん
04/06/09 15:07ID:Mrfvz21BJavaDocみたいな仕組みってPHPにありませぬか?
コード内に決められたフォーマットでコメント記述して、後でHTMLかなんかに
出力するような。
よろしくお願いします。
0791790
04/06/09 15:09ID:Mrfvz21BPHPDocでOk?
0792nobodyさん
04/06/09 15:09ID:???PHPDocとかPHPDocumentorがある
0794nobodyさん
04/06/09 15:12ID:???どうでもいいけど、自鯖つったって公開するわけでなしApacheが押し込めるPCならエニシングウィルドゥ
>790
phpdocumentor
0796759
04/06/09 15:55ID:???>自鯖つったって公開するわけでなし
物凄くモヤモヤした疑問があるんですが、質問良いでしょうか?
さきほどphpdevを使って無事Apache, PHP, Perl, MySQL, phpMyAdminのインストールが完了しました。
この環境で趣味のサイトを作って、Biglobeのサーバにアップしたとします(例:index.php)
これはきちんと動くのでしょうか?どうも引っかかっている点がphpの動作は私のPCに依存するのか
Biglobeのサーバに依存するのかというところです。
私の方のローカルではindex.php(簡単な時間表示)が動くのは確認したのですが
これはWWW上にアップしたとしても、私のPCが落ちているときは他の方は閲覧できないような気がします。
考えが間違ってたらスミマセン。それともBiglobeのようなウェブスペースではphpやMySQLは使えないのでしょうか?
0797nobodyさん
04/06/09 15:57ID:???0798nobodyさん
04/06/09 15:58ID:???そんなんなら、レンタルサーバの存在意味がないと思うけどね
少しは考えたら?
0799nobodyさん
04/06/09 16:04ID:???PHPの勉強の前にWEB全般について、何か一冊読んだほうが良いと思われ。
あとBiglobeのサーバでできることは、Biglobeに聞くのが一番ですよ。
0800nobodyさん
04/06/09 16:16ID:???PHPスレのみなさん、ご愁傷様。
0802759
04/06/09 16:36ID:???ということはBiglobeでApache、PHP、PostgerSQLが使えるかというところがポイントになるわけですね。
いろいろありがとうございました。
0803nobodyさん
04/06/09 16:41ID:???0804nobodyさん
04/06/09 16:43ID:???PostgreSQLとMySQLに実装されている機能しか利用しないという前提ならな。
さすがにDSNは書き換えんと遺憾が。
0805nobodyさん
04/06/09 16:52ID:???実際に訪問者が利用することになるのはアップロードされた鯖側のシステム。)
0806759
04/06/09 17:04ID:???BiglobeのサーバにApache、PostgreSQL、PHPがインストールされている状態で
よほどVerが違わなければ、ローカル側(私の環境)で動くものと同じ動作をする。
なのでBiglobeに「PHPを使ってPostgreSQLのDBと連動させたいんですが可能でしょうか?」と質問する。
これで合ってると思うのですが、どうでしょうか?
もし間違っていたら突っ込みお願いいたします。
0807nobodyさん
04/06/09 17:11ID:???流れ見ててワロタよw
いじるのも程ほどに、適当なとこで引導渡してやりなよ
0808nobodyさん
04/06/09 17:20ID:???>>806
その考えで概ね合ってる。biglobeに電話なりメールなりして聞いてみるといい。
が、これからwebprogやっていくのならもう少し勉強汁。書籍なりサイトなり漁ってみれ。
0809nobodyさん
04/06/09 17:25ID:???ん、まあ本当はその質問の意味がわかってから質問するのがベストなんだがな。
でないと、相手が何か聞いてきたり、相手が説明してくれてもわからないかも
しれないしな。
恐らくその質問でおまいさんが聞きたいと思ってる事に間違いは無いと思われ。
ぶっちゃけ、ここで質問するよりちゃんとした本を読んだ方が良いと思う。
0810759
04/06/09 17:31ID:???はい。あまりにもわからないことだらけで反省してます。
基本から勉強した後でもう一度チャレンジしてみようと思います。
スレ汚し申し訳有りませんでした。
0812nobodyさん
04/06/09 17:48ID:???いつの間にか初歩的な質問へシフトしていったんだから、途中で切るのもかわいそうだろ。
結果的に反省して勉強するって言ってるじゃん。そんなに、いちいち怒るほどのことか?
困るなら君はスルーすればいいだけだ。もう少しカルシウム取れ。
0813nobodyさん
04/06/09 18:00ID:???あんさんにもその「最低限の知識」の存在すら知らず、
何を調べればいいかすら解からなかった時期はあったはず。
勿論自助努力は必要だが、その前段の基礎知識のない人間に
何を調べるべきかのヒントぐらい与えるのはいいだろ?
0814nobodyさん
04/06/09 18:02ID:???0815カコポソ
04/06/09 18:07ID:???0818カポンコ
04/06/09 19:49ID:???0820nobodyさん
04/06/09 20:00ID:IFu+860b0822nobodyさん
04/06/09 20:49ID:???( ゚Д゚)ポカーン・・・
どっちが粘着か分かってない。。
ストーカーもそうだよね、自分ではストーカー行為してると”認識”できてない
0824nobodyさん
04/06/09 21:17ID:???ツカエネーヤツなんだなカポコンって
0825ロボコン
04/06/09 21:25ID:???0826nobodyさん
04/06/09 21:37ID:???PHPプログラムを作成しようとしているのですが、
下記のようなプログラムでは首尾よく動作しないようです。
$old_mask = umask(0);
if (!mkdir( $dir_path, 0777 )) ;//error
elseif (! chown( $dir_path, 'lysk' )) ;//error
elseif (! move_uploaded_file( $tmp_path , $dir_path.'/'.$file_name )) ;//error
else // success
umask($old_mask);
エラーではuidが異なる、との事なのですが、
何か解決策はないでしょうか?
0827826
04/06/09 21:37ID:+yhnwBMA0828nobodyさん
04/06/09 22:49ID:???ここらでカコポンさんのウィットにとんだプログラム談義でも聞きたいなぁ。
0829nobodyさん
04/06/09 22:55ID:???ここに逝けば会えますよw
http://board.aaacafe.ne.jp/
0831nobodyさん
04/06/09 23:06ID:???2chだからしょうがないとは言え、あまりカポコン氏の足を引っ張るような
発言は控えるべきではないでしょうか?>皆さん
0833カンポコ
04/06/10 04:04ID:nLvlGUQO0834オチンコ
04/06/10 07:25ID:???0836nobodyさん
04/06/10 09:19ID:24VeZA6Jもう終わった話題掘り起こすなハゲ
キモスギ( ´;゚;ё;゚;)
0844nobodyさん
04/06/10 15:38ID:???0845nobodyさん
04/06/10 15:45ID:???0847nobodyさん
04/06/10 15:58ID:???0848nobodyさん
04/06/10 16:02ID:???0851nobodyさん
04/06/10 17:07ID:???0852nobodyさん
04/06/10 18:01ID:???よろすく
0854nobodyさん
04/06/10 19:04ID:???ZeevとAndiはそれぞれどこの国の人(生まれ)ですか?
0855nobodyさん
04/06/10 19:25ID:???0857nobodyさん
04/06/10 20:41ID:???イスラエルで合ってると思う
http://www.itmedia.co.jp/news/0101/24/e_zend.html
0859853
04/06/10 21:12ID:???0860nobodyさん
04/06/10 21:16ID:O23c+QRzクラスの継承とコンストラクタに関してなんですが、
例:
class A {
function A(){
echo "A";
}
class B extends A {
function B(){
parent::A(); // 親コンストラクタ
echo "B";
}
}
で、
$b = new B();
としたときに、Aのコンストラクタも呼ばれるようにするには、
parent::親クラス名()
なんでせうか?
なんかせっかくparentってあるのに、親のクラス名の
メソッドを呼び出すのに違和感があるんですが。ほかに方法があったら教えてくだちゃい。
0861nobodyさん
04/06/10 21:32ID:???でもいい
というか
parent::A();
のAは親クラス名と考えるからしっくりこないんじゃない?
parent::親クラスのメソッド名
と考えればしっくりくるんでないかい
0862nobodyさん
04/06/10 21:45ID:???意味が分からんが、parentで呼び出すのはコンストラクタだけじゃない以上どうしようもないんじゃないか。
サブクラスにコンストラクタがないと親クラスのコンストラクタが自動で呼ばれるから嫌なら書かなくてもいいけど。
0863nobodyさん
04/06/10 21:50ID:???>parent::親クラス名()
861が書いてるが、これはメソッド名であって「親クラス名」じゃない、というだけの話。
つーかそんな仕様あったのか。マニュアルに書いてあったっけ。
0864860
04/06/10 22:31ID:O23c+QRzありがとさんです。
PHPのマニュアルの「親クラス」ってとこには↓のように書いてあるんですね。
>コードの基底クラスのリテラル名を使用する代わりに、
>特別な名前 parentを使用する必要があります。
>この名前は、 クラスのextends宣言で指定された基底クラスの名前
>を指しています。これにより、基底クラスの名前を複数の場所で
>使用する ことを避けることが可能です。実装の際に継承ツリーを変更した場合でも、
>変更は簡単で、クラスのextends宣言を変更するだけ ですみます。
ついでに、「コンストラクタ」のとこには
>PHP 3 および PHP 4のどちらでも派生クラスのコンストラクタから基底
>クラスのコンストラクタを自動的にコールすることはできません。
>上流のコンストラクタを適切にコールするように伝播させることは
>あなたの責任でやるべきことです。
とあるんで、parent::親クラス名に行き着いたわけなんです。
別に継承ツリーを変更するのを簡単にしたいというわけではないんだけど、
(っていうかそんな状況は考えたくもないですが)
Javaの「super()」みたいに「parent()」とかできんもんかと思ったわけです。
と、いうわけで、納得しました。
ありがとうございました。
0865nobodyさん
04/06/10 22:31ID:B73mvqdeデータベースを活用したウェブプログラミングがしてみたくて、今度phpをはじめようと思います。
それまで、プログラムはほとんど書いた事がないんですが、最初の一歩としては、やはりマンモス本のようなものを買ってきて、
環境をそろえて、試しながら勉強するのがいいでしょうか。
自分の使ってるウェブホスティングサーバーには、PHP3/4が使用可能と書いてあるんですが、この場合、3を勉強してから4うを勉強したほうがいいのかな。
それとも、4の入門書とかも充実してますか?
もしよろしかったらアドバイスお願いします。
0866nobodyさん
04/06/10 23:12ID:???parentが親クラス名を指してるんじゃないの?
parent = 親クラス
なんで、
prent::メソッドは
親クラス::メソッドと同意かと。
0867nobodyさん
04/06/10 23:18ID:0Ch08L+0ある端末では受信できるのに
ある端末では受信できません。
各地方毎のEZメールサーバで受信設定が違っていたりするのでしょうか?
0868nobodyさん
04/06/10 23:31ID:0Ch08L+0すみません、有る端末とはEZ端末のことです。
0869863
04/06/10 23:40ID:???0872nobodyさん
04/06/10 23:57ID:???バージョンてそういうもんじゃないだろw
php4から始めればいいよ。
これからやろうというなら3を気にするよりは5のほうを横目で見ておいたほうが。
phpは仕様変更が激しい。参考資料が古くて「サンプルどおりやってるのに動きません」的な
ハマリがこのスレでも度々出るので、テキストは古いものより新しいものを。
いずれにしても互換性を失うような差異はマニュアルに注がある(はず)ので、
php3についてはそこでフォローする程度でいいと思う。
(phpの歴史について知りたいというなら勉強したほうがいい?)
0875nobodyさん
04/06/11 00:11ID:knpGp2r3などについて答えられるかと思ったんですけど
答えられる方がいないので、違うスレで質問しようと思うんですけど
どのスレが良いでしょうか?
それとも、ちゃんとしたMLに聞いたほうがいいのでしょうか?
0877nobodyさん
04/06/11 00:18ID:???むづかしい質問はMLであながいします。
0879nobodyさん
04/06/11 00:24ID:???0880nobodyさん
04/06/11 00:35ID:???簡単な質問=>誰でも答えることが出来てレスが速いのでこのスレを利用しる
むづい質問=>答えられる人が限られてくるので時間がかかってもMLを(以下略
てかこのスレは質問に答えるというより雑談スレに近いけどな。
0881nobodyさん
04/06/11 00:47ID:???つーか今はどこの技術系mlもホント大変なんだからホイホイ誘導かけるのはやめたれよ。
http://pc5.2ch.net/test/read.cgi/php/1085576406/
0882nobodyさん
04/06/11 00:57ID:???0884nobodyさん
04/06/11 05:44ID:???んじゃこんなのはDo?
ttp://matsuya.dyndns.tv/2ch/img-box/img20040611054229.gif
0886nobodyさん
04/06/11 09:05ID:???感じ好まれるが、言語ととしてのロゴには向かんと思う。
かといってデジタルっぽいのは駄目だしねぇ。
0887nobodyさん
04/06/11 11:50ID:???0888nobodyさん
04/06/11 11:55ID:???http://www.php.co.jp/images/logo.gif
0889nobodyさん
04/06/11 13:32ID:???遅レスですが、PHP5からは、コンストラクタ名に _construct が
使えるようになるので、parent::_construct のように使用することを
想定しているのだと思います。
0890nobodyさん
04/06/11 14:43ID:K5FDKUKd0891nobodyさん
04/06/11 14:44ID:???0892nobodyさん
04/06/11 15:13ID:nBugQ+Djprint_r(split("\n| ", "a\nb c\nd\ne f g\nh"));
0893駆出しPHP
04/06/11 17:11ID:???function Open_File(){
global $file;
$data = file($file);
略
}
と
Open_File($file);
function Open_File($file){
$data = file($file);
略
}
って、どっちがスマート?関数の中に持ち込みたい変数がいっぱいあるときとか、困っちゃうんだけど。
0894nobodyさん
04/06/11 17:13ID:???0895nobodyさん
04/06/11 18:05ID:???たとえ引数が一杯あっても、必要なら渡せばいい。いや渡すべき。
0896893
04/06/11 18:34ID:???0897nobodyさん
04/06/12 13:47ID:cU3nmCOb$fp = fopen("$filename","r+");
fseek($fp, 0);
fputs($fp, "hoge");
fclose($fp);
だと、1行目の文字数が増えたときに2行目が削られてしまいます。
どうすれば、そうならないようにできるでしょうか?
0898nobodyさん
04/06/12 13:52ID:???0899nobodyさん
04/06/12 13:57ID:???PHP5への移行手順見ても変更点に書いてないんだよね。
ビルトイン関数になったことはチェンジログに書いてあったんだけど。
SimpleXMLは既にマニュアルに載ってるのになぁ。
0902nobodyさん
04/06/12 14:51ID:7kZvk3xj現在表示しているページ(PHPのページ)のソースコード(HTML)を、
ページのボタンを押したらクリップボードに貼り付けるにはどうしたらいいか教えてください。
0905nobodyさん
04/06/12 21:49ID:???0906nobodyさん
04/06/12 22:28ID:rmxeznmT0907nobodyさん
04/06/13 01:21ID:aBgu1BW2LAMPで簡単なシステムの鯖を立てたいと思います。
PHP学ぶのにお勧めの本がございましたらお教えください。
0909nobodyさん
04/06/13 02:14ID:+VXh+rkJその際にテキストファイル内で「改行」をさせるには何を書き込めばいいんでしょうか。
0910nobodyさん
04/06/13 03:16ID:JLZr3UnG0911nobodyさん
04/06/13 03:21ID:???このようにクエリーを拾うように設定して、
$PIX1 = aaa.jpg; //画像1
$PIX2 = bbb.jpg; //画像2
if( !empty($_REQUEST["pix"]) ) {
$PIX = $_REQUEST["pix"];
}
<body>
<a href="#top?pix=$PIX1">ここをクリックして画像1を表示</a>
<a href="#top?pix=$PIX2">ここをクリックして画像2を表示</a>
<img src="$PIX" >
</body>
同じHTML内でこのようにリンクさせて送られたクエリーを元に
変数を入れる事は出来ないでしょうか?
問題はスクリプトがおいてあるファイル自信が送信している事で、
やっぱりsubmitとformを使うしかないんでしょうか?
0912909
04/06/13 03:42ID:+VXh+rkJありがとうございます。
最初\nを使っていたのですが、改行できませんでした。
おかしいなと思いいろいろやってみたら
fputsするときにダブルクオーテーションで囲んだらできました。
ありがとうございました。
0913nobodyさん
04/06/13 03:50ID:+VXh+rkJphpで掲示板のようなものを作っているんですが、
掲示板の「投稿」ボタンを押すと別窓でphpの投稿フォームが開くようになっているんです。(javascriptで別窓開)
投稿フォームでは、フォームに入力されたものをテキストファイルに書き込むのですが、
投稿されたものをすぐ掲示板の表示に反映したいのです。
掲示板の表示もphpによるもので、
テキストファイルで用意されたlogを読み込んで表示しているのですが、
フォームにより投稿されたら、その窓を自動で更新するようにしたいのです。
何かいい方法はありますでしょうか。
0914nobodyさん
04/06/13 06:42ID:Kyi4KU36いるので、そのままでは携帯から書き込めないので、
if(!isset($_COOKIE[PON])&&($HOST!=="^proxy.+\.docomo\.ne\.jp$")){
DispError("■ 書き込み確認 ■");
}
のようにしたのですが、相変わらず書き込めません。
文法的に間違っているのでしょうか?教えてください。
0915nobodyさん
04/06/13 11:00ID:???if(!isset($_COOKIE[PON])&&(!ereg('^proxy.+\.docomo\.ne\.jp$',$HOST))
だろ。
0916nobodyさん
04/06/13 11:07ID:wH9a3wAG私は現在、HTMLでサイトを作っているのですが、
サイト運営の簡略化と、動的コンテンツを作りたい為にPHPで
作ろうかと考えています。
さて、現在、SEOが大流行で、私のページもSEOが
功を奏してか GOOGLEやYSTからのアクセスが多少あります。
しかし、現在のHTMLをPHPにした場合、インデックス(クロール)されにくいと
聞きました。その改善策として
通常、ファイル指定せずにディレクトリで終わるURLを指定すると
例: http://pc.2ch.net/php/ など
index.htmlを表示しますが、 http://../php/ を指定した時に
http://../php/sample.phpを表示し、phpファイルでありながら
URL は ../php/ なので検索エンジンにクロールされる方法が
あるらしいです。
そこで、質問です。ディレクトリで終わるURL http://www.2ch.net/php/など
を指定した時にindex.html以外のソースを返す方法を教えて下さい。
お忙しい中、恐縮ですが、宜しくお願いします。
0917nobodyさん
04/06/13 11:13ID:???.htaccessやhttpd.conf で設定してください
0918nobodyさん
04/06/13 11:29ID:???最近のロボットは賢いから静/動的コンテンツで
どうこうは余り考えなくていいよ。ちゃんと取ってくれる。
そんな考えてることよりコンテンツ自体を充実させるのが本質。
0920nobodyさん
04/06/13 12:06ID:???#topが邪魔してるだけでないのん?
確か#以降はREQUESTとしては無視されたような。
>>913
投稿フォームのsubmit後のページで
javascriptを使って掲示板をリロードすればよいのでは?
どんな方法を使ったとしてもPHPは関係ない部分だよ。
0921nobodyさん
04/06/13 14:14ID:JLZr3UnGPHPの敷居が低いせいか。
0922nobodyさん
04/06/13 14:24ID:???SyntaxCheckなんぞやってみたくてDOS画面から
c:\phpdev\php\php.exe -l c:\phpdev\www\test.php
と、やっても何も表示されません。test.phpには、
<?php
for($i=1; $i<=10; $i++){
echo "test$i"
?>
という感じで間違えて書いてあるのを試しています。(;や}が抜けてる)
調べたら-fオプションもあったので-lを-fにしたら、Parse errorが出ました。
test.phpのような内容の場合、-lオプションでは何もチェックをされないのでしょうか?
もしチェックされるとしたら、どのような場合なのでしょうか。。
それとも、当方の環境がおかしくて-lが効いていなかったりするのでしょうか。。。
ちょっと気になったので、教えてください、エロイひと!
0923nobodyさん
04/06/13 14:55ID:???本家のバイナリで試してみたけど普通に出力されたけどな。
使ってるPHP-CLIのコンフィグにエラーの出力抑制(ログファイルオンリー)とか
「普通でない」設定をしてるんでは?
0924914
04/06/13 17:35ID:nrs902LB有難うございました。
0925nobodyさん
04/06/13 18:52ID:???sabumitであらかた組んでしまったのですが、
いずれクエリーに再挑戦しようかと思います。
また別の質問なのですが、
<td width="800" Height="700"><?php include("link.php") ?></td>
このようにテーブルのセル内に、
任意のhtmlファイルなどを表示させるのは無理でしょうか?
あるいはこの中にインナーフレームをつくって表示させる方法を取るべきでしょうか?
0927925
04/06/13 19:28ID:???インラインフレームのタグごと出力する方法です。
0928nobodyさん
04/06/13 19:38ID:???0929nobodyさん
04/06/13 21:01ID:???mysql_connectとかに使ってるんですが・・・
失敗した時にWarningでフルパスばれるのが嫌だなぁ、と。
それともエラーレポートを変えるべきですか?
0930カポコン
04/06/13 21:38ID:???mysql_connect($host.$port,$usr,$pass) or die("つながりません");
とかで対処汁。
PHP5なら試して捕まえろ。
0931929
04/06/13 21:43ID:???0933929
04/06/13 21:51ID:???0934ゑゑゑ ◆WEWEWEE85s
04/06/13 22:01ID:???|┃ ハァハァ・・・ /
|┃ ≡ ∧ハ∧ < mysql_connect($host.$port,$usr,$pass) or die();
____.|ミ\___(´Д` ;) \
|┃=___ \  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|┃ ≡ )ゑ 人 \ ガラッ
0935nobodyさん
04/06/13 22:07ID:Wabebz7Zソース晒します。
require_once("XML/RPC.php");
$c = new XML_RPC_client( URL, ホスト, 80 );
$appkey = new XML_RPC_Value( 'MT', 'string' );
$blogid = new XML_RPC_Value( ブログID, 'string' );
$username = new XML_RPC_Value( ユーザ名, 'string' );
$passwd = new XML_RPC_Value( パスワード, 'string' );
$content = new XML_RPC_Value(
array( "title" => new XML_RPC_Value(タイトル, "string"),
"description" => new XML_RPC_Value(本文, "string")), "struct");
$publish = new XML_RPC_Value( '1', 'boolean' );
$message = new XML_RPC_Message(
'blogger.newPost',
array($appkey, $blogid, $username, $passwd, $content , $publish) );
$result = $c->send($message);
マニュアルを見てる限り、どうも$contentでcontent構造体を送るらしいのですが
色んなパターンで試して見ましたが、送信されないか、空のブログがエントリされるか
どちらかの動作になってしまって困ってます。
どうか、偉い人教えて下さい。
0936916
04/06/13 22:12ID:1Or61ijU.httacces で設定できるとわかりました。
又、わざわざそれをいじらなくても
私のサーバーでは index.php でアップすれば
これが表示されるようです。
有りがとうございました。
0937nobodyさん
04/06/14 00:30ID:???# 930や932ぐらいは信じてやれよ。
私用アプリ"以外"としては悪くない。但し予期できるエラーはきちんと
処理してやった上での話。臭いものに蓋をする用途に使ってはいけない。
0938nobodyさん
04/06/14 01:24ID:L5EG25O4php4しか使えないのでphp4でいろいろ遊んでいるのですが、
まだclassというものの必要性を感じていません。
classの有用性はどんなときに発揮されるんでしょうか?
php4とphp5限定でお伺いできればと思います。
0940nobodyさん
04/06/14 01:52ID:zlornJbc俺はデータベース接続とかで汎用性を持たせるためにクラス化してるよ。
MySQLでもPostgreSQLでも対応できるようなクラスを作っておけば、
色んなサイト作りに利用できて良い。
0941nobodyさん
04/06/14 04:11ID:Cuv9zBB3私のサイトはFAQ(質問集)をhtmlで作っているのですが
利便性を考えて、これをPHPで作成しようと思っています。
欲しい機能は
1.ブラウザ上でユーザーが質問を投げかける事ができる。
2.ブラウザ上にそれに私が答える事ができる。
3.その内容が動的にFAQの中に組み込まれる。
4.私が返答していない質問はユーザーからは見えない。反映されない。
以上4つです。一見、PHPスクリプトによくある、掲示板で
作れそうなのですが、4.の返答がない、質問は見えない。
というのを実現できるスクリプトがありません。
このようなスクリプトをご存知の方、ちょっと改造すればできる
よ。というのをご存知の方、ご教授下さいませ。
0942nobodyさん
04/06/14 05:43ID:syzY4Jkxphp4.3.7 と an httpd でローカルでPHP環境を作ろうと思ったのですが、うまくいきません
phpをインストールし、an httpdを実行、
httpdの設定を、phpおよびphp3を c:/php/php.exe で実行にしました。
ドキュメントルートフォルダに、index.phpをおき、
中身を
<?php
print "hello";
?>
にしました。
ブラウザでlocalhost または 127.0.0.1でこれを開くと、この三行がブラウザに表示されてしまいます。
また、同内容の test.phpをつくりブラウザで開くと、今度は
ファイルの保存or開く、のウィザードが出てしまいます。
これはphpのインストールがうまくいっていないのか、an httpdの設定が悪いのかどちらでしょうか。
なお、XP環境で、インストール手順はいくつものサイトを見たつもりです。
なにかアドバイスがございましたらお願いします
0943941
04/06/14 05:53ID:Cuv9zBB3c:/php/php.exeのhttpdの設定を
c:\php\sapi\php4isapi.dll
に変えてみてはどうでしょうか。私はそれでうまくいきました。
誰か私の質問に答えていただけませんか(´・ω・`)
0944nobodyさん
04/06/14 07:53ID:???自分で組んだ方が早いと思うが、ソースの流用にこだわるなら、
モデーレータの承認無しでは投稿できないタイプの掲示板ソフトを
使えばどう?たとえばXOOPSのフォーラムとか。
0947nobodyさん
04/06/14 11:09ID:???とりあえず板違い
↓スクリプト探しならこちら
【CGI】こんなCGI探してますver.13
http://pc5.2ch.net/test/read.cgi/hp/1081608108/
↓見つかって改造したいならこちら
★三 【 スクリプト改造工房 PART 8 】 ★三
http://pc5.2ch.net/test/read.cgi/php/1077525387/
↓改造の仕方すらわからず、人に頼むならこちら
【 スクリプト改造依頼スレ 】(丸投げ)
http://pc5.2ch.net/test/read.cgi/php/1076831972/
0948935
04/06/14 11:25ID:el9Ntkd+解る人いませんかー?
書き込み後も散々調べましたが、やっぱり解りません
教えてくださいエロイ人
0950nobodyさん
04/06/14 11:38ID:???$content = new XML_RPC_Value(
array( "title" => new XML_RPC_Value(タイトル, "string"),
"description" => new XML_RPC_Value(本文, "string")), "struct");
array($appkey, $blogid, $username, $passwd, $content , $publish) );
$contentの配列あたりを間違ってるとか?
0951nobodyさん
04/06/14 12:01ID:???0952nobodyさん
04/06/14 12:25ID:???echo $hoge;
0953nobodyさん
04/06/14 12:35ID:???0954nobodyさん
04/06/14 12:37ID:???echo $hoge;
0955nobodyさん
04/06/14 12:45ID:8oZmCiNz書いてあったんですが、これはhtmlの中にphpを埋め込んだりする技が使えないってことですか?
perlみたいに、1から書いてhtmlで代用できるところもわざわざphpを介した記述で書かなくてはならないってことですか?
エロいひと教えてください
0956nobodyさん
04/06/14 12:48ID:???0958nobodyさん
04/06/14 12:58ID:???いや、拡張子htmlの中に埋め込みって意味じゃなく、
「HTML文書の中にPHPタグを埋め込み」って意味だと思うぞ^^;
理解してやれよ
で、できないわけがないので安心するよろし>955
サーバはXREAじゃないかと予想してみる
0959nobodyさん
04/06/14 12:58ID:8oZmCiNzすいません、エラーが出てできませんでした。
>>957
ええ、それはサーバーに書いてあったのです。
ということは、perlのように、一行目に宣言して、って書かなくてはいけないってことですね。
サーバーはxrea.comというところです。
これでは、あまりphpの意味がないかもしれないですね…
0960nobodyさん
04/06/14 13:00ID:8oZmCiNzそうです。
ごく簡単なサンプルを書くと、
<html>
<body>
<?php
echo "test";
?>
</html>
</body>
こういった形式です。
使えないのですか…残念です。
0961nobodyさん
04/06/14 13:01ID:8oZmCiNz</html>
でした、すいません。
0963958
04/06/14 13:14ID:???サーバ予想オオアタリ
読み間違えさせたみたいだが、できる・使えるんだってば。
他はそのまま1行目に
#!/usr/local/bin/php
って書いてみ
それとも1行目にコレを入れるのがイヤだという話?
0964nobodyさん
04/06/14 13:15ID:8oZmCiNz>>962
それだと動かないです…。
多分、cgiとして動作させると、htmlはそのままだと読んでくれないですよね。perlなんかと同じで。
なんだかphpを勉強してみる気になったのに、サーバーサイドスクリプトとして動作させられないので
phpを使う意味はあまりないかもしれないですね…。
0965nobodyさん
04/06/14 13:20ID:???0966nobodyさん
04/06/14 13:21ID:???0967nobodyさん
04/06/14 13:21ID:8oZmCiNzええ、あたりです。
無料レンタルでphpが使えて、かつcgiでのみ動作となると、xreaしかないのかな。
で、#!/usr/local/bin/phpで試してみたのですが、表示はされました。
各ファイルごとに手直しが必要ですが、一応使えるとわかってよかったです。
ただ、cgiなので負荷に気をつけなくてはならないですね。
いろいろ、どうもありがとうございました。
0968nobodyさん
04/06/14 13:25ID:8oZmCiNz試してみたら、使えました。
それでは、屁理屈を言うようですが、
PHPはセキュリティ上CGIとして利用可能ですっていうのは、どういうことなんでしょう?
0970nobodyさん
04/06/14 14:00ID:???0971nobodyさん
04/06/14 14:15ID:syzY4Jkxphp4.3.7 と an httpd でローカルでPHP環境を作ろうと思ったのですが、うまくいきません
phpをインストールし、an httpdを実行、
httpdの設定を、phpおよびphp3を c:/php/php.exe で実行にしました。
ドキュメントルートフォルダに、index.phpをおき、
中身を
<?php
print "hello";
?>
にしました。
ブラウザでlocalhost または 127.0.0.1でこれを開くと、この三行がブラウザに表示されてしまいます。
また、同内容の test.phpをつくりブラウザで開くと、今度は
ファイルの保存or開く、のウィザードが出てしまいます。
これはphpのインストールがうまくいっていないのか、an httpdの設定が悪いのかどちらでしょうか。
なお、XP環境で、インストール手順はいくつものサイトを見たつもりです。
なにかアドバイスがございましたらお願いします
0972nobodyさん
04/06/14 14:15ID:???0974nobodyさん
04/06/14 14:23ID:???お前がどこぞのサイトを見てやったつもりのことを推測しろってのか?
なぜやったこと・設定した内容をすべて書かない?
まあ、またスレーでもいいんだけどね。
0977nobodyさん
04/06/14 14:38ID:???適当なところで移行してください。
これから新規質問する方は、次スレのほうがいいかも。
【PHP】質問スレッドpart18【php】
http://pc5.2ch.net/test/read.cgi/php/1087191395/
0979nobodyさん
04/06/14 15:00ID:syzY4Jkxhtmは知ってますよ
ていうか、これで helloと表示できるの知りません?
もういいいや
0980nobodyさん
04/06/14 15:04ID:???あおりじゃなくてマジレス。
0981nobodyさん
04/06/14 15:05ID:syzY4Jkxスルーしなきゃだめですよ
0982nobodyさん
04/06/14 15:08ID:???0983nobodyさん
04/06/14 15:09ID:???0984nobodyさん
04/06/14 15:11ID:???0985nobodyさん
04/06/14 15:12ID:???0986nobodyさん
04/06/14 15:14ID:???0987nobodyさん
04/06/14 15:14ID:???0988nobodyさん
04/06/14 15:14ID:???0989nobodyさん
04/06/14 15:14ID:???0990nobodyさん
04/06/14 15:25ID:syzY4Jkx0991nobodyさん
04/06/14 15:38ID:???http://enema.x51.org/x/i/cute_birds2.jpg
http://enema.x51.org/x/i/cute_birds3.jpg
0992nobodyさん
04/06/14 15:38ID:???0993nobodyさん
04/06/14 15:39ID:???0994nobodyさん
04/06/14 15:40ID:???0995nobodyさん
04/06/14 15:41ID:???0996nobodyさん
04/06/14 15:42ID:???0997nobodyさん
04/06/14 15:42ID:???0998nobodyさん
04/06/14 15:42ID:???0999nobodyさん
04/06/14 15:43ID:8oZmCiNz1000nobodyさん
04/06/14 15:43ID:8oZmCiNz10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。