【PHP】質問スレッド Part5
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/09/11 14:15ID:FWA0CpdU■本家
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-10あたりにきっと誰かが……。
0784775
02/11/16 07:08ID:1/sWq2Gmサンクスです(≧∇≦)ノ
今日は本屋へ行く日なので探してみますね。
0785age
02/11/16 08:56ID:???$log = 'log.txt';
$data = fopen($log,"r+");
list($view,$click) = split( ",", $data, 2);
print $view;
fclose ($data);
で実行した時 Resource id #1
とポツンと表示されてしまいます。
どうやったら良いのでしょうか?
0786nobodyさん
02/11/16 09:18ID:6U1hYCr1二行目おかしくないか?fopenの返り値は
int
配列に一括代入するのは
fopen($log,"r");
$data=file($log);
したらできる
ちなみに
perlでは
@data=<log>;
って感じかな。
0788770
02/11/16 10:57ID:i0v/7za0ヒント下さった 771様、ありがとうございました。
0789786
02/11/16 12:12ID:6U1hYCr1では
$data = array();
と配列を定義してからやるとどうなるだろうか?
0790785
02/11/16 12:19ID:???ためしに
$data = fopen ($log,"r");
$data = file($log);
print $data;
exit;
print文でテキストファイルの中身を表示しようとしてるんですが
この時点ですでに「Array」としか表示されないんです。
$datas = array(A,B);
$view = $datas[0];
$click = $datas[1];
print ="最初の値は".$datas[0]."です";
とarrayをテキストファイルから読み込まずに、そのまま打つと
うまく表示されたんですが、テキストファイルから読むと「Array」しか
表示されないんです。
0791nobodyさん
02/11/16 12:38ID:???小一時間問い(ry
http://www.php.net/manual/ja/function.file.php
0793nobodyさん
02/11/16 13:16ID:???for($i = 0; $i < count($data); $i++) {
$tmp = split(',', $data[$i]);
echo "$tmp[0]\r\n";
}
0794nobodyさん
02/11/16 15:46ID:???ここを読めば分かるはず。
0795nobodyさん
02/11/16 15:54ID:???http://www.zdnet.co.jp/news/0211/01/nebt_06.html
0796PHPさん
02/11/16 19:10ID:???環境は、Win2k Apache1.3.26 PHP4 です。
$con = mysql_connect("localhost","root","******");
if ($con) {
mysql_select_db("dbdb",$MyLink);
$MyQuery = "SELECT ACCESS_CNT FROM dbdb";
$MyResult = mysql_query($MyQuery,$MyLink);
$MyRow = mysql_fetch_array($MyResult,MYSQL_ASSOC);
echo $MyRow[0];
mysql_free_result($MyResult);
$con = mysql_close($con);
}
テーブルには1レコード存在し、2522 が入っています。
本来なら 2522 が表示されるはずなのですが。。。
何か設定が足りないのでしょうか。
ちなみに、ApacheとPHPは正常に動作しています。
0797nobodyさん
02/11/16 19:17ID:???どこからそう判断したのか?
エラーメッセージがあるなら書けよ。
Warning: Access denied for user: 'root@localhost' (Using password: NO) in i:\internet\web\vip\mai-k\a.php on line 8
Warning: MySQL Connection Failed: Access denied for user: 'root@localhost' (Using password: NO) in i:\internet\web\vip\mai-k\a.php on line 8
Warning: Supplied argument is not a valid MySQL-Link resource in i:\internet\web\vip\mai-k\a.php on line 10
Warning: Supplied argument is not a valid MySQL-Link resource in i:\internet\web\vip\mai-k\a.php on line 12
Warning: Unable to jump to row 0 on MySQL result index 2 in i:\internet\web\vip\mai-k\a.php on line 14
First Name:
Warning: Unable to jump to row 0 on MySQL result index 2 in i:\internet\web\vip\mai-k\a.php on line 16
Last Name:
Warning: Unable to jump to row 0 on MySQL result index 2 in i:\internet\web\vip\mai-k\a.php on line 18
Address:
Warning: Unable to jump to row 0 on MySQL result index 2 in i:\internet\web\vip\mai-k\a.php on line 20
Position:
0800nobodyさん
02/11/16 19:45ID:???0802nobodyさん
02/11/16 20:07ID:???Warning: Access denied for user: 'root@localhost' (Using password: NO)
の意味は調べたかい?
0804名無しさん@お腹いっぱい。
02/11/17 00:22ID:???そんなコードじゃmysqlに
どのデータベースの"dbdb"を使うのか
教えてあげられない
0805nobodyさん
02/11/17 05:10ID:???0806nobodyさん
02/11/17 12:42ID:YRaU2xF9つーか
@RANKING = $RANKING[
sort {$tmp1[$b] <=> $tmp1[$a] or $tmp2[$b] <=> $tmp2[$a]
}
0 .. $#tmp1];
ってなperlの部分をphpになおしたいんだが
だれか教えてくれないでしょうか?
ここで3日も困ってるっす。
0808nobodyさん
02/11/17 15:21ID:ZXiBJBMVソートする {
始めの条件(同じだったら偽になるので、次の条件へ)
次の条件 }
}
0からtmp1の最後まで];
要するに、優先順位がある2つの条件でソートして、配列にいれてるだけ。
0809nobodyさん
02/11/17 15:31ID:???htmlspecialchars()を使えばいいと思いましたが、スクリプト中に数十個以上あるため
全部をいちいちやってられないのですが・・・
各変数に勝手に代入されちゃう前に文字列をまとめて処理する方法はないですかね?
0810nobodyさん
02/11/17 15:34ID:???(・A・)イクナイ!! と思う。
0811nobodyさん
02/11/17 16:04ID:YRaU2xF9正直に申しますと
FFアドベンチャーがあまりに負荷が高いと書いてあるので
PHPにしようとがんばっているところです。
>>808
それをPHPで書く良い方法ないですか?
0812809
02/11/17 16:13ID:???おいおい、俺も作ってるんだけど・・・
$_POST = array_map("htmlspecialchars", $_POST);
これで良いのかな。さすが俺。
0813808
02/11/17 16:27ID:YRaU2xF9どのあたりよ?
こっちは250行目のあたりで
悩んでる。
それ以外は ほぼ完成してる
ここの部分ができれば、後はバクだしして おわりっす。
0814809
02/11/17 16:38ID:???俺はma-tiさんの0.47使ってるからな。
クッキー関連とかロック関連とかまだまだだが。
まあ、まだPHP歴3日だし。
配布するつもりはあるのかな?それなら俺作るのやめようかな・・・
0815808
02/11/17 17:30ID:YRaU2xF9公開できるような綺麗なものじゃない
スパゲティーだから
0.45と0.47って どう違うよ?
0816808
02/11/17 17:42ID:YRaU2xF9EBS お願い
0817809
02/11/17 17:48ID:???>ver.0.47: 2002年4月28日配布開始
>・ソースを最適化して75.2KB→63.1KBに成功!
>・若干早くなったと思います。本当に若干。。。気持ち程度。。。
つまりはあまり変わらないと思う。
俺は公開&配布予定だから、使うんだったら最新版のほうが良いし。
まあ、予定は未定だが。
EBSはプレイしたことないからよく知らん。
0818808
02/11/17 17:52ID:YRaU2xF9ソース公開しますわー
まだ 作りかけのでよいかい?
というか 手伝って
それか ほかに有名どころのゲームをPHPお願いしたい
yomiサーチでもOK
できれば ebs
0819809
02/11/17 18:01ID:???元々俺がPHP化しようとしてる理由は
『自分の改造しまくってるFFAが負荷やばいためPHP化しよう』と思ったが、
既にすごく汚くてとてもやる気がおきなかったため、
とりあえず軽量の原作版から作って
公開してそれから自分の改造したいように変えていこうって考えなわけ。
だからFFA以外は今のところする気はないな。設置してないし。
0820809
02/11/17 18:03ID:???0821nobodyさん
02/11/17 18:06ID:FpRG38IL++++FF ADVENTURE++++
http://pc.2ch.net/test/read.cgi/php/991910275/l50
0822808
02/11/17 18:06ID:YRaU2xF9無料HPを運営していて あまりにFFAとEBSの設置が多いので
負荷がすごくなり、他のユーザー様にご迷惑がかかるので
必要に迫られて作っています。
言わば逆の立場ですね。お互い。
で どうするよ?
0823809
02/11/17 18:13ID:???作りかけでもいいから送ってくれれば俺が作ってる奴も
送り返すよ。俺もランキングの部分はまだ出来てないけど(汗
0824nobodyさん
02/11/17 18:34ID:n7xO86Z7完成の暁には漏れに適価で売ってはくれまいか?
0825PHP初心者
02/11/17 19:18ID:yD7j6+V5皆さん、がんがって下さい(≧∇≦)ノ
0826808(さるる)
02/11/17 19:47ID:YRaU2xF9完成したら
http://cgi.aaacafe.ne.jp
ここで、簡単に設置できるようにする予定なので
がんばります
0827809
02/11/17 19:54ID:???FFAは改造して何ぼですからね。
FFA推奨委員会も寂れているようなので
どんどん推奨していきたいです。
0828nobodyさん
02/11/17 21:11ID:???それは知ってるよ……。
とりあえずPECLのmailparse拾ってきて入れてはある。
で、公式サイトmailparse関数下部のスクリプトを走らせたら
signal 11吐いてapacheの小プロセスが死ぬ。
コマンドラインから実行するとphpがcore吐いて死亡。
諦めるかな……。
0830nobodyさん
02/11/18 17:18ID:???関数名、クラス名、メソッド名の大文字小文字の区別をしないようなのですが、
これを区別させるようにする事は出来ないのでしょうか?
0831nobodyさん
02/11/19 03:59ID:GvT3tsAV区別できれば何かメリットあるの?
自分で読みやすいようにdoSomething(hanyan)みたいにするけど。
0832780
02/11/19 11:50ID:9dfDoISG催促して申し訳ありませんが、よろしくお願いします。
0833nobodyさん
02/11/19 12:28ID:9zdIs68pブラウザ出力するスクリプト中、shell_exec関数を使ってバイナリ版用のスクリプトを呼び出しました。
<html>
<?php
$envs=array("QUERY_STRING","REQUEST_METHOD");
for($i=0;$i<count($envs);$i++) {
putenv($envs[$i]."=".getenv($envs[$i]));
}
$str=shell_exec("sample");
?>
</html>
#!/usr/local/bin/php -q
<?php
echo "こんにちは";
?>
ここで上記$strには「こんにちは」が格納されると思ったのですが、
「X-Powerd-By: PHP/4.2.2 Content-type:text html No input file specified.」
という文字列が格納されてしまっています。なぜなのでしょうか?
($envsからの行を加えたとたんに、このエラーが出力されるようになりました)
Webで調べたのですが、解決策として示されていた--enable-discard-pathでも解決しません
0834nobodyさん
02/11/19 16:03ID:???ImageString ($im, 11, 10, 10, "オマエモナー", $color);
とすると、イメージ内の文字が化けて出てきます。
どなたか宜しくお願いします。
0835sage
02/11/19 23:29ID:aA08ojgXファイルが存在するかを調べるfile_existsというのがありますが、
ディレクトリが存在するかを調べるものはないのでしょうか?
よろしくお願いします。
0837nobodyさん
02/11/20 08:28ID:???file_existだとディレクトリも含まれる。
一般のファイル is_file()
ディレクトリ is_dir()
シンボリックリンク is_link() #Winでは使えない。
0838nobodyさん
02/11/20 10:37ID:???>>832
スレッド使うのが常套手段ですが、PHPではアタリマエのようにスレッドが
使えないので基本的に厳しいです。
ので、シェルを使ってバックグラウンドで走らせるしかないでしょう。「色々な処理」
が何なのかわからないので、もっとメタな解決方法はあるかもしれませんが。
というわけで
$pid = getmypid();
foreach ($urls as $url) {
`curl $url > /tmp/$url.$pid &`;
}
とかして後はリダイレクトされたファイルを処理する、くらいでしょうか。どうやって
個々のcurlが終了したかを判断するのもまた面倒ですが、とりあえずファイルサイズ
見るとかでもいいんじゃないでしょうか?とりあえず、ですが。
最後にファイルを消すのもお忘れなく。register_shutdown_function()とか。
>>830
どーしても、どーしても、とおっしゃるのでしたらパッチ書いて差し上げますが、あんまり
うれしいこと無いと思いますよ。Zend Engine2ではCase Sensitiveにしよう、という話も
あったのですが、後方互換性的に問題ありありということで却下になりました。
メリットとしては
(1)関数やオブジェクトテーブルのlookupが早くなる(今はtolowerして処理してます)。
(2)普通の言語っぽくなる(笑)
くらいしか思いつきませんが。
0839nobodyさん
02/11/20 11:59ID:GqTHpGaWパーミッションは644との認識なのですが、
Hファイルや、INCファイルも644としてよろしいのでしょうか?
また、PHP、H、INCファイルをアップロードするには
転送モードはバイナリ?テキスト?どちらなのでしょうか?
0841nobodyさん
02/11/20 13:26ID:???テキストエディタで開いてテキストファイルだったらテキストモード。
パーミッションは、拡張子だけじゃ分からん。
そのスクリプトでどう扱われているのかによる。
READMEを嫁
0843nobodyさん
02/11/20 18:27ID:eNXAFipWサーバに入っていません。
http://www.thewebmasters.net/php/FastTemplate.phtml
ここから取ってきたモノをincludeしてやろうと思うのですが
誰か他に試した方いませんか?
class.FastTemplate.php3
3が付くのが気になります...
0844843
02/11/20 19:09ID:???http://ns1.php.gr.jp/pipermail/php-users/2001-August/001489.html
この辺を参考にしてみます。
0845nobodyさん
02/11/20 22:56ID:???何を意図していたかと言うと、
メソッドのオーバーロードが実装されるまでのつなぎとして、
function func(&$val)
{
$classname = get_class($val);
switch ($classname) {
case strtolower("MyClass1"):
.
.
case strtolower("MyClass2"):
.
.
}
}
とする時に、strtolower()がちょっと邪魔だっただけなので…
0846nobodyさん
02/11/20 23:33ID:1jUBHxNp今日ウチも自宅サーバーに挑戦しようと思い、
とりあえずWindows-Apache環境でPHP入れて、php動くようになったんですが、
一つ気になることがあるんです。
Apache側の設定で、
LoadModule php4_module c:/php/sapi/php4apache.dll
AddModule mod_php4.c
AddType application/x-httpd-php .php .phps
PHP側の設定で、
;include_path = ".;c:/php/includes;c:/php/pear"
doc_root = "C:/Program Files/Apache Group/Apahce/htdocs"
extension_dir = "c:/php/extensions"
の3行を設定した末、phpinfo()による動作確認でページの表示は認められたんですが、
変数の受け渡しなどが全くできないのです。
たとえば
http://localhost/index.php?query=hoge
のqueryが受け渡されないんです。
Apache環境に変えた理由は和製のAn Httpdを使用していたところ、
同じような現象がありまして困ってます(´・ω・`)
Apacheの.incが認識されていないかとアホなことを考え、
使わない環境も考えたんですが変数の受け渡しだけがどうもうまくいきません。
php.ini側の設定に問題があるのでしょうか。
それとも他に何か設定が必要なのでしょうか?
説明不足かもしれませんが・・・ご教授お願いします( ・∀・)ノ
ApacheのバージョンはApache 1.327です。
0847nobodyさん
02/11/20 23:41ID:???0848846
02/11/20 23:58ID:9aYPHyGQ言い忘れてましたが、現在もレンタル中なんですが、
そちらの方では変数の受け渡しは出来ましたヽ( ´¬`)ノ
0849846
02/11/21 00:06ID:XBf4tF8P言い忘れてましたが、現在もレンタル中なんですが、
そちらの方では変数の受け渡しは出来ましたヽ( ´¬`)ノ
0851846
02/11/21 00:35ID:XBf4tF8Pありがとうございます。
extract($_GET);
ですね〜
0852780
02/11/21 01:07ID:???ありがとうございます。
正直、何を言われているのかサパーリなのですが(;´Д`)
頑張って勉強します。
やっぱスレッド使えないのは痛いですねえ。
ちなみに「いろいろな処理」というのは簡単に言えば
「配列に入れてソート」です。
データが複数のページにまたがっているので全部まとめてしまおうと。
0853nobodyさん
02/11/21 01:15ID:???どうすればいいのでしょうか?
プログラミングとか初心者なんです。
昨日、店に行ってVisualStudioっての買ったのですが
これからどうして良いのか分かりません。
お店の人はこれがあればプログラミング出来るとの事なんですが・・・
0854nobodyさん
02/11/21 01:27ID:???掲示板を作りたいんなら、メモ帳でいいとおもうよ、うん。
0855nobodyさん
02/11/21 01:33ID:???0856nobodyさん
02/11/21 03:04ID:???0857nobodyさん
02/11/21 10:45ID:???0858nobodyさん
02/11/21 10:53ID:???0860nobodyさん
02/11/21 14:05ID:???>これからどうして良いのか分かりません。
これがホントならこの人は間違いなく・・・モゴモゴ
普通はPHP関連のHPを収集してPHPの環境等を調べて
PHPをインストールして、HPにあるサンプルで2時間ぐらい遊ぶ
そして、初心者に評判のいいPHP本を調べて購入して勉強
構文を覚え、これをするには何が必要かが分かるようになって
初めて市販の開発ソフトを購入→管理・運用が楽→ウマー
0861nobodyさん
02/11/21 21:49ID:YPJ0mbwG一度飛ばして、そこから次のページへ飛ばそうとしても上手く飛びません。
また、FORMによるデータの受け渡しもまったくできない状態だと判明しました。
原因の心当たりがある方はいらっしゃりませぬか?
0863nobodyさん
02/11/21 22:35ID:???どういう神経してるんだろうね?
0864nobodyさん
02/11/21 23:19ID:1XZhJXxJ0865861
02/11/21 23:21ID:YPJ0mbwG勿論>>4も設定しました
0868nobodyさん
02/11/21 23:56ID:???無ければ答える必要ないんじゃねーか?
あるやつが答えりゃいいだけだろ?
0869861
02/11/22 00:03ID:6zsUquR2今回はLinux環境で動かしているのですが、まったく同じソースでWindows版においたときの動作確認はとっています。
PHP4.2.2です
0870nobodyさん
02/11/22 10:04ID:HEeXMk8V上記で削除フラグがつけられると思ったんですが、だめでした。
ためしに既読のフラグをつけようと
imap_setflag_full($mbox,"1","\\Seen");
をやっても新規のフラグのままでした。
一度フラグを削除してからでないとだめなのかと思い、
imap_clearflag_full($mbox,"1","\Recent");
imap_setflag_full($mbox,"1","\\Seen");
とやってもだめでした。
マニュアルもあまり詳細がのってないので前に進めません。
どなたかご教授ください。
0871>>870
02/11/22 10:06ID:HEeXMk8VOSはRedhat7.3
接続は
{localhost/pop3:110/notls}INBOX
でしています。
PHPのバージョンは4.2.3です。
よろしくお願いします。
imap_datele で削除マーク
imap_expunge で削除
としてたよ俺は。
0873>
02/11/22 10:21ID:HEeXMk8V削除ができるのは私も確認しました。
でも、
imap_datele($mb,"1");
$overview = imap_fetch_overview($mb, "1");
foreach($overview as $value){
$flag = $value->deleted
}
echo $flag;
imap_expunge($mb);
で、途中のフラグを表示してから削除してみても、
なぜか、新規フラグがたってました。
pop3での接続じゃむり...ってか、反映しないのではなかったかなぁ。それ。
最近使っていないので、ほとんど忘れてる。
0875>>870
02/11/22 10:31ID:HEeXMk8V$mb = @imap_open($host, $user, $pass);
$overview = imap_fetch_overview($mb, $msg_no);
imap_clearflag_full($mb,1,"\\Recent");
imap_expunge($mb);
print "<pre>";
print_r($overview);
print "</pre>";
pop3だとフラグつけられないのかな?
imap_close($mb);
0876>>870
02/11/22 10:33ID:HEeXMk8Vありがとうございました。
0877>>870
02/11/22 12:50ID:HEeXMk8Vプラス、Recentのフラグだけつけることができない。
なんで?
使用なの?
0878nobodyさん
02/11/23 12:58ID:???gmdate()で漢字が文字化けする。
関数内でstaticを使い、同時に複数の同じスクリプトを走らせると
異常に重くなる。globalだと問題ない。
0879nobodyさん
02/11/23 20:34ID:twAAlTTS配列はこんな感じで
$val[0]=array("a","b","c");
$val[1]=array("d","e","f"); あって
<input type="hidden" name="val[]" value="<? print serialize($val); ?>" >
やってもうまくいきません。
目的はフォームで確認のために$valを表示させ、OKならPHPで$valを処理。
ヘルプお願いいたします。
0880879
02/11/23 21:06ID:???0881nobodyさん
02/11/23 21:11ID:nnNnwbKG自己解決したら解決法も書いておくと他の人に親切。
まだここ見てたら書いておいてみてくださいな。
0882880=879
02/11/23 21:37ID:twAAlTTSにあるユーザーのレスにあるpropogateというファンクションで済ませました。
ひたすらval[0][0]からval[1][2]をアウトプットしてます。
でもserialize()で簡単にできそうな気がするんですが。
なぜか、879でHTMLソースはvalの値が化けていました。
0883nobodyさん
02/11/24 15:09ID:rESUx17LPHPにはありませんか?
■ このスレッドは過去ログ倉庫に格納されています