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

【PHP】下らねぇ質問はここに書き込みやがれpart10

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2005/09/25(日) 02:03:45ID:nLUfPXhD
PHPに関するくだらない質問用すれです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい

・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
08778762005/10/14(金) 18:40:29ID:???
現在、9行目にだけテストと入れていますが
他のアルファベットの部分を日本語にしたいのです。
上の構文でもグラフは出力できますが、日本語の部分は文字化けしています。
0878nobodyさん2005/10/14(金) 18:46:29ID:???
スクリプトのエンコーディングが何か書いてないけど、
当然ながら
jpgraphに渡される文字列がUTF-8になっていますよね?
0879nobodyさん2005/10/14(金) 20:13:59ID:???
>>876
まだ、やってたのか…
0880nobodyさん2005/10/14(金) 20:51:06ID:???
テキストファイルなんかに書き込むときに
ファイルの最初にどんどん挿入していく方法ってありますか?

たとえば

1
2
3

とあったときに4を一番上の行に追加して

4
1
2
3

としたいのですが。
0881nobodyさん2005/10/14(金) 20:55:27ID:???
>>432
>>880

こいつら面白いな
0882nobodyさん2005/10/14(金) 21:00:25ID:???
ボケちゃったおじいちゃんカモシレナイよ
0883nobodyさん2005/10/14(金) 21:01:35ID:???
>>881
ワロスwwww
同じじゃねーかwwww
0884nobodyさん2005/10/14(金) 21:02:09ID:???
日本語理解できねんだろ
0885nobodyさん2005/10/14(金) 21:21:55ID:???
質問した俺もワロスww
0886nobodyさん2005/10/14(金) 21:24:45ID:???
よく読んだらちょっと違う。
俺の場合はDB使わずに、普通にファイル読み込んで、先頭の行に挿入するという方法が知りたいのです。
正規表現で ^ でリプレイスするというような方法しかないですか?
0887nobodyさん2005/10/14(金) 21:29:56ID:???
正規表現で置換とかどっから仕入れたネタですか
0888nobodyさん2005/10/14(金) 21:39:17ID:87Z0VpJT
ファイル削除について質問なのですが、このようにワイルドカードを使って
同名で別の拡張子のファイルを消す良い方法はあるんでしょうか?
ちなみにこれ↓ではダメでした…。

$del_file_name='/usr/local/apache/htdocs/img/'."img_001".'.'."***";
unlink( $del_file_name );
0889nobodyさん2005/10/14(金) 21:46:13ID:???
>>888
ライブラリ使わないとなると、globとかでリスト作って一個ずつ消すしかなさそう
``でシェル呼べばそれで終わりだけどね
0890nobodyさん2005/10/14(金) 21:56:45ID:???
>>888
マニュアルに参考になるサンプルって結構あるよね。
unlink

To delete files using wildcards:

<?
function delfile($str)
{
 foreach(glob($str) as $fn) {
  unlink($fn);
 }
}
?>
0891nobodyさん2005/10/14(金) 22:01:11ID:???
>>886
殆どのファイルシステムでファイルの書き込みは
良くてデータの追記ができるぐらいで、データ全体の置換が普通。
0892nobodyさん2005/10/14(金) 22:06:41ID:???
>>889>>890
やはりマニュアルを読破しないとダメですね…
ありがとうございます!。
0893nobodyさん2005/10/14(金) 22:06:54ID:???
ギャップを用意するとか分割するとか出来るけど
データ構造がわからんと何とも言えん。言えることは「DB使え」のみ
0894nobodyさん2005/10/14(金) 22:21:47ID:???
>>886
そんなアルゴリズムは捨てちまえ。

追加は、ファイルのけつにするもんだ。
0895nobodyさん2005/10/14(金) 22:25:33ID:???
頭が尻みたいな形の奴もいるけどな
0896nobodyさん2005/10/14(金) 22:30:45ID:???
>>886
追加は末尾にして,使うときに並べ替えるとか
0897nobodyさん2005/10/14(金) 23:18:42ID:???
input.phpの内容が↓な感じで

<FORM action="input.php">
<INPUT type="text" name="data1">
<INPUT type="text" name="data2">
<INPUT type="text" name="data3">
 :

input.php の中で data1〜n に入力ミスがないか調べた上で、
data1〜n に入力されたデータを output.php に送りたいのですが、
これは一体どうやれば良いのでしょうか?
header("Location:")を使うと値は渡せませんし…。

入力ミスがあった時は「エラー!! **個目のデータを入力し直して下さい」と表示し、
入力ミスがない場合は次のステップへ進む、という処理をしたいのです。
0898nobodyさん2005/10/14(金) 23:24:15ID:???
色色方法はあるが、とりあえずこの機会にセッション覚えたら
0899nobodyさん2005/10/14(金) 23:29:02ID:???
>>898
解答ありがとうございます。

セッション変数にそんなに多量の情報をブチ込んでも大丈夫なんですか?
ログインの過程でセッションを触ったので、セッション変数でのやり方なら分かるんですが、
何かスマートでない感じがして…。
0900nobodyさん2005/10/14(金) 23:41:17ID:???
>セッション変数にそんなに多量の情報をブチ込んでも大丈夫なんですか

具体的に
09018762005/10/14(金) 23:42:44ID:???
>>878
エンコーディングってファイルとして保存するときに設定するやつのことですか?
それなら、EUCと改行はLFにしています。
訳の分からないことを言っていたら、教えて頂けたらありがたいです。
0902nobodyさん2005/10/14(金) 23:43:13ID:???
<INPUT type="text" name="data1">
<INPUT type="text" name="data2">
<INPUT type="text" name="data3">
 :

と書きましたがこれが結構あるんです。最大で50個程度。
0903nobodyさん2005/10/14(金) 23:51:47ID:???
>>902
それがセッションにどういう問題を引き起こすのかってこと
0904nobodyさん2005/10/14(金) 23:53:41ID:???
表示部分を各phpファイルから独立させて、フラグ(ここでは入力チェックの合否)に応じて、
表示に使うファイルをincludeなりrequireなりするとややこしくならなくてよいような。

>>901
jpgraphに渡す文字列はUTF-8にしてあげてください。
0905nobodyさん2005/10/14(金) 23:56:39ID:???
>>903
と言う事はセッション変数に多量の情報を入れても大丈夫なのですね。
ありがとうございました。
0906nobodyさん2005/10/15(土) 00:00:18ID:???
>>905
それは実装次第だから分からんし保証もでけん
やはりこれを機にSession覚えたほうがよさそうだよ
0907nobodyさん2005/10/15(土) 00:09:58ID:???
>>904
これどっちが主流なんだろ
エントリポイント一つの方が作りやすいけど
フォワードするケース多いよね
0908nobodyさん2005/10/15(土) 01:17:43ID:???
ファイルの先頭に挿入する方法が現実的ではないらしいので、
ファイルの後ろに足して、あとから後ろから数行だけ読み込むって処理はできますか?
feofなんかで回して止まった時点の直近の配列数個とかいう手段以外でもっとスマートなやり方が
あればいいんですが、どうなんでしょうか。
0909nobodyさん2005/10/15(土) 01:30:39ID:???
>>908
自分が作ったファイルだけ相手にするんだったら一行の文字数を固定すると色々楽
0910nobodyさん2005/10/15(土) 01:32:38ID:???
>>908
>>874とか。ファイルの操作ならtailやtocを参考にしてみては

質問自体はFAQだけど、データ構造しだいだから解答しようがない
スマートにやりたいならスマートなアルゴリズムで扱える構造に設計するしかないよ
0911nobodyさん2005/10/15(土) 01:33:13ID:???
×toc
○tac
0912nobodyさん2005/10/15(土) 01:40:13ID:???
>>910
そりゃそうだ
データが分かってりゃもう出来たようなものじゃん
0913nobodyさん2005/10/15(土) 01:42:28ID:???
>>908
改行なんてものは単なる文字の1つなんよ。
言ってしまえば、aとかbとか他の文字とおんなじ扱いなので、
行を単位にして(その部分だけに)アクセスしたり編集(挿入・削除・追加 etc)する方法は無いんよ。
どうしてもやりたきゃプログラムを書く人が自分でやれってな感じ。
0914nobodyさん2005/10/15(土) 01:44:13ID:???
判りやすい説明だ。
0915nobodyさん2005/10/15(土) 01:51:20ID:lw7SpU92
書くときは末尾に追加して読むときは配列に読み込んで反対にすりゃいい
09168762005/10/15(土) 02:41:12ID:???
>>904
UTF−8で渡すとは、つまり、>>876を保存するときにUTF−8とLFで
保存すれば良いのでしょうか?それでしたら、もうやってみたのですが普通に文字化けしているのです。
0917nobodyさん2005/10/15(土) 02:45:58ID:???
904は
$objGrh->xaxis->title->Set(mb_convert_encoding("テスト", "UTF-8", "auto"));
ということをいいたいんじゃまいか?
0918nobodyさん2005/10/15(土) 02:52:10ID:???
もりあがっていこうよ!!
09198762005/10/15(土) 03:09:54ID:???
>>917
ご支援ありがとう。
$objGrh->xaxis->title->Set("テスト");の行の下に足してみました。
その後、上の行を消し代わりに入れてみました。
ですが、文字化けには全く変化がありませんでした。
0920nobodyさん2005/10/15(土) 03:29:01ID:???
SetFontした?

$objGrh->title->Set("bbb");
$objGrh->xaxis->title->Set("ccc");
$objGrh->yaxis->title->Set(mb_convert_encoding("テスト", "UTF-8", "auto"));
$objGrh->yaxis->title->SetFont(FF_GOTHIC, FS_NORMAL, 16);

xaxisのタイトルに2回Setしてるけど?
0921nobodyさん2005/10/15(土) 03:33:57ID:???
というか、876よく見たら
>フォントを呼び出すにはどうすればよいのでしょうか?当然ながら
>$graph->title->SetFont(FF_PMINCHO);ではなりませんでした。
これ
$graph->title->xaxis->SetFont(FF_PMINCHO);
じゃないの?
0922nobodyさん2005/10/15(土) 03:35:16ID:???
↑ごめん、間違えた
$graph->xaxis->title->SetFont(FF_PMINCHO);
09238762005/10/15(土) 03:44:59ID:???
>>920
していませんでした。先ほどの書き込みに習い8行目以降をそのまま
コピペしてみましたが、やはりなりませんでした。
設定ミスなど、どこか根本的なエラーがあるのでしょうか?
09248762005/10/15(土) 03:50:02ID:???
>>921-922
すみません。>>876で記載したURLに載っていたので、そのまま引用しました。
あの構文は、未だに全く理解できません。
0925nobodyさん2005/10/15(土) 04:17:10ID:???
876のURLの2、3と4は自分の設置したフォントのディレクトリを指定した?
1の通りにfontを解凍すれば問題ないと思うけどねぇ

バージョンでも違うみたいだから
http://www.gadgety.net/shin/tips/unix/php-gd.html
ここも参考に
0926nobodyさん2005/10/15(土) 04:42:07ID:8GPgJI8N
PHP4.4.0でも使用できるアクセレーターってありますか?
eアクセレーターはちゃんと動かないし、Zend Optimizerは未対応といわれて、動作しませんorz
0927nobodyさん2005/10/15(土) 12:47:45ID:???
>>908
1レコード1ファイルで連番付けて保存しとけば?
所詮テキストファイルで管理できる程度のレコード数なら無問題
0928nobodyさん2005/10/15(土) 12:57:38ID:???
とあるサンプルコードに
function hoge ($params, &$result) {
  ・・・
}
という記述がありました。

この &$result についている & の意味(効能)を教えてください。
0929nobodyさん2005/10/15(土) 13:04:02ID:???
マニュアルに書いてある
0930nobodyさん2005/10/15(土) 13:21:28ID:???
>>928
ドキュメントを読むか、簡単なプログラムを書いて自分で確認する癖を付けた方が良かっぺ。

<?php
function hoge ($params, &$result) {
$params = '1'; $result = '2';
}

$workparams = 'A'; $workresult = 'B';

hoge($workparams, $workresult);

echo "workparams = $workparams<BR>";
echo "workresult = $workresult<BR>";
?>
0931nobodyさん2005/10/15(土) 13:23:15ID:???
>>928
まあ一応リンクくらい貼っておきますか
http://www.php.net/manual/ja/language.references.pass.php
0932nobodyさん2005/10/16(日) 06:18:31ID:???
もし管理人が死んだ場合、サイトにその旨を表示させるにはどうすればいいですか?
どこを監視すれば管理人の生死について出来るだけ正確な判定できると思いますか?
09339262005/10/16(日) 06:42:28ID:???
自己解決しました。
4.4.0に合うアクセレーターは見つからなかったので、4.3.11のportsを拾って再構築してeAcceleratorを入れました。
0934nobodyさん2005/10/16(日) 06:53:31ID:???
>>932
知り合いに頼んでおくのが一番
0935nobodyさん2005/10/16(日) 07:01:48ID:J/3a2VXK
1カ月くらい更新してなかったら死亡用ファイルを更新なり読み込みなりすりゃいいんじゃないの。
0936nobodyさん2005/10/16(日) 07:31:21ID:???
一番確実なのは市役所の住記情報だな
アクセスできるかどうかはわかんないけど
0937nobodyさん2005/10/16(日) 09:27:28ID:???
ミケネコさんを
思い出しちゃった…合掌
0938nobodyさん2005/10/16(日) 11:43:02ID:RSZhtmwP

これもVIPクォリティ?
小学6年生の男女が裸体うp祭り中!!!

VIPになら小学6年生ぐらいは来てるだろ?
http://ex11.2ch.net/test/read.cgi/news4vip/1129427490/
0939nobodyさん2005/10/16(日) 12:04:18ID:???
PHPくだスレにVIPPERが多い件について
0940nobodyさん2005/10/16(日) 15:01:33ID:4AFyuy0O
test.php?query=aaa
の形ではなくて
test.php?aaa
のようなクエリーを受け取る方法を教えてください
変数はどんなんになるんでしょうか
0941nobodyさん2005/10/16(日) 15:03:48ID:???
>>940
ネタなら面白くない。

マジレスするなら$_SERVER['QUERY_STRING']
0942nobodyさん2005/10/16(日) 15:07:54ID:???
>>941
$_GETじゃないんですね
ありがとうございました
0943nobodyさん2005/10/16(日) 15:12:11ID:???
補足というか蛇足かもしれないけど,
PATH_INFOやmod_rewriteについてもそのうち調べてみれば?
test.php?aaa の ? なしにデータを受け取れるようになるよ.
0944nobodyさん2005/10/16(日) 15:16:36ID:???
>>943
こういうのがあるんですね、知らなかったです。
ちょっと検討してみます。
ありがとうございました。
0945nobodyさん2005/10/16(日) 15:38:00ID:???
>>943
PATH_INFO、俺だけかもしれんがちょっと使いづらい。
0946nobodyさん2005/10/16(日) 16:22:25ID:2l1eRJuS
教えてください。

perlでa〜zを配列に入れるばあい下記のようにすると思いますが
@a=('a'..'z');

phpではこのようなことできないのでしょか?

$a=array('a'..'z');

ってだめなのですが、他にやり方あるのでしょか?
0947nobodyさん2005/10/16(日) 16:39:33ID:???
きれいな感じなのはないんじゃない。forで回したりするくらいかね。
0948nobodyさん2005/10/16(日) 16:45:42ID:???
ここでトリッキーなコード登場

       ↓
0949nobodyさん2005/10/16(日) 16:47:48ID:???
$a = array();
for($i = ord('a'); $i <= ord('z'); $i++) {
    $a[] = chr($i);
}

var_dump($a);

C言語風だけどこれしかないんじゃないかな・・・
やったことないからしらねww
0950nobodyさん2005/10/16(日) 16:49:35ID:???
$s='abcdefghijklmnopqrstuvwxyz';
これを上手く使えんかな
0951nobodyさん2005/10/16(日) 16:50:51ID:???
特にトリッキーでもなかったので再挑戦↓
09529462005/10/16(日) 16:52:24ID:???
>>947-950
皆さんありがとう!

ごめんなさい自己解決してしまいました。
なんか

$a=range('a','z');

で行くみたいです。
0953nobodyさん2005/10/16(日) 16:53:58ID:???
元質問者が一番スマートな回答をした件について
0954nobodyさん2005/10/16(日) 16:55:14ID:???
>>952
あれ,既にあったのか.
さすがPHPだなー,なんでも関数になってる.
0955nobodyさん2005/10/16(日) 16:56:29ID:???
>>952
tricky !!
0956nobodyさん2005/10/16(日) 17:34:25ID:???
PHP関数の全体なんて把握できねぇよヽ(`Д´)ノウワァァァン
0957nobodyさん2005/10/16(日) 17:45:55ID:???
ファイルのアップロードフォームで、ファイルサイズが大きい場合、
ブラウザが読み込み中になるのですが、その間に「処理中」という風に
別のメッセージを出す事って可能なのでしょうか?

サーバでの処理が長い場合は、別メッセージを出す事は可能なのですが
クライアント->サーバ間の処理が長い場合はどうすれば…?
0958nobodyさん2005/10/16(日) 17:51:57ID:???
>>947,949,950
がんばれ
09599492005/10/16(日) 18:27:52ID:???
>>958
だって,車輪探すより作った方がはえーよwww

・・・マニュアルでも眺めるとするか
0960nobodyさん2005/10/16(日) 18:29:28ID:???
>>957
PHP-users ML の過去ログ検索で探すと
それ関連の話がいっぱいでてくるかもしれない.
09619572005/10/16(日) 19:03:24ID:???
>>960
PHP-usersの過去ログ検索は一通りしたのですが、クライアント側からデータを
サーバに受け渡すのに時間がかかる場合のものは見つかりませんでした。

サーバでの処理に時間がかかる場合にメッセージを表示させたりというのはあった
のですが。

フォームからsubmitするときに、2つのプロセスを立ち上げて片方は「アップロード中」
というメッセージを表示して、もう一つのプロセスでファイルアップロード自体を
扱うという事が出来れば良いのですが…。
0962nobodyさん2005/10/16(日) 19:36:30ID:PiJRyBSb
PHPに関する資格ってありますか?
0963nobodyさん2005/10/16(日) 19:37:35ID:???
ないんじゃないの
0964nobodyさん2005/10/16(日) 19:39:34ID:PiJRyBSb
やっぱりそうですか
なんか資格とればっていわれたので
0965nobodyさん2005/10/16(日) 19:51:33ID:???
あるけど、取るほどの資格じゃないでしょ。
それにメジャーじゃないし。
0966nobodyさん2005/10/16(日) 19:51:35ID:???
>>964
すまんあった
http://www.zend.co.jp/certification/
0967nobodyさん2005/10/16(日) 19:55:33ID:???
自分は普段PHPがよくわからなかったのでCGIを全てperlですましていたのですが、
この度アクセスログを取ることにしたのですが、負荷の問題を考え、PHPを使おうと思いいろいろみて調べ、
PHPのタグをトップページに埋め込もうと思いました。
しかし、環境変数の取得方法がわかりません…

もしよろしければ、来訪者の環境変数を、丸ごとでよいのでそのままdatファイルに吐いていくコードを教えていただけないでしょうか…?シンプルなものでよいので
よろしくお願いしますm(_ _)m
0968nobodyさん2005/10/16(日) 20:03:08ID:6lmrKTje
>>966
検定と資格を間違えるな
0969見習い ◆DVsUJRCU3g 2005/10/16(日) 20:03:18ID:???
>>967
<?php
print_r $_SERVER;
?>
0970nobodyさん2005/10/16(日) 20:07:34ID:???
>>967
アクセス解析のプログラムなんて腐るほどあると思うんだけど,
自作する必要あるの?
ttp://small.littlestar.jp/doki/catid_11_blogid_5.html
0971nobodyさん2005/10/16(日) 20:27:24ID:???
>>967
perlやってりゃ少しググれば組めそうなものだが
0972nobodyさん2005/10/16(日) 20:40:12ID:???
>>967
は質問内容から、何も判っていないのでは?と思われる。
・PHPがよくわからなかったのでCGIを全てperlですましていた
・負荷の問題を考え、PHPを使おうと思い
・PHPのタグをトップページに埋め込もうと思い
・シンプルなものでよいので
あたりからプンプン臭ってくる。
0973nobodyさん2005/10/16(日) 20:57:32ID:???
学校の宿題なら自分でやろうな.
それか分からないところを整理してから質問してくれないと.
0974nobodyさん2005/10/16(日) 21:06:13ID:???
>>950
ガッ!!
0975nobodyさん2005/10/16(日) 21:15:54ID:???
$s[index]てな使い方を言いたかったんじゃないかな。
まぁ、range()使うのが素直なやり方だけど。
$s='abcdefghijklmnopqrstuvwxyz';
for($i=0;$i<strlen($s); $i++) echo $s[$i]."<br>";
0976nobodyさん2005/10/16(日) 21:18:39ID:???
$s='abcdefghijklmnullpoqrstuvwxyz';
レス数が950を超えています。1000を超えると書き込みができなくなります。