【PHP】下らねぇ質問はここに書き込みやがれ 22
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/06/08(木) 05:09:28ID:5gGJKVO4ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
過去スレは>>2
0002nobodyさん
2006/06/08(木) 05:10:29ID:???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/
【PHP】下らねぇ質問はここに書き込みやがれpart10
http://pc8.2ch.net/test/read.cgi/php/1127581425/
【PHP】下らねぇ質問はここに書き込みやがれpart11
http://pc8.2ch.net/test/read.cgi/php/1129582431/
【PHP】下らねぇ質問はここに書き込みやがれpart12
http://pc8.2ch.net/test/read.cgi/php/1130835396/
【PHP】下らねぇ質問はここに書き込みやがれpart13
http://pc8.2ch.net/test/read.cgi/php/1132921016/
【PHP】下らねぇ質問はここに書き込みやがれpart14
http://pc8.2ch.net/test/read.cgi/php/1134868212/
【PHP】下らねぇ質問はここに書き込みやがれpart15
http://pc8.2ch.net/test/read.cgi/php/1137236771/
00031様
2006/06/08(木) 05:11:19ID:???http://pc8.2ch.net/test/read.cgi/php/1139146534/
【PHP】下らねぇ質問はここに書き込みやがれpart18
http://pc8.2ch.net/test/read.cgi/php/1142417901/
【PHP】下らねぇ質問はここに書き込みやがれ Part19
http://pc8.2ch.net/test/read.cgi/php/1144513878/
【PHP】下らねぇ質問はここに書き込みやがれpart20
http://pc8.2ch.net/test/read.cgi/php/1146165153/
【PHP】下らねぇ質問はここに書き込みやがれpart21
http://pc8.2ch.net/test/read.cgi/php/1148389517/
00041様
2006/06/08(木) 05:12:06ID:???extractは極力使わないほうがいいと思います。
例えば、
hoge.php?_SESSION[user_pw]=hogehoge
って形で送られてきたとします。これを
extract($_GET)
しちゃうと、$_SESSION['user_pw']の値が、
"hogehoge"に変更されてしまいます。
もし事前にユーザのパスワードを、$_SESSION['user_pw']に
保持してたとしたら、勝手に書き換えられてしまうことになります。
それを避けるために
extract($_GET, EXTR_SKIP)
ってやって上書きを避けたとしても、
このままでは変数の初期化を忘れる危険性があります。
extract($_GET, EXTR_PREFIX_ALL, "get")
と、接頭辞をつけるのが一番安全な気はしますが、
それなら最初から
$hoge = $_GET['hoge'];
ってやるのと手間が変わらないと思いますし、可読性も増します。
確かにextractするのは楽だと思いますけど。
0005nobodyさん
2006/06/08(木) 07:05:00ID:???「○○する関数はありますか?」の類いの質問はお断りします
0006nobodyさん
2006/06/08(木) 07:11:10ID:???0007nobodyさん
2006/06/08(木) 07:13:07ID:???0008nobodyさん
2006/06/08(木) 07:26:45ID:???どうしたらよいのでしょうか?
0009nobodyさん
2006/06/08(木) 08:21:27ID:???$_POST[hoge]ってやってるだろ
配列のインデックスは数字か文字列なので
$_POST[゛hoge゛]が正しい。
0010nobodyさん
2006/06/08(木) 08:27:29ID:???と
header('Refresh: 0;URL=./');
の違いを教えてください。
0012nobodyさん
2006/06/08(木) 10:43:29ID:ke6FFl5N↑このように変数名を書かずに送られてきたものをGETしたいのですが、
どのようにすればいいのでしょうか?
ググるためのワードだけでも教えてもらえたらうれしいです。
よろしくお願いします。
0013nobodyさん
2006/06/08(木) 10:56:08ID:???0014nobodyさん
2006/06/08(木) 11:08:55ID:ke6FFl5Nありが�d!!
0015nobodyさん
2006/06/08(木) 11:15:50ID:???偽りたいのですが
0017nobodyさん
2006/06/08(木) 12:23:37ID:???WindowsXPで試すと、'/' がセパレータとして使えるみたいだけど、'¥¥'じゃなくてもいいんでしょうか。
例えば
$files = glob('lib/*/*.php');
と書いたとき、これはUNIXだけでなくWindowsでも問題なく動くことが保証されていますか。
マニュアルみると DIRECTORY_SEPARATOR という定数がわざわざ定義されてあるから、
それならUNIXとWindowsで異なるセパレータを使い分けなきゃいけないのだと思ってたので。
0018452
2006/06/08(木) 12:44:52ID:???$query_1 = "select count(*) from user_tbl where id='{$hoge}' and delete_flg <> 1";
$query = "insert into user_tbl(
hoge)
values
('{$hoge}')";
if((mysql_query($query_1))==0) {
$result = mysql_query($query);
mysql_close($mysql);
return TRUE;
}
mysql_close($mysql);
var_dump(mysql_num_rows(mysql_query($query_1)));
return FALSE;
}
これできないorz
0020nobodyさん
2006/06/08(木) 13:09:17ID:pYzcdko8ディレクトリ名をログの配列に入れて、テキストデータに吐き出したいのですがうまくいきません(書き出すところです)
表示は出来ているのですが・・・。
ディレクトリ名を取得して、ディレクトリ内のファイルを取得して、ディレクトリ内のファイルを全部開いて、
ディレクトリ名をarray_unshiftで配列に加える、ログに書き出します。どこにfputsを入れても変な形になってしまいます。
どなたかご教授お願いしますTT
file
├001(1.csv 2.csv 3.csv)
├002(1.csv 2.csv 3.csv)
└003(1.csv 2.csv 3.csv)
002120
2006/06/08(木) 13:10:01ID:???$path = "file";
$startdir = opendir($path);
rewinddir($startdir);
while($entry = readdir($startdir)){
$subdir = "$path/$entry";
if($entry == ".." || $entry == "."){
continue;
}
if ($dir = opendir("$subdir")) {
while (($logfile = readdir($dir)) !== false) {
if ($logfile != "." || $logfile != "..") {
$logdir = "$subdir/$logfile";
$logs = @file($logdir);
foreach($logs as $value){
$line = explode(",", rtrim($value));
array_unshift ($line,$entry);
print "\"$line[0]\",";
print "\"$line[1]\",";
print "\"$line[2]\",";
print "\n";
}
}
}
closedir($dir);
}
}
closedir($startdir);
0022nobodyさん
2006/06/08(木) 13:11:24ID:???どううまくいかないのか書いたほうがいいんじゃないかな。
データがあるのにかならずreturn falseになるとか、
データがあってもtrueが返ったりfalseが返ったりするとか。
0023452
2006/06/08(木) 13:20:58ID:???ありがとうございます(´;ω;`)
どんな値を入れてもFALSEが返ってきちゃいます ダンプしてみたらboolが返ってきますた
0024nobodyさん
2006/06/08(木) 13:45:55ID:???クピークププー
ttp://pc8.2ch.net/test/read.cgi/php/1148389517/970
0026nobodyさん
2006/06/08(木) 14:13:20ID:???>mysql_close($mysql);
>var_dump(mysql_num_rows(mysql_query($query_1)));
>return FALSE;
mysql_close() してから mysql_query() はしないほうがいいかな。
0027452
2006/06/08(木) 14:21:49ID:???直したらresource(8) of type (mysql result)こんなんでました 関数ミスかクエリのミスっぽいのはわかるんだけんど(´;ω;`)明日までに全部終わらないぽ
0030nobodyさん
2006/06/08(木) 15:19:58ID:vAH14IAN表示されません。ソースは↓ですが、おかしい箇所があれば、ご指摘下さい。
$date_set01="2006,06,10,00,00,00";
$date_set02="2006,06,12,23,00,00";
$set1=split(",",$date_set01);
$set2=split(",",$date_set02);
$d1 = mktime ($set1[3], $set1[4] , $set1[5] , $set1[1], $set1[2], $set1[0]);
$d2 = mktime ($set2[3], $set2[4] , $set2[5] , $set2[1], $set2[2], $set2[0]);
$time_diff = $d2 - $d1;
echo("時差:<br>");
echo date("Y",$time_diff) - 1970;
echo("年");
echo date("m",$time_diff) - 1;
echo("ヶ月");
echo date("d",$time_diff) -1;
echo("日");
echo date("H",$time_diff);
echo("時");
echo date("i",$time_diff);
echo("分");
echo date("s",$time_diff);
echo("秒");
0032軟式PHP
2006/06/08(木) 15:31:02ID:???>そのディレクトリ内のログデータを全部まとめて1つにして
>ディレクトリ名をログの配列に入れて、
ここの意味がわかりにくい。
全ディレクトリを走査して、全ファイルをひとつのファイルにしたいってこと??
0033nobodyさん
2006/06/08(木) 15:42:00ID:???date() 関数の使い方が間違っている
date() の第二引数は、タイムスタンプの数値が必要だけど
このソースだと、二つのタイムスタンプの差分を与えている
0034軟式PHP
2006/06/08(木) 15:42:55ID:???その計算の何ヶ月というのは31日固定でいいの?
ただ1970年に$time_diffを足した年月日との差分になるんで
期待する値は取得出来ないような気がする。
003530
2006/06/08(木) 15:51:51ID:vAH14IAN「二つのタイムスタンプ差分を」とのことですが、$time_diffは差分を求めた
後の変数なので、これで大丈夫だと思っていました。
ただ、その他どこをどうするか想像も付きません。変更箇所を教えていただけないでしょうか?
>>34
いえ、28日も30日も入ると思います。-1970などとしているのは
タイムスタンプが1970年01月01日から始まるとのことで、このようにしているのですが、
だからといってその他、どうすれば求める値が得られるかわかりません。。。
0036nobodyさん
2006/06/08(木) 15:53:45ID:???session_start();
$hage = array(
'a' => "あむろ",
'b' => "ぶらいと",
'c' => "きゃすばる",
);
$_SESSION = $hage;
このような処理をすると$_SESSIONには確かに$hageの値が入っているのですが、
セッションIDを維持したまま他のファイルに移動して$_SESSIONを呼び出しても
そちらの$_SESSIONには何も入っていません。
マニュアルのセッションに関する説明(http://php.s3.to/man/ref.session.html)には
> セッションを処理している時、 session_register()関数を使用するか
> スーパーグローバル配列$_SESSIONへ新しいキーを追加することにより
> 変数が登録されるまで、セッションのレコードは作成されないことに注意してください。
と書かれてありますが、$_SESSIONに値を登録する時には常に
$_SESSION['a'] = $hage['a'];
のように直接、もしくはforeach()等でとにかくひとつずつ入れる必要があるのでしょうか?
まとめて簡単に代入する何か良い方法がありましたらご教授頂けますと幸いです。
PHPのバージョンは5.1.2です。どうぞよろしくお願いします。
0037nobodyさん
2006/06/08(木) 16:00:30ID:???「二つのタイムスタンプ差分を」をタイムスタンプに変換する必要がある
このソースをそのまま手を入れるのなら
$time_diff = $d2 - $d1;
// ここで、タイムスタンプの基本の値を取得する
$base = mktime(0, 0, 0, 1, 1, 1970);
// 上で求めた、二つのタイムスタンプの差分に基本値を足して、タイムスタンプに変換する
$time_diff = $time_diff + $base;
0038nobodyさん
2006/06/08(木) 16:08:45ID:???$_SESSION['post_data'] = array(
'a' => "あむろ",
'b' => "ぶらいと",
'c' => "きゃすばる"
);
他のPHPで値を参照
$post_data = $_SESSION['post_data'];
echo $post_data['a']; // あむろ
004020
2006/06/08(木) 16:25:56ID:???そうです〜。更にディレクトリ名を取得して配列の列に加えたいのです。
元のCSVが「1列、2列、3列」という情報が入ってるとしますと、
「ディレクトリ名、1列、2列、3列」というふうにしたいのです。
月の日付が入ったディレクトリがあり(200505などしかし飛んだりしてバラバラで規則性はないです)、
そのディレクトリ内には日ごとのアクセスログ(CSV)があるという具合です。
0044軟式PHP
2006/06/08(木) 17:20:30ID:???そのCSVって1行データなの??
>どこにfputsを入れても変な形になってしまいます。
どう変な形になってるの?
と突っ込みどころが多いけど、表示はうまくいってるってことなんで
それをひとつの変数にためて最後にfwriteしてみたら?
■ このスレッドは過去ログ倉庫に格納されています