【PHP】下らねぇ質問はここに書き込みやがれ 27
■ このスレッドは過去ログ倉庫に格納されています
00011様
2006/08/23(水) 00:54:52ID:uM5Jzzy0まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・質問者は必ずIDを表示させてください。(メール欄に何も記述しないでください。)
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
(逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
(荒らし、煽りは除く。逆に煽られたときも、無闇に反論せずスルーすべし)
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0484nobodyさん
2006/08/30(水) 15:40:22ID:???その仕事はかなり糞だ。ほとんどの人がやりたくないだろう。
他人のプログラムを読むのは苦行でしかない。
ましてそこから仕様を上げるなんてほとんど無理。
もちろんプログラムにもよるけど。
作業1日あたり4万くらい出せば、やる人はいると思うよ。
0486nobodyさん
2006/08/30(水) 15:46:42ID:???コンサル業者に頼んでシステムの分析・解析までをしてもらうことになると思うけどそれなりに高いよ。
相場だといくらくらいになるんだろ…Webサイト1個くらいなら納期1〜2ヶ月で計30万〜150万くらいかなーと思うけど。
作成物は要求定義書、基本設計仕様書、詳細設計仕様書、運用マニュアル、保守マニュアル、運用データ統計表辺りかね?
0489nobodyさん
2006/08/30(水) 16:07:35ID:???0490nobodyさん
2006/08/30(水) 16:28:33ID:???0492nobodyさん
2006/08/30(水) 16:41:46ID:???将来のことなんて誰も分からないだろ。俺らが止めろとか言うことじゃないと思うよ。
センス無いと思ってた奴が将来画期的なシステムを作り出すかもしれないし。
食えないと思ったら自分で気づくだろうし。
0493nobodyさん
2006/08/30(水) 16:44:10ID:35ExyJAhようにするにはどうすればよいでしょうか?
(そりゃぁ完全にそれを防ぐことは不可能だとは思うけど)
データの管理はデータベースを使用しています。
クッキーを使おうか、それとも投票者のIPを記録してみるか悩んでいます。
みなさんはどうしていますか?
0494nobodyさん
2006/08/30(水) 16:44:32ID:F9+d4VtVレスありがとうございます
そのような仕事は、大変なのですね
>>480さんの言われるとおり規模によるものでしょうから
一概には何とも言えないものであるとは思いますが
それ以前に、
他人の書いたプログラムを見るのは
>>484さんの仰るように相当な労力が掛かってくるのですね
>>485さん、>>487さん
貴重な体験を聞かせて頂いてありがとうございました
でも、そのようなお仕事をこなされたのですね
尊敬いたします
>>486さん、詳しく説明して頂いて感謝致します
1つのwebサイトなら納期1〜2ヶ月で計30万〜150万くらいが相場なのですかね?
要求定義書、基本設計仕様書、詳細設計仕様書、運用マニュアル、保守マニュアル、運用データ統計表について
あまり聞きなれないので少しググって見たのですが
運用データ統計表というのは、よく分かりませんでした。これは、どのようなものなのでしょうか?
基本設計仕様書というものと、基本設計書というのはほぼ同じものだということなのでしょうかね?
明確な違いが記述してあるサイトが無く、同じような意味合いで使われているようでしたので
長文失礼致しました
0495nobodyさん
2006/08/30(水) 16:48:44ID:QW9pyzd4コード:
<form method="post" action="./test.php">
テスト用<br />
<input type="file" name="test" id="test" /><br />
<input type="submit" value="送信" />
</form>
<?
if($_POST){
$tmp=$_FILES['test']['tmp_name'];
list($width,$height)=getimagesize($tmp);
$newwidth=400;
$newheight=400*$height/$width;
$newimage = imagecreatetruecolor($newwidth, $newheight);
$oldimage = imagecreatefromjpeg($tmp);
if(imagecopyresampled($newimage, $oldimage, 0, 0, 0, 0, $newwidth, $newheight, $width, $height)){
imagejpeg($newimage,'./test/2-1.jpg');
}else{
echo("複製失敗");
}
}
?>
実行結果:
ファイルをアップロードすると、下記の警告が出た後「複製失敗」が出力されます。
Warning: Division by zero
Warning: imagecreatetruecolor(): Invalid image dimensions
Warning: imagecopyresampled(): supplied argument is not a valid Image resource
参考にしたのはhttp://jp2.php.net/manual/ja/function.imagecopyresampled.phpのコードです。
よろしくお願いします。
0497nobodyさん
2006/08/30(水) 16:56:24ID:???大きさ出すときの計算間違ってない?
0498nobodyさん
2006/08/30(水) 17:01:54ID:GN99dFvP指定のアドレスが存在するか調べる関数とかそれに似た効果をもつ
関数ありますか?みなさん何使ってますか。
0499nobodyさん
2006/08/30(水) 17:25:02ID:???正規表現で正しそうなアドレスを受け入れるだけかな。
DNS見に行ってドメインが存在するかどうか確かめるとかあるけど、面倒なんで。
送った後のエラーメールの処理をきちんとやる。
0500nobodyさん
2006/08/30(水) 17:35:19ID:QW9pyzd4このコードはテスト用に簡単に組んだものですので。。
1枚2枚ならFireworksで手動で作業しますが、数百枚単位で、しかも自動で
サイズ変更をしたいのです。
具体的には、画像アップロード掲示板のようなもので、サムネイル表示を
したいと思っています。
>>497
division by zero が出るのは、たぶんgetimagesizeのところで$width,$heightが
正常に取得できてないのでは?と自分なりに考えています。$widthが0なら
「0で割り切れません」が出ても当然ですよね…
PHPマニュアルでgetimagesizeの説明を見ると、引数にファイル名を取れる
はずなのに、なぜ????と悩んだ末、こちらに書き込んだ次第です。
0502nobodyさん
2006/08/30(水) 17:39:45ID:???> 正常に取得できてないのでは?と自分なりに考えています
考えても何も解決しない。
なぜ echo $width; をやってみようと思わないのか?
0504軟式PHP
2006/08/30(水) 17:52:08ID:???スパムの温床になるので、指定したアドレスが存在するかどうかは応答しなくなったサーバーが多くなったので
送信して確かめるしかないね。
0505nobodyさん
2006/08/30(水) 18:05:19ID:???0507nobodyさん
2006/08/30(水) 18:12:36ID:QW9pyzd4それが、
echo $width;
echo $height;
をスクリプトの途中に入れても、何も出力されないんです。
前後に<br />をつけてみたり、<span></span>をつけてみたりすると、<br />や<span></span>だけ
出力されます。
>>503
スミマセン、見当たりませんでした。
探し方が悪いようなのでもう少し探してみます…
0508nobodyさん
2006/08/30(水) 18:19:04ID:???$hogeにその配列を入れるのはどのようなやり方(関数)が最適でしょうか?
例
$hoge = array(
'0'=>array('hoge','foo','yahoo'),
'1'=>array('foo','gahoo','doon','zoon'),
'2'=>array('too','qoo','echo','zoon'),
);
こんな配列があったとき、
fooという値がある配列をそっくりそのまま$hoge2へ移したいのですが
0509nobodyさん
2006/08/30(水) 18:19:14ID:???var_dump(getimagesize($tmp));
してみた?
0515494
2006/08/30(水) 18:40:58ID:F9+d4VtVUI(ユーザインターフェイス)設計書とはどんなものなのでしょうか?
0516nobodyさん
2006/08/30(水) 18:59:02ID:???$func = "hoge";
$this->$func();
という記述は問題ないでしょうか?
0518林
2006/08/30(水) 19:04:27ID:???ページャーすべてうまくいきました。 ありがとうございました^^
ついでに今 全○件中 ○〜○件表示 っていうのもなんとかできました。
昨日PHPのこと知っていろいろと模索しながらやりましたが、
いろいろできるんですね。
もう何冊も読破した人で、これはよかったという本があれば教えてください。
明日、本屋いってきます。
それと、これでメシ食おうなんておもってませんw
0519513
2006/08/30(水) 19:09:30ID:???スクリプト見せてもらわないとなんともいえませんのでメールください。
手間にもよりますが1000円とかではたぶん無理です
0520nobodyさん
2006/08/30(水) 19:43:32ID:nBzkjiOS例えば、同じ書き込み内容を20時と20時10分にわけて送信すると行った感じです。
最初の送信をして10分立ってからもう一度送信するというような。
0521下らねぇ質問ですが、、、
2006/08/30(水) 19:45:34ID:???これをSQLなどのデータベースに移行するのは難しいのでしょうか?
むずかしいのなら業者に頼みますが、個人でもできる程度ならがんばりたいのですが・・・
0522軟式PHP
2006/08/30(水) 19:51:19ID:???素直にcron使ったほうがよさそう。
>>521
難しくない。データベースの種類を書いてないのでアドバイスしようがないが
大抵のDBにはインポート機能がついてる。PHPの質問じゃない気がするんだが…。
0523nobodyさん
2006/08/30(水) 19:54:13ID:???> >>486さん、詳しく説明して頂いて感謝致します
本職コンサルじゃないんで「多分そんな感じ」程度です。
> 1つのwebサイトなら納期1〜2ヶ月で計30万〜150万くらいが相場なのですかね?
あくまで推測です。コンサル自体の相場と作業分量と人的労力からこんなもん?と計算しただけ。
実際のとこはホントのコンサルに見積もってもらってください。
> 要求定義書、基本設計仕様書、詳細設計仕様書、運用マニュアル、保守マニュアル、運用データ統計表
いずれも「そのもの」の形の書類は無いです。これは大雑把にカテゴリ分けしただけで、
実際はそれぞれが複数の書類によって構成されることになると思います。
例えば基本設計の仕様書については、プログラムやDBテーブルなどの基本仕様書の他、
ページ遷移図、状態遷移図など多数の資料が添付されていないとダメでしょう。
運用データの統計は、1日のアクセス量、ピーク時のアクセス量、回線転送量、
1アクセス毎のCPU負荷、DBの総データ数、クエリー発行数など、実際の運用から
分かっているデータを統計して資料化しないといかんでしょう、ってことです。
アクセス量に関しては要求定義の中にも「当初見積もり」と「将来的な推定値」が
汲まれてなければいけないと思いますが、その上で実際の運用時のデータも必要です。
そこまでちゃんと資料化してないと「改変も考慮したレベルで仕様が把握されている」とは言えないと思います。
ま、通常のコンサルのやってる「システム再構築の前半部分の手順」そのものだと思うので
見積もり予測はそこから算出しています。
0524nobodyさん
2006/08/30(水) 19:58:32ID:1H+VLBSI出来なくはないが激しく迷惑
0525nobodyさん
2006/08/30(水) 20:00:30ID:???一般的にはcronで定期的にPHPを実行→指定時間なら送信
って作り方をする。
タイマーみたいなマネをするとそのPHPが10分ずっと動きっぱなしになってしまうので大迷惑。
0528nobodyさん
2006/08/30(水) 20:31:34ID:???youTUBEみたいなのつくって欲しいです。 おいくら?
0529nobodyさん
2006/08/30(水) 20:48:20ID:???0531nobodyさん
2006/08/30(水) 21:24:45ID:???0533nobodyさん
2006/08/30(水) 22:06:18ID:???どうすれば効率がよいですか?
今は$cntと$startと$endを作って
for($cnt=0;$date=mysql_fetch_object($hoge);$cnt++){
if($cnt>=$start && $cnt<=$end){・・・・・・・・・
こんな風にやってcntがstartからendまで表示させるようにしてるんですが
もっとよさそうな書き方があると思いまして
0534nobodyさん
2006/08/30(水) 22:19:41ID:VJ9Gj9KK0535nobodyさん
2006/08/30(水) 22:21:09ID:1H+VLBSIどうせSQLを使うならSQL側で処理する方が良いですよ
検索結果からの順番ならLIMITでも使ってくださいな
0536nobodyさん
2006/08/30(水) 22:21:32ID:???0537nobodyさん
2006/08/30(水) 22:28:26ID:???0539nobodyさん
2006/08/30(水) 22:55:46ID:H9L03cAN使ってるローカル変数のリストを取得することはできますか?
func(){
$hoge = 1;
$fuga = 2;
(処理)
}
処理を行うと、hogeとfugaを取得するような感じです。
0540nobodyさん
2006/08/30(水) 23:08:40ID:???0541nobodyさん
2006/08/30(水) 23:33:30ID:3wkmyd6Ltest.php?test=%00 と呼び出すと、\0 と表示されるのです。
別の言い方をすると、
<?= urlencode( $_GET['test'] ) ?> というプログラムで、
test.php?test=%00 と呼び出すと、%00 ではなく %5C0 と表示されるのです。
何とかならないでしょうか。
0542nobodyさん
2006/08/30(水) 23:37:51ID:UvEI8vY7と書かれていますが、本屋さんに売っているphpの入門書どおりのphpのインストールしたやつと
何がちがうんですか?
0544nobodyさん
2006/08/30(水) 23:44:05ID:???それはそうです。0x00はnull文字ですから¥0 が返されます。
0が欲しいなら test.php?test=%30 で呼び出さないと。
0546542
2006/08/30(水) 23:48:07ID:???ちょっと調べてみましたけどいまいちわかりません。
あんまり使わない関数だらけなので、メールフォームや掲示板スクリプトなら気にすることもないですよね。
http://php.s3.to/man/features.safe-mode.functions.html
0547516
2006/08/30(水) 23:52:29ID:???0548nobodyさん
2006/08/30(水) 23:53:05ID:???もしくは引数でURLエンコードされた文字列を渡した場合、
展開しないで変数に入れる方法はアルでしょうか?
urldecodeで自前で展開すれば大丈夫なのです。
>>546 ファイル操作しなければ大丈夫です
0549nobodyさん
2006/08/30(水) 23:53:15ID:???IPでいいんじゃないの?
ある一定の短い期間に、同じIPから偶然別々の人が
その投票システムで投票する確率なんてかなり低いと思う。
0551nobodyさん
2006/08/31(木) 00:04:28ID:???0552516
2006/08/31(木) 00:06:53ID:???なんか基本を勘違いしてました。
0553nobodyさん
2006/08/31(木) 00:24:08ID:???0555nobodyさん
2006/08/31(木) 01:30:13ID:???ただ、クッキーはブラウザでクリアして再投稿を繰り返せるからこれもどうかと思うけどね。
実際によくやられるし、これ。
こういう端末識別って難しいよ…
0556nobodyさん
2006/08/31(木) 01:37:17ID:???いっその事会員制にするって手もあるな。
ユーザID(メルアドでもOK)+パスワードで認証。
これが今のところ確実な方法じゃない?
でも、ユーザ登録の部分を作る手間と登録させるユーザの手間、そして
同じユーザが別のメルアドで登録してきたら防ぎようが無いという諸刃の剣
0557nobodyさん
2006/08/31(木) 01:43:59ID:???0561557
2006/08/31(木) 02:26:38ID:???0564nobodyさん
2006/08/31(木) 02:40:06ID:???言語はどんどん廃れていくだろうな。余程の速度を求められるシステム以外では
意味がないだろう。
おっと!インタプリタだってコンパイルしてるじゃんプギャーなんて突っ込みは無しだぜ!
0565nobodyさん
2006/08/31(木) 02:50:03ID:???しょぼいからとかダサイからとかで、
下級言語とかそういうニュアンスじゃないぞ?
簡単に言えば、より人間がより理解しにくい言語を下級言語というんだ。
つまり人間が理解できないような難しい言語ほど下級言語なんだよ。
よく覚えときな。
0567nobodyさん
2006/08/31(木) 03:00:32ID:sPSpAFNcどちらを使っても機能はまったく同じなのでしょうか?
0568nobodyさん
2006/08/31(木) 03:00:39ID:???0570nobodyさん
2006/08/31(木) 03:06:37ID:???0571nobodyさん
2006/08/31(木) 03:55:32ID:???後者ならPGといってもらいたいな。
まぁ何が言いたいかよくわからないやつだが、
夏も終わりだし暖かい目で見守ってやろうじゃないの。
0572nobodyさん
2006/08/31(木) 04:05:57ID:???シャッチョサン、ニホンゴヘンデス
0573nobodyさん
2006/08/31(木) 04:29:48ID:???0574nobodyさん
2006/08/31(木) 04:54:38ID:???$べジータ=高等生物;
$phpぷろぐらま=$カカロット;
$C=$ベジータ
0575nobodyさん
2006/08/31(木) 05:02:04ID:???$a = array("aaa","bbb","ccc");
$a = implode("",$a);
echo $a;
とやった場合にaaabbbcccと思ったとおりには出てくれるのですが、
これはPHPの正常な機能なのでしょうか?
$a = implode("",$a);この行で、$aが自身ではなく、
1つ前の$a = array("aaa","bbb","ccc");を評価しているようですが、
本当にこんなんでいいのだろうか?と思ってしまって・・・
プログラムはPHPが始めてなのですが、これは他の言語でも正常なのでしょうか?
0576575
2006/08/31(木) 05:06:36ID:???ようするに、曖昧な気がしてならないのですが、
このような使い方は普通にするのでしょうか?
普通は別々の変数に分ける気がするのですが、
前者の$aを使わない予定なら、こういう使い方もありかなと思いまして。
0577nobodyさん
2006/08/31(木) 05:28:53ID:???>$aが自身ではなく、 1つ前の$a を評価しているようですが
当たり前だろ。
変数はなぜ「変数」という名前なのか、よく考えてみたまえ。
ただまあ、配列から配列でない変数にする場合は、
同じ変数名のままだとなんとなく気持ち悪いけどな。
0579nobodyさん
2006/08/31(木) 05:46:21ID:???PHPに限らずほとんどのプログラム言語でそういうもの。
$a = 式; の式の部分では1つ前の行までの状態を元に実行が行われ、
その結果が改めて $a = の部分で$aに格納され直すことで内容が更新される。
0580575
2006/08/31(木) 05:48:08ID:???>変数はなぜ「変数」という名前なのか、よく考えてみたまえ。
なるほど。理解できた気がします。
>ただまあ、配列から配列でない変数にする場合は、
>同じ変数名のままだとなんとなく気持ち悪いけどな。
ではこういうケースでは分けることにします。
どうも回答ありがとうございました。
0581575
2006/08/31(木) 05:49:28ID:???>PHPに限らずほとんどのプログラム言語でそういうもの。
これを聞いて安心しました。
PHPは曖昧だとか、よく他の掲示板で見るので、
こういうのがPHPの曖昧なとこかな?と勘違いしていました。
ご丁寧に説明していただきありがとうございます。
0582579
2006/08/31(木) 05:49:39ID:???型エラーを起こす場合があるので注意。
PHPでは$aとするだけであらゆるデータ型を格納可能なので、そういった融通のある使い方ができる。
0583nobodyさん
2006/08/31(木) 05:49:59ID:???> $aが自身ではなく、 1つ前の$a を評価しているようですが
ひょっとして、= を数学的な記号(左辺と右辺が同値)と勘違いしてないんだろうね?
ttp://jp.php.net/manual/ja/language.operators.assignment.php
> このような使い方は普通にするのでしょうか?
変数名に合った値なら、あり得る。
変数の数を減らすためだけに、流用するのは変だけど。
■ このスレッドは過去ログ倉庫に格納されています