元スレ【PHP】ID出さんでも質問OKなスレ【初心者歓迎】2
php覧 / PC版 /みんなの評価 : ○
251 = :
全部取ってからでないとソートできないっしょが?
252 = :
$new_file = "hoge.txt"; //新しいファイル名
touch($new_file); //新しいファイルを作成する
file_put_contents("log.txt", $new_file."\n", FILE_APPEND | LOCK_EX); //新しいファイル名をログファイル(log.txt)に追記
$list = file("log.txt"); //ログを配列に読む
$tmp_log = ""; //新しいログ
for ($i = count($list) - 1; $i >= 0; $i--) { //後ろから回す
if ($i > 5) {
unlink($list[$i]); //ファイル削除
} else {
$tmp_log .= $list[$i]."\n";
}
}
file_put_contents("log.txt", $tmp_log, LOCK_EX);
動作確認もしてないし細かいとこが違ってるかもしれんけど
イメージとしてはこんなかんじのことをいった
253 = :
追記の仕様を勘違いしてた&for文とif文の条件がめちゃくちゃだったw
眠くて頭が回らない・・・
254 = :
途中で送信してしまった
252は忘れてちょうだい・・・
255 = :
ISBNコード 書名 価格 出版社
0-0000-0001-2 ガリの穴 25,000円 山田のおばさん
コレをあなたのデータベースに登録してみて下さい
256 = :
したよ
258 = :
いいって何が?
259 = :
>>255
俺もしたけど、まさかコレをデータベース登録したおかげでこの俺に彼女が出来る事になったとは・・・
260 = :
>>257
ロックされないじゃん
261 = :
>>260
file_put_contentsでもパイプでLOCK_EXすればいいんじゃないの?
file_put_contents($file, "hogehoge", FILE_APPEND | LOCK_EX);
こんな感じ。
262 = :
パイプて
263 = :
これはロックされているのか?
264 = :
>>261
> FILE_APPEND | LOCK_EX
これは有効なのか?
マニュアルを見ると、
フラグを組み合わせる際には、論理 OR (|) 演算子で連結します。
FILE_APPENDはLOCK_EX と同時には使用できません。
と読めるのだが...。
「追記はアトミックに行われるためロックは不要」とあるので、
FILE_APPENDの指定だけでログ追記するのに問題はなさそうではあるが。
265 = :
横からで悪いがロックしなくても同時書き込みが発生しても大丈夫ということか?
266 = :
>>265
アトミック(=不可分の)とあるので、一連の操作が邪魔されることがないということなんだろうね。
マニュアルを信じるならば。
古い版のマニュアルでは、
file_put_contents($file, $person, FILE_APPEND | LOCK_EX);
という例が載っているが、
http://bugs.php.net/bug.php?id=49329
で修正されたようだ。
269 = :
php でバッチやるならタイムアウトにならないように注意ね
270 = :
PHPでは、
配列ってシングルクオート入れないと、
正式にはダメみたいだね。
272 = :
anArray['keyString'] の話か?
273 = :
>>272
それそれ
シングルクオート抜いたら、
Noticeが出やがる。
274 = :
何を今更感てんこもりだな・・・
278 = :
define('keyString', 'manuke'); とかあったらバグの元だろうに
280 = :
$anArray[keyString]
定数keyStringを先に探して、なければ文字列'keyString'とみなす。
クオートで囲わなくても動くかもしれないが、それはたまたまだってこと。
>>278はこれを説明している
$anArray[1]
1番の要素。
1は番号であって文字列ではないのでクオートで囲わない。
これで判るかい?
281 = :
2番目の要素だよ
282 = :
>>281
2番目とは限らないし、そもそも「1番目」ではなく「1番」と書いているだろ
ちゃんと読め
284 = :
ん?
1番と書いてるんだから最初の要素のつもりだろ、っていう意味かな?
背番号1番=1番目の打者ではない、という説明で判ってもらえるだろうか
285 = :
もっと具体的に説明した方がいいと思うよ。
ほのめかすような書き方だと2chでは攻撃されたと思う人が多いから。
286 = :
>>234
>>236
お礼遅れて申し訳ありません。
解決しました!ありがとうございます!
287 = :
PHPの配列は、数値であっても番号と言うよりただのキーだから、
何番目というのはあまり意味が無い。
$ar[2]=2 ;
$ar[0]=0 ;
$ar[1]=1 ;
print_r($ar) ;
結果
Array
(
[2] => 2
[0] => 0
[1] => 1
)
288 = :
ただのキーだから「何番」というのもおかしい
289 = :
>>288
foreach の出力の順とかあるでしょ
290 = :
foreachの順番は配列の内部順番。 配列のソート関数はソレを並び替えるもの。
291 = :
>>288
別におかしくないだろ
292 = :
ん?どういうこと?
順序が関係ないって上で言ってるのに矛盾してるぞ?
293 = :
>>292
背番号の説明で理解できなかったか?
294 = :
>>289や>>290でしてる順番の話と背番号の話がどう関連?
295 = :
>>294
あー、それは俺が書いたんじゃないから知らん。
ID表示ないんだからアンカー付けてくれよ。
296 = :
勉強しようと思って参考書買って来たけど
外れ引いたっぽ・・・orz
297 = :
アマゾンで書評がついていない本は
買わないほうがいい
298 = :
外れだと理解できるだけの勉強はできたってことだろう
299 = :
$file=fopen($filename, "a");
flock($file, LOCK_EX);
fputs($file, $hoge."\n");
flock($file, LOCK_UN);
fclose($file);
こういうの使い回してるんですが、これってもっとシンプルには出来ないでしょうか?
300 = :
どういう意味でシンプルといってるのかがわからんが
コードを単に短くしたいのならfile_put_contents()使えばいい
file_existsやis_readableなどチェック機構を組み込んだ関数を作るのもよい
みんなの評価 : ○
類似してるかもしれないスレッド
- 【PHP】ID出さなくても質問OKなスレ【初心者歓迎】 (836) - [86%] - 2009/8/18 21:04 ○
- 【PHP】ID出さなくても質問OKなスレ【初心者歓迎】 (1001) - [86%] - 2009/1/28 18:17
- 【PHP】下らねぇ質問はここに書き込みやがれ 69 (1001) - [33%] - 2008/6/25 23:33 ○
- 【PHP】下らねぇ質問はここに書き込みやがれ 70 (1001) - [33%] - 2008/7/19 3:52 ○
トップメニューへ / →のくす牧場書庫について