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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/07/27(金) 16:32:46ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 50
http://pc11.2ch.net/test/read.cgi/php/1184143801/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0175nobodyさん2007/07/31(火) 03:14:06ID:???
自慢したがる香具師って「プログラマー・素人・新人」って言葉が好きだよね。
そんなの誰も聞いてないのに言いたがる
0176nobodyさん2007/07/31(火) 03:15:34ID:???
>>173
おれがはじめてつくったスクリプトはメールフォームだったな。
その次に掲示板くんだ。

フリーソフトはPHPエディタでいいんでない?おれは使ったことないけど
0177nobodyさん2007/07/31(火) 03:20:39ID:???
>>174の言ってる事がわからないんだけど誰か教えてくれ。
検索する時に
create index
select
drop index
って毎回やるって事?
01781712007/07/31(火) 03:32:31ID:???
>>177
お前は馬鹿すぎwww

indexに掛かる時間が10秒
indexしたtableに検索するのに掛かる時間0.1秒
tableにinsertする時間0.1秒

select 3回
insert 3回

◎ ちょっと考えれば分かる設計
create index 10秒
select 0.1秒
select 0.1秒
select 0.1秒
drop index 0.1秒
insert 0.1秒
insert 0.1秒
insert 0.1秒

× 手に負えないお馬鹿な設計
create index 10秒
select 0.1秒
select 0.1秒
select 0.1秒
insert 10秒
insert 10秒
insert 10秒

あとは、自分でよく考えろ。よ〜く考えてからレスしろよな。
0179nobodyさん2007/07/31(火) 03:35:49ID:???
更新時にインデックス外すとかdb本に普通に書いてることだろ
得意になってる奴の方がガキくさい
0180nobodyさん2007/07/31(火) 03:39:22ID:???
>>171は今日勉強したばかりのネタがこのスレででたから答えたくてしょうがないんです
いじめないでください
0181nobodyさん2007/07/31(火) 03:46:43ID:???
おれのサイト、インデックスつけたままで参照と更新繰り返しているんだけど・・・

リクエストされるたびに、インデックス付けたり外したりするの面倒だなぁ・・・
01821772007/07/31(火) 03:51:58ID:???
>>178
スマンな。
>検索系で処理で時間が掛かる場合は、始めにindexをつけて処理が終了したらdropする。
お前のつたない日本語を直訳したら>>177になった。
更新時にindex外す事を言いたかっただけなのか?
あんなに長々と文字を費やして・・・。
0183nobodyさん2007/07/31(火) 03:54:43ID:???
>>178はお前に分かるように説明してやってたんだろw
>>177の時点で理解できてないことがもうアホかと
0184nobodyさん2007/07/31(火) 04:15:32ID:Wq5Bzhqy
mysql_escape_stringは使うな、
mysql_real_escape_stringを使えと
マニュアルに書いていますが、
mysql_real_escape_stringはDBに接続してから使わなければいけないようです
これっていちいちエスケープする時に
サーバからエンコードを取得してるんですか?
だいたい技術者にしてみればDBのエンコードを分かって作っていることが
ほとんどなので、いちいちエンコードを取得するより
エンコードを指定してエスケープすればいいと思うのですが。
なんでこんなやり方してるんですか?
そもそもmysql_real_escape_stringって本当に使わないといけないもの
なんですか?
0185nobodyさん2007/07/31(火) 04:49:26ID:???
addslashesでいいよ
0186nobodyさん2007/07/31(火) 05:28:34ID:???
どこかのブログに
mysqlのエスケープにaddslashes使うなんてありえないって書いてたよ。
addslashes
mysql_escape_string
mysql_real_escape_string
違いよくわからんな
違いの分かる男解説頼む
0187nobodyさん2007/07/31(火) 05:43:39ID:???
つか普通はprepare使う
0188nobodyさん2007/07/31(火) 06:39:25ID:???
http://ig.secure-cube.jp/info-g/alert/hi060602_01_t.html
このへん見ると、real_escapeはSJISのためにあるようだが

http://d.hatena.ne.jp/hoshikuzu/20060211#P20060211PHPSQLINJECTION
ここを見ると、SJIS使ってる限り、real_escapeもプレースホルダも駄目らしい

ガチで安全な最終回答って何なの?
0189nobodyさん2007/07/31(火) 09:31:10ID:???
UTF-8 + PDO + bindParam()
0190nobodyさん2007/07/31(火) 09:32:08ID:???
bindparamって自動的にエスケープしてくれてんの?
0191nobodyさん2007/07/31(火) 09:34:16ID:???
bindParamなんて童貞しかつかわねぇよ
0192nobodyさん2007/07/31(火) 09:41:32ID:???
まぁPDOでもプリペアドステートメント使う罠

ttp://jp.php.net/manual/ja/function.PDOStatement-execute.php

$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->execute(array($calories, $colour));
0193nobodyさん2007/07/31(火) 09:42:55ID:???
addslashes
一般的なデータベースが対象で、MySQLのための関数ではないし、すべてエスケープされない
mysql_escape_string
文字コードを考慮しない
0194nobodyさん2007/07/31(火) 09:51:36ID:???
JavaのJDBCや、PerlのDBIと同じように処理するPHPのPDOを使っておけば、とりあえずPHPだけ批判されることはないんでねーの?
エスケープ処理はMySQL側がやるわけだから。

そもそも記事にPHPのバージョンも、MySQLのバージョンもないから、何ともいえない。
>>190
する
0195nobodyさん2007/07/31(火) 11:34:05ID:???
DBのキャラクタセットにSJIS使うとかアホな事はせず
まともなDB抽象化ライブラリを正しく使ってりゃいいだけの話と思うんだがな
0196nobodyさん2007/07/31(火) 12:07:08ID:7/aws5UY
環境:
CentOS 4.5
Linux kernel 2.6.9
PHP 4.3.9

PHP にアプリケーション変数はありますか?
Java Servlet における application.setAttribute("foo", bar); がやりたいです。

やりたいことは、簡単なダウンロードページです。

1.ユーザ登録ページを作り、メアドを入力してもらったら、メアドにダウンロードページのURLを送る。
 URLにはランダムキー文字列を含める。
2.ユーザがメールを読んで、URLをクリックしたら、ファイルを落とせるようにする。

1.で、サーバサイドで生成したランダムキーをアプリケーション変数に保存しておき、
2.の php がアクセスされたときに、URLパラメータからランダムキーを取得し、
 それがアプリケーション変数に存在していれば処理を続行、なければエラーとする。

サーバにpostgres や MySQL がインストールされていないので、アプリケーション変数でやろうと
思いついたのですが、ちょっとググって見たらなさそうなので、
sqlite3 でやるしかないかなぁ・・・
0197nobodyさん2007/07/31(火) 12:11:38ID:???
SJISはアウアウで、EUC-JPはおkなの?
0198nobodyさん2007/07/31(火) 12:12:35ID:???
>>196
ないと思う
ファイルに書き出しておくかクッキーつかえばいいんでないの?
0199nobodyさん2007/07/31(火) 12:17:06ID:???
DBで実装するのが妥当かと
0200nobodyさん2007/07/31(火) 12:22:35ID:???
男は黙ってutf-8n
0201nobodyさん2007/07/31(火) 12:28:04ID:???
>>196
そこまでの実装を考えているのであれば素直にDBインストールする。
レンタルだったら乗り換える。
02021962007/07/31(火) 12:32:40ID:7/aws5UY
みなさんレスどうもありがとうございます。
このサーバは自分がroot権限を持っているサーバです。
sqliteでやろうと思いましたが、今後の CRM でやりたいことが増えていくことを考えると、
いまから DB インストールしておいたほうがいいか・・・
DB を入れる方向で進めてみます。
0203nobodyさん2007/07/31(火) 12:38:08ID:V0A2Aw5Y
OS : Debian GNU/Linux 4.0
Web : Apache 2.0.59
PHP : 4.4.7

質問があります。。。
MTで出力したUTF-8のPHPファイルが全体的に文字化けしてしまいます。

必ず文字化けするのではなく、4回に1回くらいの間隔です。
また、Apache起動直後は文字化けせずに起動後1〜数時間ほどすると文字化けするようになってしまいます。
再起動すると直るのですがしばらくすると再発してしまいます。
mbstring関係は http://nucleus.datoka.jp/?itemid=4 を参考に設定しているのですが。。。
何かわかる方いらっしゃったらお願いします。
0204nobodyさん2007/07/31(火) 13:27:06ID:???
すみません 質問です
今、アップローダーを作っています。それで、画像名重複・上書きを避けるために

1)アップされた画像の名前を変更する
2)できれば、プログラム側で任意の名前を付けたい
3)たとえば、アップロード用のファイル参照窓が3つあるとして、
  それぞれからアップされた画像を
  flower_1.jpg flower_2.jpg flower_3.jpg というような名前にしたい

というような条件の時、どうしたらいいでしょう

move_uploaded_file($_FILES['fl']['tmp_name'][$i],"./doc/".mb_convert_encoding($_FILES['fl']['name'][$i],"SJIS","EUC-JP"));
rename("./doc/".$_FILES['fl']['name'][$i],"./doc/test.jpg");
「アップして、固有の名前にする」だけなら上のプログラムで出来たんですが、
任意の名前を付けるのはどうしたらいいのか…

どなたかアドバイスおねがいします
winXP + PHP5 + apache2 で開発してます
0205nobodyさん2007/07/31(火) 13:27:45ID:z41KQ86Q
header関数を利用してPHPから画像を表示させたいのですが
複数の画像を表示するにはどうしたらいいのでしょうか?
02062042007/07/31(火) 13:28:16ID:UkgDKT8r
sageてしまいました
お願いします
0207nobodyさん2007/07/31(火) 13:30:20ID:???
>>204
text.jpgの部分を変数にすればいいんでは?
0208nobodyさん2007/07/31(火) 13:40:33ID:???
207だが
まじめにすまん
test.jpgだな
ちなみに
move_uploaded_file($_FILES['fl']['tmp_name'][$i],"./doc/".mb_convert_encoding($_FILES['fl']['name'][$i],"SJIS","EUC-JP"));
の mb_convert_encoding($_FILES['fl']['name'][$i],"SJIS","EUC-JP")で好きなものに買えれば
rename("./doc/".$_FILES['fl']['name'][$i],"./doc/test.jpg");
は必要ないと思うんだけどどうだろうか?
0209nobodyさん2007/07/31(火) 13:47:06ID:???
>>205
まずheaderについて辞書で調べてください
0210nobodyさん2007/07/31(火) 13:48:24ID:HvsnPYPO
MySQL質問スレってないですか?
DB板検索しても見つからないんですが・・・

ここでDB関係の質問するよりはいいですよね
0211nobodyさん2007/07/31(火) 13:55:31ID:???
>>210
別にここでもいいよ。
そもそもMySQLはphpで実装されているわけだし。
02122052007/07/31(火) 13:58:29ID:z41KQ86Q
>>209
goo辞書より
印刷物のページ上部の日付・文書名・小見出しなどを記した部分。
また、電子メールなどで、データの先頭に置かれる、内容識別のための定型の情報。

調べましたができません。
0213nobodyさん2007/07/31(火) 13:59:58ID:HvsnPYPO
>>211
有難うございます。
ですが、MySQLスレを見つけて書き込んでしまいました。
また次回質問があればコチラでさせていただきます。
0214nobodyさん2007/07/31(火) 14:00:39ID:???
>>212
不覚にもワロタwwww

http://jp2.php.net/manual/ja/function.header.php
0215nobodyさん2007/07/31(火) 14:08:06ID:???
>>211
え?

>>210
それは兎も角、ある程度だったらいいんじゃね?
02162042007/07/31(火) 14:17:28ID:UkgDKT8r
>>208
>mb_convert_encoding($_FILES['fl']['name'][$i],"SJIS","EUC-JP")で好きなものに買えれば
>rename("./doc/".$_FILES['fl']['name'][$i],"./doc/test.jpg");
>は必要ないと思うんだけどどうだろうか?

あ、そうかもしれないです ほんとだ
ちょっと試してみます ありがとうございます
0217nobodyさん2007/07/31(火) 14:31:35ID:HvsnPYPO
会員制サイトで、ログインしていろいろなページを回るときに
セッションIDにログインしているか否かを格納して、それを元にページを表示しているのですが、
セッションの中身って改ざんされたりするのでしょうか?
セッションにIDとパスワードを保存しておいて、毎回それでログインチェックをするほうが良いのでしょうか?
0218nobodyさん2007/07/31(火) 14:39:39ID:???
データベース板
http://pc11.2ch.net/db/
0219nobodyさん2007/07/31(火) 14:43:25ID:???
>>217
>セッションの中身って改ざんされたりするのでしょうか?
当然です。
>セッションにIDとパスワードを保存しておいて
論外です。
>毎回それでログインチェックをするほうが良いのでしょうか?
当然です。
0220nobodyさん2007/07/31(火) 14:44:31ID:HvsnPYPO
>>219
>セッションにIDとパスワードを保存しておいて
論外です。

これはどのような理由で論外にしたのでしょうか。
また、何かお勧めの方法があれば教えてください。
0221nobodyさん2007/07/31(火) 14:54:59ID:ti5DbwcI
PHPで、自分のサイトから外、というか他ドメインに飛んでいくものを
すべてカウントするのに簡単な方法ないですかね?

思いついたのは

1 javascriptでリンクのonClickでPHPを呼び出して、DBに登録する方法。
この方法はモバイルに使えない。

2 飛び先に全部一枚PHPのページをかまして、DBにカウントを登録。
この方法はモバイルもいけるけど、マウスオーバーしたりリンク先を確認したときに実際の飛び先と違うサイトが表示されちゃって
なんか胡散臭い感じもする。

また、どっちの方法を使っても全リンクを手動で変更しなきゃならないじゃないですか?
なんかすごく簡単な方法を見逃したりしてないでしょうか?
0222nobodyさん2007/07/31(火) 14:59:41ID:???
>>221
jump.php?url=http://www.yahoo.co.jp/

jump.php
$url = $_GET['url']; //←適当に処理して

〜〜〜〜〜〜〜 //DBに格納するなど

header("Location: {$url}");
0223nobodyさん2007/07/31(火) 15:00:10ID:???
Location: ヘッダで自動的にリダイレクトすれば普通のユーザにはわからんだろう。

リンク書き換えもsed -iでワンライナー一発かませばたいていいけると思うが。
PHPでリンクを生成してる場合には使えないけど。
0224nobodyさん2007/07/31(火) 15:11:25ID:???
>>220
セッションがのっとられたらどうしましょう。
それを考えましょう
0225nobodyさん2007/07/31(火) 15:19:04ID:HvsnPYPO
>>224
ではどのように対策すれば良いのでしょうか。
$_SESSIONにログイン関連のものを格納しておくとどちらにしても乗っ取られるとダメなような気がします。
0226nobodyさん2007/07/31(火) 15:22:23ID:yIMYAVOK
echo $_POST['str'];
というコードがあったとき、$_POST['str']に\とかエスケープ文字が入ってたとします。
そういうことがある場合を配慮して、以下のコードを入れるべきでしょうか?
(当方の環境では、\nや\tに手を加えなくてもそのまま文字列として出力できました。)
if (!get_magic_quotes_gpc()) {
$str = addslashes($str);
}
0227nobodyさん2007/07/31(火) 15:23:26ID:???
>>225
ダメな気がするならおまえのやり方でやれよ。
別にとめやしねえから
0228nobodyさん2007/07/31(火) 15:25:33ID:HvsnPYPO
>>227
いや、だから自分のやりかたが不安だからここに聞きにきたんですよ
0229nobodyさん2007/07/31(火) 15:30:51ID:???
人がレスしてくれてるのに、そのレスに、根拠無しに「駄目な気がするとか」
自分の気分だけ書くんだったら来るな。
0230nobodyさん2007/07/31(火) 15:39:52ID:HvsnPYPO
>>229
気分をそのまま発言しているのはそちらではないですか?
0231nobodyさん2007/07/31(火) 15:48:47ID:???
はいはい、またID出しての釣り厨か。
0232nobodyさん2007/07/31(火) 15:50:29ID:???
セッションIDとPASSに格納してのログインはダメ⇒ではどのように対策すれば?⇒ダメな気がするならおまえのやり方でやれよ。

テラ矛盾wwwwwwwww
回答側無知杉wwwwwwwwww
0233nobodyさん2007/07/31(火) 15:57:29ID:???
>>226
どういう風にそのポストの値を使いたいかによって違う。
一般論はないよ(これはget_magic_quotes_gpcがTRUEでstripslashesするかどうか
ということも同様)
0234nobodyさん2007/07/31(火) 15:58:15ID:???
>>228
結局はどうやっても完全に防げるということは無いのである程度の妥協は必要です。
会員制サイトがどの種類のものかにもよりますが個人や趣味で作るCMSなサイトであれば
ログインした時点で$isUserや$authなりのセッションを発行する程度で充分だと思っています。

>>219が論外といったのは財布の中にキャッシュカードとそのキャッシュカードの暗証番号をメモした紙を
入れているのと同じだからです。
同一ID、passで登録してたら他のサイトまで被害にあう人がでる可能性もでてくるでしょう。

もし本当に見られてはならない極秘文書などを扱う場合はそもそもネットワーク上ではやらないようにする。
どうしてもやる場合はphpだけでなくサーバのアクセス制限から何から考えられる限りのことをしましょう。
破られるときは破られますが。
0235nobodyさん2007/07/31(火) 16:23:19ID:???
>>226
俺は削除とか変換で対応する
データベースに入れるときは専用のescape関数使う
0236nobodyさん2007/07/31(火) 16:26:19ID:???
>>226
逆に
f (get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
している。
0237nobodyさん2007/07/31(火) 16:37:50ID:yIMYAVOK
ありがとうございます。
>>236さんのやり方がコード編集も楽だったので使わせていただきました。
0238nobodyさん2007/07/31(火) 18:14:15ID:igpQYGKj
簡易アンケートを作りたいのですが、ログの保存がうまくいきません。
$_GETされた値を保存しています。

$vote = $_GET['vote'];
$log = 'count.txt';
if ($vote) {
  $lines = file($log);
  foreach ($lines as $line) {
    $line = explode('<>', $line);
    if ($line[0] == $vote) {
      $line[1] += 1;
    } else {
      $line[0] = $vote;
      $line[1] = 1;
    }
    $fp = fopen($log, 'w');
    fwrite($fp, $line[0].'<>'.$line[1]);
    fclose($fp);
  }
}

count.txtは、
PHP<>1
Java<>10
のようになっています。

入力チェックなどは省きますがこんな感じです。
このスクリプトを実際に動かすと、ログが最新の1つしか書き込まれないのですがどこが悪いのでしょうか?
それとやはりこの手のものはDBでやるべきでしょうか?
コメント書きたいのですが行数がギリギリなのでお許しを・・・汚いソースですみません。
0239nobodyさん2007/07/31(火) 18:19:40ID:???
>>238
$fp = fopen($log, 'a');
02402382007/07/31(火) 18:28:00ID:???
>>239
それだと思ったとおりの動作にはなりませんでした。
ただおかげで改行を入れ忘れてることに気づきました。ありがとうございます。

ちなみにそれでやった場合、
PHP<>1
Java<>10
から、
PHP<>1
Java<>10Java<>1のようになりました。

PHP<>1
Java<>11
という風になってほしいです。
0241nobodyさん2007/07/31(火) 18:51:17ID:???
>>240
スマソ。ちゃんとみてないでてきとうにいっちゃった。

foreach内にfwrite($fp, $line[0].'<>'.$line[1]);fclose($fp); があるのが原因。
wというのはあくまでも上書きだから
$lineで読み込んだ行を逐一fput or fwriteして追記していく。
0242nobodyさん2007/08/01(水) 00:33:03ID:???
>>238のコードでwをaに変えただけだと>>240のようにはならないで
PHP<>1
Java<>1Java<>10Java<>11
となるはずなんだけど・・・

$vote = $_GET['vote'];
$log = 'count.txt';
$exist = false;
if ($vote) {
$lines = file($log);
$fp = fopen($log, 'w');
foreach ($lines as $line) {
$line = explode('<>', $line);
if ($line[0] == $vote){
$line[1] ++;
$exist = true;
}
fput($fp, $line[0].'<>'.$line[1].'\n');
}
if (!$exist)
fput($fp,$vote.'<>1\n');
fclose($fp);
}
0243nobodyさん2007/08/01(水) 00:45:31ID:???
fputs
0244nobodyさん2007/08/01(水) 01:22:52ID:???
>>242
まずはファイル関数のマニュアル読むか、入門本買って超シンプルな所から作り始めなさい。
出来ないってことはまだ早いんです。
0245nobodyさん2007/08/01(水) 01:46:26ID:???
>>244
は?
0246nobodyさん2007/08/01(水) 01:58:38ID:CHA5n09T
xdebugは実運用では無効にした方がいいとのことですが
php.ini自体を変えるということですか?
0247nobodyさん2007/08/01(水) 02:02:33ID:???
>>245
は?そうだろ
0248nobodyさん2007/08/01(水) 02:11:44ID:???
>>242
空のcount.txt用意してそれ動かしてみたけどログがだいぶむちゃくちゃw
?vote=hogehogeとかうてばいいんだよな?
ファイル関数ってむずいね。普段DB使ってるからさっぱりだけど面白そうだな。
ちょっと後で作ってみるか。
0249nobodyさん2007/08/01(水) 02:18:32ID:???
たしかにファイル関数のほうが難しいっていうか、DB使ったほうが余計な事考えずにすむ。
0250nobodyさん2007/08/01(水) 02:23:54ID:???
流れ的に>>242は238とは別人じゃねーの?
>>244がハヤトチリしてややこしくしたって感じだな
0251nobodyさん2007/08/01(水) 03:09:16ID:???
どっちにしろ>>244みたいのは余計なお世話。
あんなこといったらこのスレの意味がない。
0252nobodyさん2007/08/01(水) 03:44:52ID:???
変数の中身の大きさ(バイト)を調べる関数ってあります?
DBから出したバイナリデータのサイズ測ろうとしたけど、それらしい関数が見つからなくて。
0253nobodyさん2007/08/01(水) 03:58:34ID:???
丸投げにそのまんま答えてやるより、先を考えたら>>244のほうが優しい気もするけどな。
別に答えてくれた人を批判しているわけではないが、質問者は工夫しなさ過ぎ。
0254nobodyさん2007/08/01(水) 04:20:08ID:???
>>244のいう超シンプルっていうのはまさにこういうもののことだと思うが。
これ以上シンプルにしろっていわれても逆に難しいぞ。
0255nobodyさん2007/08/01(水) 04:41:47ID:???
こたえたくないならスルーしてくれ。
回答側のおれからしてもめざわりだ
0256nobodyさん2007/08/01(水) 05:59:18ID:???
仕事でプログラミングをしている方は
どんな大学(学部)を出ているんですか?
また、どんな学部ならプラグラミングを学べますか?
どうか、回答よろしくお願いします。
0257nobodyさん2007/08/01(水) 06:26:22ID:???
PHP単体のベンチマークプログラムを書こうとしています。
abつかうとかじゃなくて。
それで、user time/system timeをPHPで測定する関数はありますか。
0258nobodyさん2007/08/01(水) 06:31:31ID:???
自己レス。
>>257
posix_timesというのがありました。
スレ汚しすまん。
0259nobodyさん2007/08/01(水) 06:33:55ID:???
学部では情報系とか工学系が多い。
CやPerlやJavaあたりは学習でよく使われるといわれる。
ただ実力社会だから学歴や学部はあまり関係ないよ。
会社はいってからやったりするとこもあるから。
逆にいえば会社入るまでプログラミングとは無縁なんて人もざら。
他にも文系の人が趣味でやってて本格的に始めたりね。
0260nobodyさん2007/08/01(水) 07:20:26ID:???
>>259
回答ありがとうございました。

今、某大学の附属校に通っていまして、
3年生の選択科目の希望を夏休み明けに
出さなければいけないんです。

それが学部選択にも影響するんですが、
情報・工学系といったら理工学部、
理工学部を選択する場合は、
私の大嫌いな化学が必修なんですよね。
それですごく悩んでいまして。
0261nobodyさん2007/08/01(水) 07:36:14ID:???
好きな学部選びなよ。授業で勉強する必要はなし。
情報科学部卒の知り合いが大学でやったプログラムの知識なんて役にたってないと。
会社はいってから研修で飛躍的に伸びたって。
興味あるなら、大学入ったらアルバイトでプログラマーになればいいよ。
PGは基本使い捨てで人数不足だから、会社さえ選ばなければ実は誰でもなれる。
MSやGoogleに就職したいというなら話は別だけど。
0262nobodyさん2007/08/01(水) 09:17:12ID:???
PHPにはextract()という大変ありがたい関数があるんですが、これの逆を行ってくれる関数はありませんか。
ローカル変数を配列として取得したいんです(イメージはpythonのlocals())。
get_defined_vars()だと環境変数も含めて取ってくるので、ちょっと希望とは違います。
0263nobodyさん2007/08/01(水) 09:58:56ID:???
ありません。
0264nobodyさん2007/08/01(水) 12:06:09ID:???
スレチごめん
>>260
基本的に、大学(情報系学部学科)はプログラミングを学ぶというより、プログラミング技術を使って研究をする機関だ。プログラミングを学びたいだけなら、専門学校の方が合っている。
0265nobodyさん2007/08/01(水) 12:18:19ID:???
>>262
function test() {
$a = "test";
$arr = get_defined_vars();
}
お望みのものが取れると思うが。
0266nobodyさん2007/08/01(水) 12:18:41ID:???
コンピュータエンジニアリングを学びたいなら大学行ったほうがいい。
単純にプログラマーとして働きたいだけなら、WEB系ならちょっと勉強すれば現場で充分やっていけるよ。
すげー簡単なので。
0267nobodyさん2007/08/01(水) 13:18:28ID:???
同意。
勉強したいなら大学行って、稼ぎたかったらキャリア詰む。
そういう単純な考えでいいと思うぜ。
0268nobodyさん2007/08/01(水) 13:38:58ID:???
文字列の取り出し方法を考えていますがうまくいきません
ソースを取り出して

$src="<p>Aの価格:2400円</p>";

という中から2400の部分を抜き出したいんですがpreg_replaceじゃダメみたいで困ってます
0269nobodyさん2007/08/01(水) 13:49:05ID:???
失敗したの書くの忘れてた

$price=preg_replace("/価格:(.*?)円/","$1",$src);
これだと$priceが「<p>Aの2400</p>」になってしまいます
どう書けば値段の部分だけ残るようになりますか
0270nobodyさん2007/08/01(水) 13:57:20ID:???
patternに"<p>Aの"と"</p>"が含まれてないんだから当たり前。
$price = preg_replace("/<p>Aの価格:(.*?)円<\/p>/","$1",$src);
0271nobodyさん2007/08/01(水) 13:58:13ID:???
ちなみに抽出したいだけならpreg_matchのほうをおすすめしておくよ。
0272nobodyさん2007/08/01(水) 14:27:53ID:???
とりあえず>>1嫁よな
0273nobodyさん2007/08/01(水) 14:59:23ID:i33a5O9E
文字化け関係の質問です。

mb_detect_encodingは信用できるのでしょうか?
sjisの文字をブラウザで表示させてみると、sjisで閲覧すると文字化けしています。
ブラウザのエンコードをutf8にすると、文字化けしないで表示されます。
そして、mb_detect_encodingで文字コードを調べると「sjis」と表示されます。

また、mb_convert_encodingでsjis⇒utf8にすると何で見ても文字化けします。(そりゃそうですが)

PHPはsjisでしているのですが、なぜ勝手にutf8になっているのでしょうか?
そして、なぜmb_detect_encodingではsjisと表示されるのでしょう。。。
02742042007/08/01(水) 15:01:15ID:v9Mvytgm
すみません、204でアップローダーについて質問したものです

//$i =アップされるファイルの数(フォームの参照窓の数)
for($i=0;$i<sizeof($_FILES['fl']['name']);$i++){
 move_uploaded_file($_FILES['fl']['tmp_name'][$i],"./doc/".rename($_FILES['fl']['tmp_name'][$i],"./doc/test_".$i.".jpg"));
}

というプログラムでファイルのアップロードとリネームには成功したんですが、
上書きが出来ていません。
なぜでしょう? どなたかアドバイスおねがいします
■ このスレッドは過去ログ倉庫に格納されています