【PHP】下らねぇ質問はID出して書き込みやがれ 77
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/12/08(月) 01:27:39ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 76
http://pc11.2ch.net/test/read.cgi/php/1226517332/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0331nobodyさん
2008/12/15(月) 11:13:49ID:???その参照先には何も理由とか、無理とか書いてないよな?
だいたい、beginでエラー返してくれるんだったら、何も問題ないわけだが
0332nobodyさん
2008/12/15(月) 14:36:42ID:???0333nobodyさん
2008/12/15(月) 14:52:01ID:???0334 ̄ ̄ ̄ ̄ ̄)/ ̄ ̄ ̄ ̄ ̄ ̄ ̄
2008/12/15(月) 15:11:35ID:vRJjZHan/ ^ ω^j、
_, ‐'´ \ / `ー、_
/ ' ̄`Y´ ̄`Y´ ̄`レ⌒ヽ
{ 、 ノ、 | _,,ム,_ ノl
'い ヾ`ー〜'´ ̄__っ八 ノ
\ヽ、 ー / ー 〉
\ \`ヽ-‐'´ ̄`冖ー-く
|| \ \ \ ∧_∧
|| \ \ \ ( ´Д`) オイ、なんか変なのがいるぞ
|| \ \ \ / ヽ
|| \ \ / | | |
|| \ \∧_∧ (⌒\|__/ /
ヽ( )絶対目合わせるな ∧_∧
/ く \ ( ) うわー、なんか言ってるよ
| \ \/ ヽ
0335nobodyさん
2008/12/15(月) 15:47:28ID:???0336nobodyさん
2008/12/15(月) 16:27:28ID:6UH6h1c5ksort($a,SORT_REGULAR);
print_r($a);
のように5.2.5で走らせると結果が
Array
(
[x] => X
[0] => B
[a] => A
[1] => C
[2] => Y
[3] => Z
)
となってしまい、なんだかおかしい気がします。
SORT_NUMERIC や STRINGの場合はわかるんですが
ksrotでのREGULARってどういうソートを行ってるんでしょうか。
0338nobodyさん
2008/12/15(月) 16:48:12ID:???キーに0が入るとだめだめってことかね
0がないときの動作は正常
<?php
$a = array('x'=>'X','a'=>'A',0=>'B',1=>'C',2=>'Y',3=>'Z');
unset($a[0]);
ksort($a,SORT_REGULAR);
var_export($a);
array (
'a' => 'A',
'x' => 'X',
1 => 'C',
2 => 'Y',
3 => 'Z',
)
0339nobodyさん
2008/12/15(月) 16:56:18ID:???0340nobodyさん
2008/12/15(月) 18:47:16ID:6UH6h1c5>>339
sort asort あたりだとデフォやREGULAR指定でも問題ないんですけどね。
ksortのときだけSORT_STRINGにでもしておかないと場合によっては想定外の動作しそう。
0341nobodyさん
2008/12/15(月) 22:10:30ID:Y6XF9DXsアクセスカウンタ関係とか、
ファイルロック関係とか、
ライブラリみたいな形で
まとまってるものってないの?
0342nobodyさん
2008/12/15(月) 22:18:16ID:Y6XF9DXs解説サイト見ると、
「ファイルがロックされているかどうか、
返り値をみて確認したほうが良い。
ファイルがロックされていないのに
ロックされていると勝手に決め付けて
処理をすすめてしまう可能性がある」
と書いてあるのですが、これって本当に
いちいち確認したほうがいいの?
ロックが取得できなかったときは、
そのまま待機に入るのではないの?
0343nobodyさん
2008/12/15(月) 22:19:42ID:???個人的にはNotice出してくれてもいいくらい
0345nobodyさん
2008/12/15(月) 22:31:29ID:???か向かないのでしょうか?大規模サイトだとパフォーマンスが悪いのですか?
ただ、mixiとかの大規模システムでもphpで運営してるそうなのでその辺りの関係がいまいち分かりません。
そもそもどんな言語で開発をしたとしても最終的に実行される時には、
機械語に翻訳されて実行される訳だから速度なんて変わらない気がするのでが実際のところどうなんでしょうか?
0348nobodyさん
2008/12/15(月) 22:34:02ID:???・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
0350nobodyさん
2008/12/15(月) 22:35:14ID:???0351345
2008/12/15(月) 22:41:53ID:???チキンは嫌い!!
俺から逃げるな!!
0352nobodyさん
2008/12/15(月) 22:42:38ID:SRI0Veq9PHPを開発しているPCが諸事情でネットに繋いでません。
そのPCにZIP圧縮をするPEARを入れたいのです。
PEARのサイトでArchive_Zip-0.1.1.tarをダウンロードして解凍したのですが
それからどうすればいいかが分かりません。
オフラインでこのArchive_Zip-0.1.1をインストールするには
どういう手順になるのですか?
0353nobodyさん
2008/12/15(月) 22:45:08ID:???0355352
2008/12/16(火) 00:14:38ID:p4XUaZgRえっ?それだけ?
眠いので明日起きたら実験してみます。
0356nobodyさん
2008/12/16(火) 00:17:52ID:1rcPvBlh楽天APIのブログのをコピペして使おうと思ってます。
まず必要なものは、パソコン、サーバー、ドメイン、terapad、ホームページビルダーのほかに何がありますか?
terapadで保存したものをサーバーにアップしましたが、保存の仕方が間違ってたのか、うまくいきませんでした。
言語はUTF-8、形式は何で保存したら良かったんでしょうか?
よろしくお願いします。
0357nobodyさん
2008/12/16(火) 00:20:07ID:???うまくいきませんでした、じゃエスパーが来るまでお待ちいただくことになりますが。
エラーの内容をどうぞ。
0358nobodyさん
2008/12/16(火) 00:30:40ID:xUK+da4V(1)ファイルが存在するかどうか、確認する
(2)もしファイルが存在していたら、次の処理に進む
(3)もしファイルがなかったら、「指定されたファイルが存在しません」と
表示して、プログラムを止める
(4)ファイルが読み込み可能かどうか調べる
(5)もし読み込み可能なら次の処理に進む(だめならエラー)
(6)ファイルを読み込みモードでオープンする
(7)ファイルをロックする
(8)ファイルからデータ-を読み込む
(9)データ-を1プラスする
(10)ファイを書き込みモード(ファイルの内容クリア)でオープンする
(11)ファイルにさっき1プラスしたデータ−を書き込む
(12)ファイルをクローズする
こういう、一連の動作をまとめた
ライブラリとかってないんですか?
0360nobodyさん
2008/12/16(火) 00:33:49ID:xUK+da4Vライブラリとかでまとまってるのが
ないかって聞いてるんです
0361nobodyさん
2008/12/16(火) 00:56:53ID:???ライブラリならPEARとか
あとはZend Frameworkをライブラリとして使うかかな
一応FFrameworkとなってはいるが
単体でも使えるように設計されてた筈
まぁどちらを使っても>>358に書いてある
一部の手続きしか行ってはくれないがな
>>356
もうちょっとPHPとは何かを勉強した方が良い
0363nobodyさん
2008/12/16(火) 01:20:15ID:???ない。
他人の作ったライブラリなんてどうやったってかゆいところに手の届かないとこでてくる。
仮に近いライブラリあったとしても手順4がないとか5の間に別のいらない処理入ってるとかで満足いかんだろうな。
正式に依頼して作ってもらうか、自分で作るしかない。
0365nobodyさん
2008/12/16(火) 04:51:23ID:xUK+da4Vファイルが存在するか、確認する、という手順。
これをやったほうがいいのか。
あるいは、@をつけて、エラーメッセージをスルー
したほうがいいのか。意見を述べてください。
0366nobodyさん
2008/12/16(火) 04:53:13ID:???・ 質問者として、態度をわきまえること。
0367nobodyさん
2008/12/16(火) 04:53:37ID:xUK+da4Vこれってエラーが出ないっていうだけで、
スクリプトの実行は中断されず、
実行が進みますよね。
これってまずくないですか?
0368nobodyさん
2008/12/16(火) 05:00:26ID:xUK+da4Vファイルロックの仕組みが最初から
備わってるの?
0369nobodyさん
2008/12/16(火) 05:01:00ID:???∠_ンY7=r'─--- 、:;;__________!__ヽ//-‐ァ
,ハ:::::|l:::::::::r-┐:::::::::::::::::::::7::二7,/ ,. -───-
,.:'" ヘ.,_!!______::::::::::::[]:::l]::::::/::::::::/、 /
-─- 、.,_ ,:' , /  ̄ ̄"''' ー-'-‐ ''"^ ヽ. ,' 大 分 そ
`ヽ. / / / / ; !:.:.:.:.:.:.:.:! ', ヽ. 、 ':, i 変 か う
帰 分 ', ,.イ ,' ,' 、,_!_/」,.ハ:.:.:.:.:.:.ハ _!__ ', ':, ',. | だ. っ か
か i | ! ! /|/ |./ ';.:.:.:/ |.´ハ `ハ ', i <. な た
れ. っ | ! ! レ'r‐'ァ‐-=、 !:.:/ !/_,」_/_ ! i. | !
た >', ,.! ハ ヽ ! Jリ レ' 7´ i´ Jア'ァ ,' i ! ',
か | V`'レ'|:.:.:! `ー ' '、_,ン イi ,ハ | ! ヽ.
ら ,' ! .|:.:.!'"'" , ,.,.,. ハくタく! | `' ー-----‐
ノ | .|:.:人 ___ /:| | ! |
‐--─ ''"´ .! .|:.:.:.| `: 、 ` 二フ u ,ィi:.:.:| ! : !
,' |:.:.:.| | .>.、, ,. イ |:.:.:.! i i |
/ ハ.:.:.! ! /r'|、_`ニ_´ ,ィ|ヽ.|:.:.;' | ! ',
,.'‐'" ̄';.:.!イ"く /__ __/|:::::::レ'_____!_ ! ',
/ レ' /、!::::::ヽ、 ン:::!7"´i / `ヽ、, i
,:' 、/:::;ヘ:::::::::::i-イ::::::::::|]::::::!} ヽ. |
0370nobodyさん
2008/12/16(火) 05:43:21ID:???逆転しそう
0371nobodyさん
2008/12/16(火) 06:17:17ID:???なんで質問してるのかがとても不思議です
0373nobodyさん
2008/12/16(火) 09:33:49ID:7CqC2LzIまだ初学の段階で、画像のアップローダーなら作れるかなと思い挑戦しています。
フォームはコメントとアップロードファイル、それにsubmitボタンのみという構成です。
それらフォームの下にアップロードされた
ファイル名とそれへのリンク、コメントと時間が表示されるようにしたいと思ってます。
具体的にはファイルへの書き込み、どのように書き込めばいいか
またそれを読み込んでどのように表示させたらいいかで悩んでいます。
<?php
//初期値設定
$comment ="";
//フォームのメソッドがPOSTだったときの処理
if ($_SERVER["REQUEST_METHOD"]=="POST"){
//送信されたときの処理
if (isset($_POST["submit"])){
//日付の取得
$now = date("Y/m/d H:i:s");
//タグなどの除去
$comment = htmlspecialchars($_POST["comment"], ENT_QUOTES);
}
0374nobodyさん
2008/12/16(火) 09:34:28ID:7CqC2LzI$pic_name = $_FILES["pic"]["name"];
//サーバにアップされたテンポラリファイル名
$pic_tmp = $_FILES["pic"]["tmp_name"];
//コメントが未入力のときの処理
if (strlen($comment) == 0){
echo "コメントが未入力です。";
}
//現在位置の取得
$path = getcwd();
//OSによりディレクトリの区切り文字を分別・ファイルの保存場所の設定
if (isset($_ENV["OS"]) && preg_match(/windows/i, $_ENV["OS"])){
$path .= "\\";
}else{
$path .= "/";
}
//画像のファイル名およびtmpファイル名が1文字以上のとき
if (strlen($pic_name)>0 && strlen($pic_tmp)>0){
if (is_uploaded_file($pic_tmp)){
if (move_uploaded_file($pic_tmp, $path .basename($pic_name))){
echo "ファイルのアップロードに失敗しました。<br />";
}
}
}
0375nobodyさん
2008/12/16(火) 09:35:36ID:7CqC2LzI$log_file = image.log;
//ログファイルを展開(無い場合は新規に作成)
$fh = @fopen($log_file, "a");
if (!$fh){
exit("ログファイルの展開に失敗しました。");
}else{
//排他ロック
flock($fh, LOCK_EX);
//書き込み内容
$log = $now ."\n";
$log .= $pic_name ."\n";
$log .= $comment ."\n";
//書き込み
fputs($fh, $log);
//ロック解除
flock($fh, LOCK_UN);
//ログファイルを閉じる
fclose($fh);
}
}
?>
0376nobodyさん
2008/12/16(火) 09:36:20ID:7CqC2LzI<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>画像UPローダーβ版</title>
</head>
<body>
<h1>画像UPローダーβ版</h1>
<form action="<?=$_SERVER["PHP_SELF"]?>" method="POST" enctype="multipart/form-data">
コメント<input type="text" name="comment" value="<?=$comment?>" size="50" /><br />
添付ファイル<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
<input type="file" name="pic" size="50" /><br />
<input type="submit" name="submit" value="アップロード" />
</form>
0377nobodyさん
2008/12/16(火) 09:38:28ID:7CqC2LzI//ここでログファイルの読み込みを行い日時・ファイル名・ファイルへのリンクを表示させる処理を行う
?>
</body>
</html>
以上になります。
よろしくお願いします><;
0378nobodyさん
2008/12/16(火) 10:08:36ID:???ログ形式は適当なデリミタを使って(とりあえず<>にする)
日時<>ファイル名<>コメント\nという感じにする
書き込んだログはfile関数で読み込む
fileで読み込んだものは改行ごとに配列に格納されるので
foreach等でまわしてexplodeでデリミタごとにさらに細分化したものを配列に収める
例)
/**
* ここはfileで読み込んだ中身
* $a = file(log_file);
*/
$a = array("2008/12/16 09:30:00<>up0<>コメント1",
"2008/12/16 09:31:11<>up1<>コメント2",
"2008/12/16 09:32:22<>up2<>コメント3");
//入れ物
$b = array();
//explodeで<>ごとに細分化したものを入れ物に格納
foreach ($a as $value) {
$b[] = explode("<>", $value);
}
この時点で$b[0]にはarray("2008/12/16 09:30:00", "up0", "コメント1")が格納されている
あとはこれを使って
for ($i = 0; $i < count($b); $i++) {
echo "<td><a href=\"{$path}{$b[$i][1]}\">{$b[$i][1]}</a></td><td>{$b[$i][2]</td><td>{$b[$i][0]</td>";
}
見たいな感じで表示する
0379nobodyさん
2008/12/16(火) 10:15:16ID:7CqC2LzIすごいです!!
ありがとうございます!!!!!
0380289です
2008/12/16(火) 10:33:55ID:mtsIGhc+http://trombik.mine.nu/~cherry/w/index.php/2005/05/06/152/dbd-sqlite
すいません
上記からの参照先も英語なのですが
結論が分かりません
0381nobodyさん
2008/12/16(火) 11:14:51ID:???0383nobodyさん
2008/12/16(火) 16:22:45ID:UYl9yLz9【PHPのバージョン】php4.4.9、php5.26
【連携ソフトウェア】mysql
【質問内容】
preg系の関数の正規表現について質問です。
PHP4で、preg系でUTF-8を扱う際にuオプションをつけないで運用してたところ
文字化けが起きました。
その後、PHP5で試したところ、そのままで文字化けしませんでした。
ちょっと調べたところ、PHP5では鬼車という正規表現に変わったようですが、
preg系の関数でUTF-8を扱う際にuオプションが必要なのはPHP4までなのでしょうか?
0384nobodyさん
2008/12/16(火) 17:13:25ID:???0385nobodyさん
2008/12/16(火) 19:05:26ID:DMBjIVd30386nobodyさん
2008/12/16(火) 19:07:43ID:???0387nobodyさん
2008/12/16(火) 19:18:44ID:DMBjIVd30388nobodyさん
2008/12/16(火) 19:19:37ID:???0389nobodyさん
2008/12/16(火) 19:57:51ID:???0390nobodyさん
2008/12/16(火) 20:41:15ID:???0391nobodyさん
2008/12/16(火) 20:50:09ID:???"厳密な違い"とはどのレベルのものか、質問の趣旨が不明確。
まずは、マニュアルを引用して、どこが疑問なのか明確にしてくれ
0392nobodyさん
2008/12/16(火) 21:00:25ID:???ヘボはでてくんなっ!
0393nobodyさん
2008/12/16(火) 21:19:48ID:???「基本的なことではなく」って書いてるけど
「基本的」な違いはわかってて、「厳密」を論じるなら、
「厳密な違い」とはどのスコープなのかが書かれなきゃ言及のしようがねぇだろ
0394nobodyさん
2008/12/16(火) 21:25:00ID:???0395nobodyさん
2008/12/16(火) 21:27:36ID:???0396nobodyさん
2008/12/16(火) 21:39:17ID:mtsIGhc+echo は叫ぶ
0397nobodyさん
2008/12/16(火) 21:44:49ID:???l ./====/ \| .l ,、| ./ , 、
/ /.l`‐- ゙、| |=| .i- l ./= ,>
. / |.| || | | |.|`' __'`ノi、l / /
~| |.| !! |.| .|.| | | .|ヽ. ./
| .|.!-'`二l .|| |._| .|/ `‐-
|_,,,| \_丿!-‐'>,.-'゙~`、/
`゙lli、 : 'i,, ..__、 .'''iil、
: .゙lil: .,,,: 、,,,,,,,,ililllll″ .,ll゜.,,f~`゙i,: ,, .,il,,,,,llli、 : _,,,,,,,_:
.:ll ゙゙li,, `: .'ll,,,,,,lllll・ .,ll ,,l° :ll, `゙゙゙゙゙゚ll″..,,,wllilllli、 .,,,,#゙゙゙ ̄: ゙゙゙゙lll,,
.:ll .,. `!li, ''lllll*'l゙゙゙゙゙!l,、 ll,,l゙ .:lll .,il` : `: `` : 'llllll゙゙゜ ゙!l:
ll、 .,l° l!l ..,,,v,v,,,,,llii,, .'!ll .ll° .,il゜ : ,,ll:
.゙l,,,i゙` il゙` .゙゙゙′ .,,ll° .,il′ .:i、 : .,,,,llll゙°
.゙゙!" ゙ll,,,,_、: .,,,、 ._,,rl゙’ il!′ ゙゙!lllllllllllllllli、 `''“ ̄
゙゚゙゙゙゙゙゙゙゙゙゙゜ : ` ``
0398nobodyさん
2008/12/17(水) 00:20:37ID:Q+ZHoejCセッションってページの一番上に
書かないとだめって教科書に書いてあるけど
そうしたら、無料のレンタルサーバーとかで
ページの一番上に自動的に
広告が挿入されるタイプのサーバーだと
「ページの一番上にsession()関数を挿入する」
ってできないから、そういうタイプのサーバーでは
セッションってつかえないってこと?
0399nobodyさん
2008/12/17(水) 00:59:40ID:???HTMLヘッダがsession_start();以前に送られてるとダメ。
ただ無料鯖で試したことないから一概に無理、とは言えない。
試してみてダメなら、管理者に手動で入れたい、って問い合わせてみたら?
0400nobodyさん
2008/12/17(水) 01:07:35ID:Q+ZHoejC解説サイト読んでると、
「読み込みをするだけでも、共有ロックをかけろ」
と書いてあるんだが、本当にそうなのか?
(1)ファイルをオープンする
(2)共有ロックをかける
(3)数値を読み取る
こういう順番にしろ、と書いてあるんだが、本当にそうなのか?
(1)ファイルをオープンする
(3)数値を読み取る
これだとだめなのか?
(2)のときに、他のユーザーがアクセスしてきて、
割り込んで書き込み処理をしようとして
排他ロックをかけると、何か問題がおこるとか?
0402nobodyさん
2008/12/17(水) 01:15:17ID:???よっぽどでかいファイルでもなきゃそうそうないだろうが
ファイル書き込んでる最中に、他の人のファイルを読み込む可能性がある。
あんまり起きないからいらねーやってんなら好きにすればいいがやんないよりはやっといたほうがいい。
0403nobodyさん
2008/12/17(水) 01:23:16ID:Q+ZHoejCAがファイルを書き込みしている途中で
Bがその、中途半端なファイルを読み込んでしまう
可能性があるという意味?
0404nobodyさん
2008/12/17(水) 01:25:48ID:Q+ZHoejC(2)Bがファイルをオープン
(3)Bがファイルを排他ロック
(4)Bがファイルに書き込み開始
(5)Aがファイルを共有ロックしないで読み込み開始
こうなった場合、(5)でAがファイルを読もうと思っても、
(3)で、Aに排他ロックをかけられているのだから、
読み込めないのでは?
それとも、ロックの概念の理解が間違ってる?
0405nobodyさん
2008/12/17(水) 01:34:21ID:Q+ZHoejCファイルをオープンしてからでないと
ロックはできないの?
先にロックしてから
ファイルをオープンしたほうが
安全でいいと思うのだが?
0406nobodyさん
2008/12/17(水) 01:36:22ID:???ファイルロックとか、
ロールバックとか、
トランザクションとか、
の勉強をするのは、
ものすごくおもしろいね!
0407nobodyさん
2008/12/17(水) 01:38:59ID:???1.排他ロック
2.ファイルオープン
3.読み取りOR書き込み
4.排他ロック解除
だと思うんだが。
0408nobodyさん
2008/12/17(水) 01:42:02ID:Q+ZHoejCいやいや、、、
私が読んでる教科書や、解説サイトでは、全部
(1)ファイルオープン
↓
(2)ファイルロック
この順番ですよ。
0410nobodyさん
2008/12/17(水) 01:47:16ID:???あぁわかった。
flock()使う場合は
たしかにファイルオープン→ロック→処理→ロック解放→ファイルクローズだね。
0411nobodyさん
2008/12/17(水) 01:48:59ID:???そそ。
ロック用ファイルなりディレクトリなりをフラグにするなら、
ロックが先でしたってことです。
すまそ。
0412nobodyさん
2008/12/17(水) 01:50:26ID:Q+ZHoejCロック用ファイルを別に用意して、
そのファイルをロックする方式もあるよね。
どっちを使えばいいのかわからんのだけれども。
「こういう方法もあります、
またこういう方法もあります」
って書いてあるだけで、
「どっちを使え」
とは書いてないから。
0413nobodyさん
2008/12/17(水) 01:51:21ID:Q+ZHoejC(B)ロック用のファイル、ディレクトリを別途用意して、それをロックする場合
この2方式があって、話すときは、どちらなのかを
明確にしないと混乱するね。
0414nobodyさん
2008/12/17(水) 02:03:52ID:???PHPならすなおにflock()使うのがいいよ。
ちなみに、fopen()は厳密にいうとファイルを開いてるわけじゃない。
ファイルハンドラを返してるだけ。
だから、ロックがあとでも大丈夫なんだ。
flock()でfopen()で返されたファイルハンドラを指定してるでしょ?
例えば、fopen()してからsleep100秒経過後、fread()したとする。
取得したデータはfopen()した時(100秒前)のデータじゃなくfread()した時のデータになる。
0415nobodyさん
2008/12/17(水) 02:35:07ID:???あんまり厳密に調べたことないからわからんが。
0416nobodyさん
2008/12/17(水) 03:00:59ID:???いい加減迷惑
0418nobodyさん
2008/12/17(水) 03:30:58ID:???何を勘違いしてるんだ?
どっちがいいの?何が一般的なの?
は好きにしろで完結するのがこのスレ
それ以上のものを求めるなら代価を支払え
下らない議論につきあってる必要もないし他の質問者にも迷惑
0419nobodyさん
2008/12/17(水) 03:40:39ID:???ブログなりHP開設してそっちでおおいにやれって感じだな
それかそういう話題の好きな人のHPに積極的に行ってフォーラムに参加するとか
質問もしっぱなしで次から次と質問を変えてくる
どんどん進化する分野でいちいち疑問をもってるようじゃ向いてない
プログラマーは工数を踏んで対処法のノウハウを蓄積するもの
このへんはGoFもそう言っている
頭で考えてるうちは肝心なことはなんも身につかない
態度も悪いしそんな人間には誰も投資しないよ
プログラムのなんたるかを勉強したいなら
まずPHPでやろうというのがそもそもの間違い
適当な言語だから適当にしろとは言わないが
PHPはセキュリティだけに気を払えば後のことはぶっちゃけどうでもいい
もともと性能任せにしたゆとり向けの言語なんだから
ちゃんと学びたいならまずCからやるべき
0420nobodyさん
2008/12/17(水) 04:10:50ID:???付き合わなければいいのになんでわざわざ首を突っ込むの?
それとなんで代表者きどり?
個人的には自治厨のほうがよっぽど迷惑なんだけど
0421nobodyさん
2008/12/17(水) 04:18:47ID:+p3m0j6L保持できるのは次のページの更新があるまでですよね?
ページの更新があっても変数を保持し続けたい(というより更新したい)
のですがどのようにすればいいのでしょう?
例えば$aと$bという変数があって、
1回目のページ送信の時に$aを変更したあと、
2回目のページ送信の時に$bのみを変更した場合、
1回目に送った$aは初期化されてしまいますが、
この$aも保持し続けたいということです。
条件としては、
外部ファイルやhiddenフィールドやCookie(セッション)に持たせる以外の方法で、
何か方法があれば教えてください。
0422nobodyさん
2008/12/17(水) 04:22:13ID:???テンプレ守らない質問者に回答者が回答した結果がスレ分断した原因なのだが
それを知らないなら質問質問連呼してるバカと一緒にあっちのスレ行ってくれ
0424nobodyさん
2008/12/17(水) 05:42:33ID:Q+ZHoejCなるほどね!
それですっきりわかったわ
そういう冴えわたった回答がほしかった
あなたは教え方うまいので
次からも教えてもらえますか?
0425nobodyさん
2008/12/17(水) 05:51:58ID:???疑問にも思わず平気でスルーする奴が多くなった。
今期に入ってからの3時間以上残業した日に、何で残業したのか
報告しれっていう指示メールに対し、「今期」が何を意味するのか
わからないからとノーアクションだったり。
ちなみに「今期」について聞きもしなければググりもしていない。
0426nobodyさん
2008/12/17(水) 06:33:02ID:???できればこういう風にわかりやすく教えて欲しい
「(カウンタのファイルには 10 が保存されている。)
プロセス A がファイルのロックを確保に挑戦
プロセス A がファイルのロックを確保に成功
プロセス A がファイルのカウンタ値(10)の読み込み
プロセス B がファイルのロックを確保に挑戦
プロセス B がファイルのロックを確保に失敗(待つ)
プロセス A がカウンタ値に 1 を加える
プロセス A がカウンタ値(11)をファイルに保存する
プロセス A がファイルのロックを開放
プロセス B がファイルのロックを確保に成功
プロセス B がファイルのカウンタ値(11)の読み込み
プロセス B がカウンタ値に 1 を加える
プロセス B がカウンタ値(12)をファイルに保存する
プロセス B がファイルのロックを開放」
0427nobodyさん
2008/12/17(水) 06:45:37ID:???こういうケースはこう対処すればいいと覚えればいいだけ
動作の様子や原因をつきつめていきたいならアセンブラでもやれ
逆にいうとアセンブラが理解できないのなら
本質的な部分は到底理解できない
だからPHPのみをやってるうちは気にするだけ無駄
0428nobodyさん
2008/12/17(水) 07:16:38ID:Q+ZHoejCファイルの中味が
「1234567」
のとき、fwriteで「9」を書き込むと
「9234567」
になってしまうんだけど、これで
「正しい動作」なの?
0429nobodyさん
2008/12/17(水) 07:17:19ID:Q+ZHoejCこっちの希望の動作は、
「1234567」
が全部消えて、
「1」
だけが書き込まれるということなんだけど。
0430nobodyさん
2008/12/17(水) 07:18:06ID:???書き込まれて欲しいってこと。
■ このスレッドは過去ログ倉庫に格納されています