【PHP】くだらねぇ質問はここに書き込みやがれpart2
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん
05/01/09 06:01:24ID:tJkdKk+eお前の下らない質問に回答があるかも知れないスレッドです。
0803801
05/02/02 20:50:23ID:q6Il3s7ystrrpos("あ い、う"," ")とやると6になるんです・・
0804nobodyさん
05/02/02 20:53:38ID:???0805801
05/02/02 21:41:19ID:q6Il3s7yありがとうございます。
しかしエラーらしきところは・・・strposはちゃんと動作するんだけどなー
0807nobodyさん
05/02/02 21:59:18ID:???全く予備知識なく、何某さんのネット連載記事とか本とかを読んでいると、
JavaサーブレットとかJSPというものがとてもすばらしいっぽく書いてありました。
なるほどそうなのかと思って、サーブレットJSP関連の本を買い、色々勉強しました。
さて、じゃあそろそろ適当にレンサバでも借りてみようかと思いました。
……全然対応してるところがありませんでした。
どうしたらいいですか。しかもその何某さんは、別の連載では
Linux+JSPサーブレットとWin鯖+ASPを比べて、ASPのすばらしさを語っていました。
もう何言語を覚えればいいのか分かりません。
0809nobodyさん
05/02/02 23:17:58ID:???適材適所で言語を選べって事だよ
ちなみにここはPHPスレ
0810nobodyさん
05/02/03 08:39:22ID:???Servlet/JSPをやるには、普通のレン鯖じゃダメだね。
使えるところも最近は増えてるけど、共有鯖のServletなんてつかえたものじゃない。
専用サーバ借りるか、自宅鯖にするしかないな。
ADSLで上り500Kbps程度あれば、普通の文字主体のサイトなら帯域に困ることも無い。
0811nobodyさん
05/02/03 08:43:18ID:???0812nobodyさん
05/02/03 08:48:10ID:???0814nobodyさん
05/02/03 10:32:11ID:???素人お手軽Webプログラミング入門
ASP全般
ある程度の能力者・経験者用。
全般的になんでもこなし、極めれば、Javaテクノロジと互角に渡り合えるが、
WindowsServer専用化ってのが痛いところ。monoに期待する。
JSP/Servlet/EJB/JSF
達人御用達。開発者の能力次第では、あらゆる面でWeb系最強なのは間違いなし。
でも個人でプログラミングしていると、ここまでヤル必要あるのか?という疑問が常にあり、開発の妨げとなる。
0816nobodyさん
05/02/03 10:54:48ID:???プッ
PHPしかできないド素人が業界人のフリしてこんな時間に書き込みですか??
実際の業界の現状というと、新規案件はJava系一色だよ。おれが業界にいた半年前まではね。
0818nobodyさん
05/02/03 11:56:45ID:???0819nobodyさん
05/02/03 12:10:20ID:???0822nobodyさん
05/02/03 13:06:15ID:???0823nobodyさん
05/02/03 13:47:37ID:???処理と表示とコントロールロジックが分離できないPerl/CGIやPHPでは話にならない
こればっかりは、開発者のスキルが云々の問題じゃない。
0825nobodyさん
05/02/03 14:02:27ID:???>PHP4ではあまりちゃんとしたカプセル化/隠蔽はできないので、ここでは変数名の重複が起こりにくくする程度の意味しかありません
0828nobodyさん
05/02/03 14:12:06ID:???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:???0830nobodyさん
05/02/03 16:44:03ID:1pYIWrdlmb_http_output('SJIS');
と一行書けばスクリプト内の日本語部分もすべてSJISとなりも文字化けしないのですか?
サーバはLinux のredhatです
0831nobodyさん
05/02/03 16:58:23ID:???0832nobodyさん
05/02/03 17:08:59ID:1pYIWrdlはい出来ました。
ただこんなに簡単に変換できるものなのかなと思いまして。
sjisに変換する一般的なやり方などはあるのですか?
0833nobodyさん
05/02/03 17:40:49ID:iLTZWlLIfputs($fp,$str);
fclose($fp);
ってやると、許可されてない権限とかエラーでて吐き出しが出来ないのだけど
普通は、ディレクトリを777にしておけば書き込みは出来ると思うのですが。
所有者もユーザレベルにしているし…。
PHPかApacheの設定でそんなんあったっけ?
0836nobodyさん
05/02/03 18:40:57ID:???0838833
05/02/03 18:46:57ID:???test.htmlは存在していません。ない場合は、自動作成されるはずなので。
test.htmlをためしに作って、666にして試してみましたがダメでした。
>>835
セーフモードはoffになっていました。
サーバを新しくたてたら、未知の壁にぶつかっていまつ orz
Core3にするんじゃなかった…。
0840833
05/02/03 18:52:17ID:???777もダメでした。
/var/www/html/test.html
なんですが、 /varから777とかにしてみたがダメだった。
もうこんなんで職業プログラマなんて恥ずかしすぎる。
0841nobodyさん
05/02/03 18:55:50ID:???test.htmlとそのスクリプトのphpを同じディレクトリにおいて試すとか
0842nobodyさん
05/02/03 19:12:16ID:???0843nobodyさん
05/02/03 19:27:52ID:???0844833
05/02/03 19:46:13ID:???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:???0846833
05/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これはどういう意味なのでしょうか?
私は$_POST['sex']がmaleなら男、
違うなら女を$sexに返すと思っているのですが。
これは何かの省略した書き方なのですか?
0849nobodyさん
05/02/03 20:23:04ID:???php.iniのdoc_rootが正しく設定されているか確認。
で、system("whoami");とかやってみて、実行しているユーザーを正確に把握して、
きちんと整備し直してみる。
>>847
(Fedora)Core3だと言ってるが。
0851nobodyさん
05/02/03 20:25:38ID:???0854nobodyさん
05/02/03 20:41:19ID:???$result =
($fp = fopen('foo.txt', 'ab')) ?
flock($fp, LOCK_EX) ?
ftruncate($fp, 0) ?
stream_set_write_buffer($fp, 0) ?
fwrite($fp, $string, strlen($string)) ?
flock($fp, LOCK_UN) ?
fclose($fp) ?
true : false : false : false : false : false : false : false;
if (!$result) print '何かエラー';
0855nobodyさん
05/02/03 21:04:56ID:???0858nobodyさん
05/02/03 21:24:59ID:???and flock($fp, LOCK_EX)
and ftruncate($fp, 0)
and stream_set_write_buffer($fp, 0)
and fwrite($fp, $string, strlen($string))
and flock($fp, LOCK_UN)
and fclose($fp)
or print '何かエラー';
これでいいじゃん
0861nobodyさん
05/02/03 21:55:02ID:???なんかLinuxのパーミッションを理解していないとしか思えない
自分が何をやったかもわからずにディレクトリの権限とかも変更してそうだしね
うちもFC3を使ってるがphp.iniのdoc_rootの設定なし、セッションファイルを
tmpfsに置いている以外は弄ってないし、問題もない
0862nobodyさん
05/02/04 00:28:02ID:???一回もループしないで抜ければいいじゃんとか思うが。
ホント屑言語だな。
0863nobodyさん
05/02/04 00:33:10ID:???0865nobodyさん
05/02/04 10:12:03ID:???それは正常な動作でエラーが出なくては困ると想うけどね
配列かどうかわからないならis_array()で判断してから放り込む
なりするしかないね
そもそもセットしていない変数を利用しているとかそういう事
ではないの?
0866nobodyさん
05/02/04 10:40:07ID:???0868nobodyさん
05/02/04 12:26:22ID:???0869nobodyさん
05/02/04 12:29:17ID:???0870nobodyさん
05/02/04 12:44:44ID:???0871nobodyさん
05/02/04 12:51:17ID:???0872nobodyさん
05/02/04 16:43:09ID:RhhqzTFgrequireで呼び出して使いまわそうと思い、このような記述をし、
$footer = "http://".$_SERVER['HTTP_HOST']."/footer.php";
require $footer;
実機のWinにApacheをいれてテストすると以下のようなエラーがでました。
Fatal error: Failed opening required 'http://localhost/footer.php' (include_path='.;c:\php4\pear') in *****.php on line 88
同じものをウェブにアップしてそちらのサーバで確認したところ、きちんとフッタが表示されました。
なのでApacheかphpの設定ファイルかなにか実行ファイルが足りないとか、そういうことだとは思うのですが
ググってもなかなか解決方法が見つからなかったのでこちらで質問させていただきました。
どうすればバーチャルホストのほうでも正常に表示されるのでしょうか?
0873nobodyさん
05/02/04 16:49:55ID:???0874nobodyさん
05/02/04 16:56:50ID:???http://jp2.php.net/manual/ja/function.require.php
(↓実際はincludeの項に書かれている)
> "URL fopenラッパー"が 有効になっている場合
> (デフォルト設定では有効です)、ローカルなパス名 の代わりに
> URL(HTTP経由)を用いて読み込むファイルを指定することが可能です。
但し
> PHP 4.3.0より前のバージョンのWindows版PHPは、
> 現在この関数に関してリモートファイルアクセス機能をサポートしていません。
> これは、allow_url_fopenを有効にした場合でも同様です。
まず、ググる前にPHPリファレンスを見て、関数の使い方が正しいか、
どのようなオプションで関数の挙動が変わるのか調べてみるべし
http://jp2.php.net/manual/ja/index.php
それでも動かなかったらまたこのスレにおいで
まあ>>873のいうことが一番ごもっともな意見だ
0876nobodyさん
05/02/04 17:05:28ID:???テキストエディタの検索で使ってるので「URLの表し方」とかそういうのは分かるのですが
PHPで正規表現を使い文字列の一部を取り出すにはどうすればいいのでしょうか?
$all = "今日も天気が良いので眠いな";
というような変数から「今日も天気が[.*]な」を検索し、左記の「[.*]」部分を文字列strに入れるには
どう組めばよいのでしょうか・・・?(この場合なら$strに「良いので眠い」を代入させたい)
多分凄く初歩的なことだと思うのですが初歩的すぎて正規表現解説ページで該当する箇所を
見つけられません・・・。ご存じの方よろしくお願いいたします。
0877nobodyさん
05/02/04 17:13:51ID:Edgmb0VgPHPを最新のものにしたら正常に表示されました。どうもありがとうございます。
>>873
ローカルパスで指定しているとウェブにアップするときに書き換えるのがめんどくさかったので
HTTPで開いてたのですが、普通だと皆さんどのようにしてるのでしょうか?
どこかに各ファイルへのパスを指定してあるファイルを用意して
それを毎回読み込んでフッタを表示させるようにし、
ウェブにアップする際にはそのパスを指定してあるファイルだけを
書き換える、という方法なんですかね?
0878nobodyさん
05/02/04 17:19:17ID:???まずはココ
http://jp2.php.net/manual/ja/pcre.pattern.syntax.php
0879nobodyさん
05/02/04 17:59:11ID:???ディレクトリ構造(DOCUMENT_ROOT以下、includeディレクトリなど)を本番と同じにしたテスト環境を用意する。
0880軟式PHP
05/02/04 18:00:02ID:???$strValue = "今日も天気が良いので眠いな天気がなんとな";
preg_match( "/今日も天気が(.*)な/", $strValue, $match1 );
print $match1[1] . '<br>';
preg_match( "/今日も天気が(.*?)な/", $strValue, $match2 );
print $match2[1] . '<br>';
正規表現はマニュアルからだと難しいかもしれんから
http://www5a.biglobe.ne.jp/~n_rieko/perl/8.htm
とか簡単そうなところから勉強してみては?
0881nobodyさん
05/02/04 18:15:19ID:???0882nobodyさん
05/02/04 19:16:34ID:u3cic1J6それぞれの配列を作った場合、対応関係は保持されることが保障されているのでしょうか?
例えばこのような例を考えた時に
$a = array('a' => 'apple', 'i' => 'iron', 'u' => 'ugly', 'e' => 'english', 'o' => 'only');
print_r(array_keys($a)); print_r(array_values($a));
として自分で実験してみたら、結果が思い通りとなり順番どおりに並んでくれました。
Array( [0] => a [1] => i [2] => u [3] => e [4] => o )
Array( [0] => apple [1] => iron [2] => uly [3] => english [4] => only )
このように常に対応関係が保持されるのかされないのかご存知の方が
いらっしゃいましたらどうかよろしくお願い致します。
もし対応関係が保持されない場合は
foreach ( $a as $key => $val )
{
$keys[] = $key;
$vals[] $val;
}
のようにすればできると思いついたのですが、もっと良い方法をご存知の方が
いらっしゃいましたらどうかよろしくお願い致します。
0883nobodyさん
05/02/04 20:30:00ID:E7qef8MCStrictなHTMLを吐き出すPHPスクリプトを作ろうと思い
<?xml〜を直に記入したらエラーになったため
<?php
print "<?xml〜";
?>
<!DOCTYPE〜>
<?php
本体
?>
と記述して事なきをえたんですが
設置後に見ると何故かHTMLソースの上に一行空白がありました。
これはどう対処すればよいでしょうか?教えて下さい
0885nobodyさん
05/02/04 20:37:54ID:???0887nobodyさん
05/02/04 20:46:57ID:???共有なんだからデフォルトOffで好きなやつだけHtaccess弄ればいいのに
0888nobodyさん
05/02/04 20:49:18ID:???0889nobodyさん
05/02/04 20:49:49ID:???こう書いてみたが別に隙間なんか出てこないよ
PHP4.3.10ね
------------
<?php
print "<?xml
aiueo
?>";
?>
------------
隙間が出来るのはホントに上が1行空いてるからだと思うよ
0890nobodyさん
05/02/04 20:56:24ID:???0891nobodyさん
05/02/04 21:28:39ID:???<?php
?>
とか
0892nobodyさん
05/02/04 22:04:54ID:HCHebah7と同じ内容をwhileで書こうとおもい
下のように記述したのですが上手く動きません。
どこがおかしいのでしょうか??
$fp = fopen("xxx.txt","r");
while (!feof($fp)) {
$dat = "";
while (substr($dat, -1) != "\n"){
$dat .= fgets($fp,256);
}
$file[] = $dat;
}
0893nobodyさん
05/02/04 22:06:35ID:???0894892
05/02/04 22:11:15ID:???0895nobodyさん
05/02/04 22:14:38ID:???0896nobodyさん
05/02/04 22:39:24ID:???そしてPHPの<? ?>こういうのを埋め込んだら拡張子は.phpにしなければいけないのでしょうか?
どこを見てもそんな事が書いてなかったので質問させていただきました。
0897nobodyさん
05/02/04 23:56:04ID:???何を言っているのかわからない。
PHPとXMLは直接関係無いぞ。
〜拡張子は.php〜別にどうでもいい・・・
Web鯖の設定さえできてれば、.htmlでもなんでも処理できる。Web鯖の設定ができていればね。
0898nobodyさん
05/02/04 23:57:01ID:JB/Xwm8rバージョン5.0.3を日本語対応させようとしたんですけど、
文字化けしてしまいます。
php.iniでは、
default_charset Shift_JIS
mbstring.language Japanese
mbstring.internal_encoding EUC-JP
mbstring.http_input auto
mbstring.http_output SJIS
mbstring.encoding_translation On
mbstring.detect_order auto
mbstring.substitute_character auto
mbstring.script_encoding EUC-JP
日経ソフトウェア1月号に載っていた設定そのまんまです。
SJISやSift_JISなんて表記が混在していても大丈夫なんでしょうか。
バージョン4なら日本語化されているので、最悪そちらを使う、
という手もあるのですが、それでは敗北なので。(笑
どなたか教えてください。
0899nobodyさん
05/02/05 00:06:11ID:???outputがSJISになってるが、ほんとにSJISでHTMLが出力されてるかソース表示して確かめよ。
SJISだったならばmetaタグにsjis指定を記述してブラウザに解釈させよ
>バージョン4なら日本語化されているので
初めて触ったのにこんな情報どっから仕入れてきたんだ?
0901898
05/02/05 00:18:59ID:???バージョン4については、日経ソフトウェアに書いてあったのですよ。
1月号だから、今からは買えないけど、何ページにもわたって
書いてあったので、助かりました。
これから試してみます。
レス数が900を超えています。1000を超えると表示できなくなるよ。