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

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

レス数が900を超えています。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/
0809nobodyさん2005/10/12(水) 22:04:26ID:???
このスレに質問に来るような奴が暇潰しに書いてみた。動作未チェック、エロイ人添削お願い。

<?php
define('CONFIG_FILE', 'config.csv');

$fp = fopen(CONFIG_FILE, "r");
while ($conf = fgetcsv($fp, 1024)) {
$filemtime = filemtime($conf[0]);
if ($filemtime > $latest_time) {
$latest_time = $filemtime;
$msg = conf[1];
$url = conf[2];
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<title></title>
</head>
<body>
<?php
echo date('n/d',$latest_time);
echo '<a href="' . $url . '>' . $msg . '</a>';
?>
</body>
</html>
0810nobodyさん2005/10/12(水) 22:24:32ID:???
コード的には$latest_timeが初期化されてないのと、
データがない場合が想定されてないのとconfの頭に$がない
以外はいいんでないの

動作的には遅そうだけど環境がシビアじゃない or CSVファイルが
小さいならこれでおkという印象

あと、これ echo '<a href="' . $url . '>' . $msg . '</a>'; は
echo "<a href=\"$url\">$msg</a>"; のほうが速いらしいね
エスケープが嫌だから俺は異端のヒアドキュメント派だけど

最後に。
動作チェックしろよ
0811nobodyさん2005/10/12(水) 22:29:29ID:???
出力データはロジックパートで作ってしまって、
HTMLに埋め込むのはecho文だけにしたほうが
0812nobodyさん2005/10/12(水) 22:50:19ID:???
ちょいとお聞きします。
サーバOSはWin2kでサーバはapache使ってます。
で、特定のメンバーにBcc使ってメールを送るもの作ってます。
今はimap_mail関数を使っているのですが処理がものすごく遅いです。
(送信相手は2人で最大でも16人)
mailを送る関数でBccを使い複数のメンバーにメールを送る場合、
どれが一番処理が早いでしょうか?
0813nobodyさん2005/10/12(水) 22:52:56ID:???
>>810
うわ・・凡ミス連発してた。動作チェックはするべきだね・・・。

>>811
次からそうしますね。
0814nobodyさん2005/10/12(水) 23:48:00ID:???
>>807-808
>>809
どうもすみません..(--ゝ
0815nobodyさん2005/10/13(木) 10:03:42ID:???
ラジオボタンを利用した3択のクイズで10秒たてば
どのラジオボタンを押しても”0”という値を他のPHPに送り
10秒以内ならそれぞれのラジオボタンに入れてある数値を送る
という処理をするのにはどうしたらよいでしょうか?
データを送るなどは出来ますが時間制限を設けるとなると分からないので
今回質問しました。 宜しくお願いします
0816軟式PHP2005/10/13(木) 10:14:39ID:???
>>815
セッションにクイズ開始時間を保持させておいて、ラジオボタンの
値はとりあえずそのまま送信させる。
送信後ページで現在の時刻とクイズ開始時間を比較させて10秒以上だったらラジオボタンの値を0にするってのは?
厳密にやらないならJavaScriptで時間制限(timer)・自動送信(location)・ラジオボタンの値(form.elements.value=値)の変更も全部出来る。
0817nobodyさん2005/10/13(木) 10:16:40ID:???
>>815
板違い

サーバーサイドの処理とクライアントサイド処理の違いを認識すべし
漏れならJavascriptを使う
つか、ラジオボタンで3択にすると2回クリックする必要があるので、
それで時間制限アリってのは不親切では?
08188152005/10/13(木) 10:53:39ID:???
>>816さん
返信どうもです その方法で作ってみますね
ありがとうございました

>>817さん
JavaScriptですかぁ Javaの方はいまいち分からないので
816さんの方法で作ってみます
あと板違いすみませんでした・・・
0819nobodyさん2005/10/13(木) 11:32:41ID:???
JavaとJavaScriptは別物だと何度言えば(ry
08208152005/10/13(木) 11:56:32ID:???
セッションについてネットで調べたりしてみましたが出来ませんでした
時間をセッションに入れるには
session_start();
session_register("jikan");
$jikan= date("s");
この様なphpであっているのでしょうか?(エラーが出るので違うと思いますが・・・

それとクイズの問題表示と問題開始時間が決められるのがphp1として
クイズが合っているのか判定するphpをphp2としております
php1からphp2へ,問題開始時間のセッションの値を渡すのも出来ませんでした。
あと時間をifで比べるということもいまいち分かりませんでした、
if( 開始時間+10 > $date_s = date("s")){
答えの値を0
{
この様なif文で出来るのでしょうか?開始時間に+10と書いて+されるのか心配です
データがうまく渡っていなかったので試すことが出来なかったのでお聞きしました。


1.セッションにクイズ開始時間の保存の仕方
2.違うphpにクイズ開始時間の値の渡し方
3.時間を比べて10秒以内だったら答えの値を0にする判定文

以上を教えていただければ非常に助かります
質問も多くて申し訳ないですが 宜しくお願いいたします。
0821nobodyさん2005/10/13(木) 11:59:38ID:geTy/+mk
>>806
C-BOARDとそのオマケにあるだろ。ちゃんと探せや。
0822nobodyさん2005/10/13(木) 12:09:05ID:???
>>820
1と2
セッション使わなくても
ページ内にhiddenで埋めて回答と一緒に返せばよいと思う。
そんなに神経使わなくて良い物でしょ?

3
現在時間から開始時間を引いた値が10以上とする方が楽。
0823nobodyさん2005/10/13(木) 12:18:24ID:???
>>820

--- php1.php ---
<?php
session_start();
$_SESSION['jikan'] = time();

$fjikan = date('Y/m/d H:i:s', $_SESSION['jikan']);

echo <<<EOD
<html>
<body>
開始時間:{$fjikan}
<form action="php2.php" method="post">
<input type="radio" name="answer" value="1">テスト1
<input type="radio" name="answer" value="2">テスト2
<input type="radio" name="answer" value="3">テスト3
<br><input type="submit" value="送信">
</form>
</body>
</html>
EOD;
?>
08248232005/10/13(木) 12:20:06ID:???
続き

--- php2.php ---
<?php
session_start();
$start = $_SESSION['jikan'];
$jikan = time();

$fstart = date('Y/m/d H:i:s', $start);
$fjikan = date('Y/m/d H:i:s', $jikan);
$diff = $jikan - $start;

$answer = $_POST['answer'];
if ($diff >= 10) $answer = 0;

echo <<<EOD
<html>
<body>
開始時間:{$fstart}<br>
現在時間:{$fjikan}<br>
差:{$diff}秒<br>
答え:{$answer}
</form>
</body>
</html>
EOD;
?>
08258232005/10/13(木) 12:24:10ID:???
>>824
php2.phpの</form>を消し忘れた。。。
0826nobodyさん2005/10/13(木) 12:29:55ID:???
>>825
やさしいな( ・∀・)σ)Д`)
0827nobodyさん2005/10/13(木) 13:10:44ID:G6+P+YYd
PHPで、文字列にMigemoのような検索をする方法ってありますか?
最悪、対象はひらがなやカタカナだけでもかまわないんですが。
0828nobodyさん2005/10/13(木) 13:58:42ID:???
自分で、ローマ字列から正規表現を生成するやつを実装しては?
(オープンソースだし、コード読んで移植するのも可)
0829sage2005/10/13(木) 14:12:02ID:I2B+Ardh
なにぶん初心者なので、言葉足らずになるかもしれませんが、教えてください。
PHPで、PSQLデータ内の行の1つを取り出すための言語。
(例、ID・001 name・PC value・300と言うデータの中の300だけを取り出す)
どういう言語なのか、それと使い方も教えてもらえればうれしいです。
言葉足らずでしたら、すいません。
08308152005/10/13(木) 14:12:55ID:???
>>822さん
貴重な意見ありがとうございます
>>現在時間から開始時間を引いた値が10以上とする方が楽。
確かにそのとうりです 勉強になりますありがとうございました。

>>823さん
ソースまで記入してくださり大変感謝です。
やってみたところ無事に秒数を取ることが出来ました。


しかし問題が一つあります
経過時間などもちゃんと表示されて値も渡っているのですが
警告がでてしまいます、以下に記入しています
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Program Files\Apache Group\Apache2\htdocs\kuizu\toi2.php:2)
in C:\Program Files\Apache Group\Apache2\htdocs\kuizu\toi2.php on line 3

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Program Files\Apache Group\Apache2\htdocs\kuizu\toi2.php:2)
in C:\Program Files\Apache Group\Apache2\htdocs\kuizu\toi2.php on line 3

このエラー文を検索してみると結構有名らしく色々出てきました、
php.iniをサイトに書いてある通りにいじったりしましたが
無理でした。 こちらでも現在エラーの原因を探している最中です
もし分かる方がいらっしゃれば教えていただきたいです。
0831軟式PHP2005/10/13(木) 14:13:20ID:???
初心者すぎるだろwww
0832軟式PHP2005/10/13(木) 14:14:55ID:???
アレ。>>831は>>829に対してね。
>>830はsession_startをコードの一番初めに書いていない(何か出力した後にsessionをスタートさせている)んじゃないかな。
08338152005/10/13(木) 14:24:25ID:???
>>832さん
>>session_startをコードの一番初めに書いていない(何か出力した後にsessionをスタートさせている)んじゃないかな。
はい 私もネットで調べてそれは初めに見てみたのですが コードの一番上に記入しておりますので
その事でエラーが出ているという事は無いですね

ちなみにエラー箇所であるtoi2.php on line 3 は >>823さんのコード通りです
0834nobodyさん2005/10/13(木) 14:29:12ID:???
間違いなく先頭から書かれているならsession_start()がある2行目でエラーが出るはずだが・・・
改行があるか、「--- php2.php ---」までコピペしているに1票
08358152005/10/13(木) 14:31:08ID:???
すみません 自己解決いたしました
みなさんこんな超初心者にやさしく回答していただき
本当にありがとうございました。
いつか答える側になれるように勉強がんばります
08368152005/10/13(木) 14:34:32ID:???
834さんの言う通りでした・・
改行がありました 改行もダメとは夢にも思っておりませんでした
お答えいただきありがとうございました
0837nobodyさん2005/10/13(木) 14:40:06ID:???
改行もダメなんだっけ?
0838nobodyさん2005/10/13(木) 14:48:23ID:???
<? が始まる前に改行があったらダメ。
改行文字(1byte〜2byte)が本文として出力される(=本文を出力したのでヘッダ送信も終了した事になる。)
08398232005/10/13(木) 14:52:54ID:???
>>835-836
動いて良かったね。サンプルなんで省略してるけど
$answer = $_POST['answer'];
辺りのコードは、本来はサニタイズする必要がある($answer をどう扱うかにもよるが)。
サニタイズとは?とか、どうすれば?とかは、まったりと勉強してくだされ。
そのまま使用することはないだろうし、勉強中の習作だと思うけど、念のため。
0840nobodyさん2005/10/13(木) 14:55:22ID:???
>>812
imap_mail()でもWinは直接SMTPで送るみたいだから、mail()と多分いっしょ。
リモートのSMTPサーバを利用しているのなら、ローカルにMTAをたてて、
そこにキューを溜めるようにすれば多分速くなる。

ローカルにあるMTAで遅い場合、それはPHPの問題じゃないね。
0841nobodyさん2005/10/13(木) 17:26:33ID:???
なぜPHP-usersに送ったら
確実にヲチスレで嘲笑されるようなくだらねぇ質問が,
このスレでは普通に回答されるのはどうして?
0842nobodyさん2005/10/13(木) 17:36:58ID:???
Formに入力した値を保存ボタンを押すことによってtest.txtに出力しDLが始まるようにしたいのですがなかなかうまくいきません。
test.txtに出力するのと保存を両方処理させるのに困ってます。
どうかご教授くださいお願い致します。
0843nobodyさん2005/10/13(木) 17:46:17ID:???

残念でした
「うまくいきません」はNGワードです
0844nobodyさん2005/10/13(木) 17:58:33ID:???
>>842
まるまる答えを書くのは簡単なんだが、どう上手くいかないか書いた方が暇ネタとして
相手してもらえると思うけど…
まずは
 入力値をtest.txtに保存する処理
 text.txtをダウンロードさせる処理
の2つに処理を分けて、それぞれがキッチリと動くことを念頭においてやってみたら?
0845nobodyさん2005/10/13(木) 19:14:00ID:???
>>829
PSQLっていう名前のデータベースまたはデータストレージ製品つうのが思い浮かばない。
PostgreSQLにpsqlっていうツールはあるけど。

まあPSQLというぐらいだから、SQL(問い合わせ言語)が使えるんじゃないの。
SQLにも細かいところで差異はあるけど、標準的な仕様に合わせるように極力してる筈
だから、一般的なSQLについて調べると良いよ。初心者向けの本も沢山出てる。
例の場合、「SELECT value FROM テーブル WHERE ID='001' AND name='PC'」とか。
普通IDはユニークな値とするものだから、AND以降は不要かもね。
0846nobodyさん2005/10/13(木) 21:30:55ID:???
>>841
・下らねぇ質問スレだから
・暇な人が居るから
0847nobodyさん2005/10/13(木) 21:52:25ID:???
×暇
○物好き
0848nobodyさん2005/10/13(木) 21:58:47ID:???
そうとも言う
0849nobodyさん2005/10/14(金) 01:03:05ID:???
PHP-usersには、他人をバカにすることでしか自尊心を保てないような器の小さな人間が多いから。
このスレには、つまらない知識の独占なんてバカバカしいと思ってる度量の広い人間が多いから。
0850nobodyさん2005/10/14(金) 01:16:58ID:???
正直,ただのひつまぶしだけどな
0851nobodyさん2005/10/14(金) 02:39:53ID:???
>>829

つ http://www.postgresql.jp/

//PostgreSQLじゃなかったらヌルーしてね
0852nobodyさん2005/10/14(金) 10:44:09ID:???
くだ質だから

これに尽きる
0853nobodyさん2005/10/14(金) 13:22:00ID:hq2CEuCn
include関数は負荷は高め?
0854sage2005/10/14(金) 13:22:54ID:/+ebJ9UK
841さん851さん、ありがとうございます。
くだらなさすぎて、スルーされるかと思いました。
参考書も買ったのですが、少し理解力に欠けまして・・・
もう少しがんばってきます。
0855nobodyさん2005/10/14(金) 13:35:54ID:???
テキストファイルで

佐藤
佐藤
鈴木
佐藤
田中
佐藤
田中

と言う感じで書かれている中から同じ名前が3つ以上ある者を
変数に持ってくるにはどうすればいいんでしょうか?
ほんと初心者ですいません・・・
0856nobodyさん2005/10/14(金) 13:51:01ID:???
>>855
1) file でテキストファイルを読み込んで配列に展開
2) array_count_values で 1) の配列を元に配列データと出現回数の連想配列を作成
3) 2) の連想配列から出現回数 >=3 をチョイス
0857nobodyさん2005/10/14(金) 15:42:30ID:???
>>856
すいません、小一時間悩んだんですが出来ませんで、
3) 2) の連想配列から出現回数 >=3 をチョイス 
の所を簡単に書いていただけないでしょうか?
0858nobodyさん2005/10/14(金) 15:47:38ID:???
つ [ foreach if ]
08598562005/10/14(金) 16:16:18ID:???
>>857
う〜ん、余計なお世話かもしれんが…
1)、 2) はまるまる答えを書いているようなもので、唯一 3) が
ロジック(と言うほどのものでもないけど)を考えるところだから、
ここを丸投げしなければならないのはプログラムを作る人としてはつらいかも。

3 回以上出現する名前が複数存在する場合を考慮して配列($achoices)に
格納した例が以下。絶対に複数存在しないのであれば、普通の変数でもいい。

<?php
$alines = file('test.txt');
$anames_counts = array_count_values($alines);

$achoices = array();

foreach ($anames_counts as $name => $count) {
 if ($count >= 3) {
// echo "$name<br>";     //debug
  $achoices[] = $name;
 }
}

print_r($achoices);
?>
0860nobodyさん2005/10/14(金) 16:31:00ID:???
ファイルが小さいなら
名前でソートしてforeach
3連続ヒットでピックアップ

でかいならwhileで一行ずつ読み
if (isset($count[$name])) $count[$name]++; else $count[$name]=1;
のように集計

もしくはDBに突っ込んで
SELECT name, COUNT(name) AS num FROM test GROUP BY name HAVING COUNT(name) > 2;
0861nobodyさん2005/10/14(金) 16:38:51ID:???
>>853
別に。
0862nobodyさん2005/10/14(金) 16:39:51ID:???
ちょっとワロタ
08638552005/10/14(金) 16:56:17ID:???
皆さんどうもすいませんです。
一応配列にはしなかったんですが>>859と同じようにしたつもりなんですが
出力されませんでした。
で、>>859をコピーさせて頂いたんですがやはり出力しません・・・

$anames_counts = array_count_values($alines);
print_r($anames_counts);

だとちゃんと出てくるので何だかよく分からなくなってしまいました。(@_@;)
ご迷惑かけて申し訳ありませんです。
0864nobodyさん2005/10/14(金) 17:06:12ID:???
>>863
おそらくテキストファイルの方がおかしいんじゃない?
ちゃんと1行に1つの名前にしてる?
ファイルのパス間違えてない?
08658552005/10/14(金) 17:17:07ID:???
>>864
新しくtest.txtで打ち直してやってみたんですが、
$anames_counts = array_count_values($alines);
print_r($anames_counts);
だと
Array ( [佐藤 ] => 4 [加藤 ] => 1 [山田 ] => 1 [飯田] => 1 )
で出るんですが、foreachの処理を入れるとやっぱり空白になっちゃいます
0866nobodyさん2005/10/14(金) 17:21:06ID:???
>>865
var_dump($achoices);
すると何てでる?
0867nobodyさん2005/10/14(金) 17:23:52ID:???
タイポだろ
0868nobodyさん2005/10/14(金) 17:25:17ID:???
いや、ifの前の空白のほうが目があるか
0869nobodyさん2005/10/14(金) 17:26:41ID:???
あー原因分かった。
そのままコピペしたんだろ?全角スペースが入っちゃってるでしょ。
全角スペースを消せばOKだ
0870nobodyさん2005/10/14(金) 17:26:58ID:???
>>868
それかと思ったがエラーが出るとは言わずに空白になるって言ってるからな。
0871nobodyさん2005/10/14(金) 17:29:14ID:???
>>870
コンソールじゃないんでしょ
んでerror_reporting(0)という
0872nobodyさん2005/10/14(金) 17:31:42ID:???
試してみた.全角混じってると parse error 出るね.
それ直したらちゃんと動いたよ.当たり前だけどww
0873nobodyさん2005/10/14(金) 17:35:38ID:???
fgets()でファイル全体を舐めずに途中にある一行だけを読む事は
可能でしょうか?
0874nobodyさん2005/10/14(金) 17:38:22ID:???
行の位置が分かればfseek()で可能
08758552005/10/14(金) 17:41:48ID:???
>>868-872
えー、全くお察しの通りでこちらでも動きました。
本当にご迷惑おかけしましたm(_ _)m
ご親切にしてくれた方、有難うございました。
0876nobodyさん2005/10/14(金) 18:18:00ID:???
JpGraphの日本語化について質問です。
http://www.asial.co.jp/products/jpgraph/japanese.phpを参考に変更もしました。
フォントを呼び出すにはどうすればよいのでしょうか?当然ながら$graph->title->SetFont(FF_PMINCHO);ではなりませんでした。
<?php
require_once("jpgraph/jpgraph.php");
require_once("jpgraph/jpgraph_bar.php");

$objGrh = new Graph(450,250,"auto");
$objGrh->SetScale("textlin");
$objGrh->title->Set("bbb");
$objGrh->xaxis->title->Set("ccc");
$objGrh->xaxis->title->Set("テスト");

$data=array(array(500,100),array(400,200));
$objPlot[]=new BarPlot($data[0]);
$objPlot[]=new BarPlot($data[1]);

$objPlot[0]->SetLegend('AAA');
$objPlot[1]->SetLegend('BBB');

$objPlot[0]->SetFillColor('[email protected]');
$objPlot[1]->SetFillColor('[email protected]');

$objGbp=new GroupBarPlot($objPlot);
$objGbp->SetWidth(0.80);
$objGrh->Add($objGbp);
$objGrh->Stroke();
?>
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なんかで回して止まった時点の直近の配列数個とかいう手段以外でもっとスマートなやり方が
あればいいんですが、どうなんでしょうか。
レス数が900を超えています。1000を超えると表示できなくなるよ。