トップページ⇒php
1001コメント296KB

【PHP】くだらねぇ質問はここに書き込みやがれpart2

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん05/01/09 06:01:24ID:tJkdKk+e

お前の下らない質問に回答があるかも知れないスレッドです。
075174905/02/01 18:04:45ID:???
あ、なるほど、「ソケット」って言葉聞いたことはあったんですが、こういうことを
するために使う話だったのですね。。。
ソケット自体使ったことがないのでちと色々勉強してみまつ。どもでした
0752nobodyさん05/02/01 19:07:38ID:???
PHP4で、フォームなどから取得した文字列の中に、特定の文字列を発見したら、
それを好きな文字に置き換えて出力する方法を考えています。

$text = $_REQUEST['text']; //フォームから文字列を取得
if(strstr($text,"特定の文字列")) //その文字列に、特定の文字列があったら、

と、このあとどうしたらいいか思いつきません。
何かアイデアをお持ちであれば御教授ください。
「こんな簡単なことも思いつかねえのか」と思うかもしれませんが、
どうぞよろしくお願いします。
0753nobodyさん05/02/01 19:16:59ID:???
>>752
str_replace
075475305/02/01 19:22:17ID:???
>>753
もう、なんていうか、自分がつくづく馬鹿だと思いましたよ・・・
思いつくも何もそのための関数が・・・
とにかくどうもありがとうございました。
0755nobodyさん05/02/01 20:58:13ID:???
$_REQUEST['REMOTE_ADDR']とgetenv("REMOTE_ADDR")の違いはなんですか?
0756nobodyさん05/02/01 22:25:42ID:???
マルチポストの予感
0757nobodyさん05/02/01 22:31:08ID:???
どこに?
0758nobodyさん05/02/01 22:34:53ID:???
$hoge=123;
とあって、これを00123としたいのですが、
$hoge=sprintf(%05u123);
sprintf関数はこの使い方で良いでしょうか
0759nobodyさん05/02/01 22:42:59ID:???
なんで、みんなマニュアル見ればすぐに判る事を聞くかな?

おい、お前のことだよ!>>758
0760nobodyさん05/02/01 23:31:54ID:b2vi9Wz/
すいません。質問です。
掲示板で書き込んだ文字が下のように化けるのはなぜでしょうか・・。

ホ。ク・ク・ァ・テ・ネ・ウゥ`・ケ・ソゥ`。、・�ヂ・ケ。ケ

あとこの文字列を元の分に直せますか?
0761nobodyさん05/02/02 00:11:46ID:???
>>760
mb_convert()
美乳
076276005/02/02 00:27:22ID:???
スクリプトはShift JISで
表示もShift JISでしています。
でスクリプト中で

mb_convert_encoding($hoge,"SJIS","auto");

してみたんですが化けてしまいます。
さっさとeucにした方が幸せですかね。。
0763nobodyさん05/02/02 00:39:39ID:???
>>759
マニュアルを見ても今イチ説明がよく分かりません。こんな気持ち悪い書き方で良いのでしょうか。
0764nobodyさん05/02/02 00:55:56ID:mszEXFeW
PHPで変数aとbのデータ比較を行っているのですが、
うまくいきません。

$a="2005051000000000201";
$b="2005051000000000301";

if ($a == $b) {
 echo "NG";
} else {
 echo "OK";
}

上記a,bの内容の場合、OKを表示してほしいのですが、
NGが表示されます。
どうすればよいのでしょうか。
0765nobodyさん05/02/02 01:12:47ID:???
>>764
比較するときstringに型キャストして味噌

if ((string)$a == (string)$b) {
0766nobodyさん05/02/02 01:23:30ID:???
if($a === $b)
でいいんじゃない?
0767nobodyさん05/02/02 01:42:19ID:???
(string)でキャストしてみたのですが、うまくいきませんでした。
===は、試してみます。
そもそも、このような長い数値の比較(""で括っているので文字列だと思うのですが)は
普通行わないものなのでしょうか。
0768nobodyさん05/02/02 02:01:57ID:???
とりあえず、この質問だけで答えは出せないと思う。

文字列として比較したいのか、数値として比較したいのかが分からない。

文字列として比較したいのであれば、stringキャストでは意味が無い。
「===」を使っても正常な結果は出るが、一番確実なのは、

echo strcmp($a,$b)==0 ? "OK" : "NG";
0769nobodyさん05/02/02 08:16:47ID:???
よく見ろよ馬鹿共!
中身が違うんだからNGが正常
0770nobodyさん05/02/02 09:22:00ID:???
なんだNGでいいのか
0771nobodyさん05/02/02 10:22:47ID:???
is_readable('./dir/file.php')としているのですが、その結果が1として
返って来ません・・・
ディレクトリ、ファイル共にothersはrxとしてあるのですが、どうして
なのでしょうか?
077277105/02/02 10:26:35ID:???
自己レス・・・catしたらファイルが無かった;
ファイル名間違いでした・・・失礼
0773nobodyさん05/02/02 10:29:33ID:3u11bF/6
プロバイダ(Webサーバ)で使っているPHPスクリプトを、
別のサーバでApacheでPHP4を動かそうとしたところ、
「Internal Server Error」と言うエラーが出ました。
どのようにすれば、今までと同様に動かすことが出来ますか?

Apacheのバージョン : Apache/1.3.22
パス : 「/usr/local/lib/php.ini」
0774nobodyさん05/02/02 10:38:28ID:g6qcRaEP
>>773
その情報だけで分かるやつなんて居ないと思うよ。
0775nobodyさん05/02/02 10:39:28ID:???
>>773
Webサーバのログを見れる環境なら、それを見る。
単純なPHPスクリプト(例えば<?php phpinfo(); ?>等)でもエラーがでるか試す。

htaccessファイルが不正でエラーだしてる気もするがなぁ。
0776nobodyさん05/02/02 10:44:50ID:???
そもそもPHPが動く鯖なのか?
0777nobodyさん05/02/02 10:50:07ID:v52PFDLH
Fedoraのとき文字コードは何を使用するのがいいですか?
やっぱりEUC?
0778軟式PHP05/02/02 11:22:17ID:???
>>777
Core 2使ってるけど、基本文字コードをLANG="ja_JP.eucJP"にして
phpのほうもEUCで使ってて問題なかったよ。
標準をUTF-8のままにしてPHPのみEUCの動作は分からないから試してみてくれ。
0779nobodyさん05/02/02 11:25:03ID:???
下らない質問

現行のHPのHTMLにそのままディレクトリで埋め込めて
そのまま決算できるショッピングカートが見つからない

恐らくPHPでなら可能だとは思うのだけれど
そういう現行のデザインを崩さないまま決算ページに行けるようなPHPは
ありますかいな?
0780nobodyさん05/02/02 11:35:59ID:???
>>779
詳しく
0781nobodyさん05/02/02 11:40:16ID:???
>>779
スレ違いどころか板違い
078277305/02/02 11:49:36ID:3u11bF/6
お答えいただきありがとうございます。

[Wed Feb 2 11:40:07 2005] [error] [client xxx.xxx.xxx.xxx] File does not exist: /home/xxx/xxx/xxx/xxx/

↑
ログフォルダにはこのようなエラーが記録されておりました。

プロバイダ(Webサーバ)で使っているPHPスクリプトを、
別のサーバでApacheでPHP4を動かそうとしたところ、
「Internal Server Error」と言うエラーが出ました。
どのようにすれば、今までと同様に動かすことが出来ますか?

Apacheのバージョン : Apache/1.3.22
パス : 「/usr/local/lib/php.ini」
078377305/02/02 12:04:21ID:3u11bF/6
すいません、動作しました。

お騒がせしました。
078477905/02/02 12:41:16ID:???
詳しく書くなら、現行のHTMLにPOSTでデータを
PHPかクッキーに残したプログラム。当然ページ移動してもカートとしては
動かないと話にならないし

自分で書いたけど失敗した
PARLとPHPが混在してたのかも

仕方ないから探したけど見つからず



どこの板になるかな?
0785nobodyさん05/02/02 12:53:40ID:???
web製作にCGI捜索スレがあるにはある。
0786nobodyさん05/02/02 13:14:42ID:???
纏めるとこんな感じか。
「商品情報が書かれているHTMLファイルを特定のディレクトリの下に置いておくと、
不思議なチカラが働いてショッピングカートとして機能するスクリプトが欲しい。
決算ページ以降は別の仕組みを用意するから、そのページより前の仕組みを探している。」

PHPやJavaScriptを使うにしても、手作業で既存HTMLに手を加える
(or HTMLをparseして適切なデータを埋め込むスクリプト)ことになるから、
そんな面倒なことをするより、出来合いのショッピングカート+データ入力 に移行した方が良いと思われ。

さっきまで人の書いたサンプルコードを探すのに「こんなCGI探してます」スレを見てたんだけど、
ショッピングカートはゴロゴロ転がってたから、この辺りからスタートしてみそ。
ttp://pc5.2ch.net/test/read.cgi/hp/1106947416/2
0787nobodyさん05/02/02 13:22:00ID:???
なんか自演くさいレスが続いてるな・・・
0788nobodyさん05/02/02 13:24:55ID:???
過疎スレへのテコいれでつ
0789nobodyさん05/02/02 16:03:36ID:???
$fp = @fopen(xxx.dat, "w+");
rewind($fp);       //←エラー
fputs($fp, "$data \n"); //←エラー
fclose($fp);       //←エラー

ファイルに$dataを記録する時に、指定のファイル「xxx.dat」が無い場合
「Supplied argument is not a valid File-Handle resource」
というメッセージのエラーが「←」の3行に発生します。
指定のファイルが無い場合「xxx.dat」を生成し
上のエラーを出さないようにするには、どこの設定をどのように変えればよいですか?
尚、「xxx.dat」がある状態で実行するとエラーは出ずに正常に記録されます。
0790nobodyさん05/02/02 16:11:13ID:???
>>764
if ("a". $a == "a". $b) {

これはどうよ?
0791nobodyさん05/02/02 16:11:39ID:???
なぜw+で開くのか
0792nobodyさん05/02/02 16:12:51ID:???
>>789
エラー処理しろ
http://jp.php.net/fwrite

設定はphp.iniに思い切り書いてある。
スクリプトから変更するにはerror_reporting()
0793nobodyさん05/02/02 16:13:32ID:???
>>789
fopen後に$fpに正しいリソースが代入されているか検査しろ。
fopenでファイルが開けなかった(作成されなかった)理由はfopenの前の@をはずして確認しろ。
0794nobodyさん05/02/02 16:13:44ID:???
>>789
file_existsを使う
079578905/02/02 18:01:24ID:???
みなさんお答えいただきありがとうございます。
さっそく
ini_set ( string varname, string newvalue)関数を使って一時的に設定を変更し、
ファイルを存在しないファイルを作れるようにしようと思います。
その時「varname」に入れる値は、どれであるか教えてください。
的外れな質問をしていたら指摘してください。
0796nobodyさん05/02/02 18:16:45ID:???
>>795

>ファイルを存在しないファイルを作れるようにしようと思います。

がわからない
0797nobodyさん05/02/02 18:23:50ID:???
>>795
どこを見てんだ?回答者の意見を少しは参考にしたらどうだね?
>794の例

$filename = "xxx.dat";
$mode = (file_exists($filename)) ? "r+" : "w";
$fp = @fopen($filename, $mode);
・
・
・
0798nobodyさん05/02/02 18:49:54ID:???
>>797
それだと、ファイルのパーミッションはあるけど、ディレクトリのパーミッションがないときに
>789と同じエラーがでる罠。
if(!!$fp=@fopen($filename, $mode))な。
というか、w+でファイルが作られないならおそらくそういうことナンジャマイカ。
0799nobodyさん05/02/02 19:36:18ID:???
mb_ereg_replaceが使いたく
ttp://www.pat.hi-ho.ne.jp/dimension/inst/inst_unix_dso_4_mbregex2.shtml
を参考にmbregexをphpizeでインストールしたいと思うんですが
ftp://night.fminn.nagano.nagano.jp/php4/
が接続できなくなっているようです。
どこか他にmbregexのソースをおいているサイトを知っている方
いらっしゃったら教えてもらえますか
0800 ◆.rgrRbWfD. 05/02/02 19:40:23ID:???
ini_setで設定するしかないんじゃ?
0801nobodyさん05/02/02 20:40:44ID:q6Il3s7y
すいません、ちょと教えてください

strrpos("あ い、う") //あ と いの間は全角スペース
とすると6が返ってくるのですがどうしてでしょうか?
普通は2になりますよね??
0802nobodyさん05/02/02 20:46:32ID:???
>>801
よく見て出直してこい
080380105/02/02 20:50:23ID:q6Il3s7y
あ、失礼こきました。
strrpos("あ い、う"," ")とやると6になるんです・・
0804nobodyさん05/02/02 20:53:38ID:???
http://www.php.net/manual/ja/ref.mbstring.php
080580105/02/02 21:41:19ID:q6Il3s7y
>>804 
ありがとうございます。

しかしエラーらしきところは・・・strposはちゃんと動作するんだけどなー
0806nobodyさん05/02/02 21:47:14ID:???
>>799
ttp://www.php.net/
0807nobodyさん05/02/02 21:59:18ID:???
ふと、Webプログラムをはじめようと思いました。
全く予備知識なく、何某さんのネット連載記事とか本とかを読んでいると、
JavaサーブレットとかJSPというものがとてもすばらしいっぽく書いてありました。
なるほどそうなのかと思って、サーブレットJSP関連の本を買い、色々勉強しました。
さて、じゃあそろそろ適当にレンサバでも借りてみようかと思いました。
……全然対応してるところがありませんでした。
どうしたらいいですか。しかもその何某さんは、別の連載では
Linux+JSPサーブレットとWin鯖+ASPを比べて、ASPのすばらしさを語っていました。
もう何言語を覚えればいいのか分かりません。
0808nobodyさん05/02/02 22:04:32ID:???
>>807
PHP言語のスレに来たことですし、PHP言語をやってみてはどうですか?
0809nobodyさん05/02/02 23:17:58ID:???
どの言語だって一長一短
適材適所で言語を選べって事だよ
ちなみにここはPHPスレ
0810nobodyさん05/02/03 08:39:22ID:???
>>807
Servlet/JSPをやるには、普通のレン鯖じゃダメだね。
使えるところも最近は増えてるけど、共有鯖のServletなんてつかえたものじゃない。

専用サーバ借りるか、自宅鯖にするしかないな。
ADSLで上り500Kbps程度あれば、普通の文字主体のサイトなら帯域に困ることも無い。
0811nobodyさん05/02/03 08:43:18ID:???
バーカ
0812nobodyさん05/02/03 08:48:10ID:???
808は馬鹿じゃないだろ。
0813nobodyさん05/02/03 09:31:42ID:???
>>807
apsはいいねぇ
phpも楽でいいよ〜
jspはしらねぇ〜けど、結構面倒そう。javaは設定が面倒だねぇ
0814nobodyさん05/02/03 10:32:11ID:???
PHP
   素人お手軽Webプログラミング入門

ASP全般
   ある程度の能力者・経験者用。
   全般的になんでもこなし、極めれば、Javaテクノロジと互角に渡り合えるが、
   WindowsServer専用化ってのが痛いところ。monoに期待する。

JSP/Servlet/EJB/JSF
   達人御用達。開発者の能力次第では、あらゆる面でWeb系最強なのは間違いなし。
   でも個人でプログラミングしていると、ここまでヤル必要あるのか?という疑問が常にあり、開発の妨げとなる。
0815nobodyさん05/02/03 10:48:59ID:???
>>814
思いっきり、業界の現状を理解していない、
うちの糞上司と同じ感覚だな(w

0816nobodyさん05/02/03 10:54:48ID:???
>>815
プッ
PHPしかできないド素人が業界人のフリしてこんな時間に書き込みですか??
実際の業界の現状というと、新規案件はJava系一色だよ。おれが業界にいた半年前まではね。
0817nobodyさん05/02/03 11:09:06ID:???
>>815>>816
>>809
0818nobodyさん05/02/03 11:56:45ID:???
俺が業界に居た頃は、業務も趣味もCGI/Perlが主流だったぜ。
0819nobodyさん05/02/03 12:10:20ID:???
余程、大規模なページでない限りは大差がない
0820nobodyさん05/02/03 12:15:09ID:???
>>819
保守という面では、大差ありすぎだろ。
0821nobodyさん05/02/03 13:00:13ID:???
>>820
そんなもんコード書くのスキルに大幅依存だろ
0822nobodyさん05/02/03 13:06:15ID:???
何業界?
0823nobodyさん05/02/03 13:47:37ID:???
>>821
処理と表示とコントロールロジックが分離できないPerl/CGIやPHPでは話にならない
こればっかりは、開発者のスキルが云々の問題じゃない。
0824nobodyさん05/02/03 13:58:55ID:???
>>823
PerlやPHPにもMVCフレームワークが存在するご時世なのに・・・
0825nobodyさん05/02/03 14:02:27ID:???
>>824
>PHP4ではあまりちゃんとしたカプセル化/隠蔽はできないので、ここでは変数名の重複が起こりにくくする程度の意味しかありません
0826nobodyさん05/02/03 14:04:14ID:???
>>823
ギガワロスw
素晴らしい意見ですね。
0827nobodyさん05/02/03 14:08:47ID:???
>>826
君自身の意見を聞かせてもらいたいですな。
MVCの本当の意味はなんなんでしょう?
0828nobodyさん05/02/03 14:12:06ID:???
>>807-825
PHPとASP、JAVAの違いより、おまえらスレ違いだ。

PHPがJSPより優れている点って何ですか。
http://pc5.2ch.net/test/read.cgi/php/1070466594/
CGI VS PHP VS JAVA
http://pc5.2ch.net/test/read.cgi/php/1006006800/
ASP VS PHP
http://pc5.2ch.net/test/read.cgi/php/1013945931/
0829nobodyさん05/02/03 14:27:38ID:???
まぁ単純に分離するだけなら、include使えばいいだけだしな。
0830nobodyさん05/02/03 16:44:03ID:1pYIWrdl
はじめまして。t.phpをEUCで書いていますSJISで出力したいのですが、
mb_http_output('SJIS');
と一行書けばスクリプト内の日本語部分もすべてSJISとなりも文字化けしないのですか?
サーバはLinux のredhatです
0831nobodyさん05/02/03 16:58:23ID:???
やればいいだろ
0832nobodyさん05/02/03 17:08:59ID:1pYIWrdl
>>831
はい出来ました。
ただこんなに簡単に変換できるものなのかなと思いまして。
sjisに変換する一般的なやり方などはあるのですか?
0833nobodyさん05/02/03 17:40:49ID:iLTZWlLI
$fp = fopen("test.html","w");
fputs($fp,$str);
fclose($fp);

ってやると、許可されてない権限とかエラーでて吐き出しが出来ないのだけど
普通は、ディレクトリを777にしておけば書き込みは出来ると思うのですが。
所有者もユーザレベルにしているし…。
PHPかApacheの設定でそんなんあったっけ?
0834nobodyさん05/02/03 18:09:44ID:???
>>833
test.html自体のパーミッションはいくつになっていますか?
0835nobodyさん05/02/03 18:16:02ID:???
>>833
PHPのセーフモードもしらべれ
0836nobodyさん05/02/03 18:40:57ID:???
お前ら優しいな
0837nobodyさん05/02/03 18:44:04ID:???
>>832
オマイでも簡単に使えるように作ってあるのさ
083883305/02/03 18:46:57ID:???
>>834
test.htmlは存在していません。ない場合は、自動作成されるはずなので。
test.htmlをためしに作って、666にして試してみましたがダメでした。

>>835
セーフモードはoffになっていました。

サーバを新しくたてたら、未知の壁にぶつかっていまつ orz
Core3にするんじゃなかった…。
0839nobodyさん05/02/03 18:48:56ID:???
>>838
じゃあ777は?
084083305/02/03 18:52:17ID:???
>>839
777もダメでした。

/var/www/html/test.html

なんですが、 /varから777とかにしてみたがダメだった。
もうこんなんで職業プログラマなんて恥ずかしすぎる。
0841nobodyさん05/02/03 18:55:50ID:???
test.htmlとそのスクリプトのphpファイル自体は同一のサーバにあるんですよね?
test.htmlとそのスクリプトのphpを同じディレクトリにおいて試すとか
0842nobodyさん05/02/03 19:12:16ID:???
てか、この馬鹿・・・エラー表示を書かないよな
0843nobodyさん05/02/03 19:27:52ID:???
おれはエスパーだからおk
084483305/02/03 19:46:13ID:???
>>841 >>842
Warning: fopen(/var/www/html/test.html): failed to open stream: Permission denied in /var/www/html/test.php on line 5
がエラーです。
test.htmlとPHPファイルは同階層においてあります。
0845nobodyさん05/02/03 20:08:05ID:???
むー、エラーのログは何か吐いてるかな?
084683305/02/03 20:12:52ID:???
エラーログも、ディスプレイログと全く同じで、それ以外は吐き出されていません。
もうこうなったら、ソースで入れ直してみます。せっかくパッケージ管理に移行しようと
したのに…orz
0847nobodyさん05/02/03 20:14:17ID:???
これはどうだろう
ttp://ns1.php.gr.jp/pipermail/php-users/2003-November/019486.html
環境Winでなkればスマソ
0848nobodyさん05/02/03 20:21:38ID:1pYIWrdl
$sex = ($_POST['sex']=='male')?'男':'女';
これはどういう意味なのでしょうか?
私は$_POST['sex']がmaleなら男、
違うなら女を$sexに返すと思っているのですが。
これは何かの省略した書き方なのですか?
0849nobodyさん05/02/03 20:23:04ID:???
>>833
php.iniのdoc_rootが正しく設定されているか確認。

で、system("whoami");とかやってみて、実行しているユーザーを正確に把握して、
きちんと整備し直してみる。

>>847
(Fedora)Core3だと言ってるが。
0850nobodyさん05/02/03 20:24:04ID:???
>>848
マニュアルにterniary条件文として載ってる
ぐぐる時は、「三項演算子」で
■ このスレッドは過去ログ倉庫に格納されています