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

【PHP】下らねぇ質問はID出して書き込みやがれ 98

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/09/18(土) 19:20:37ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 97
http://hibari.2ch.net/test/read.cgi/php/1279833891/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0251nobodyさん2010/09/22(水) 13:19:44ID:???
つうかgifからjpegに変換ってあまりやらないよね
理由を教えてもらえれば最善の方法を考えるが
02522502010/09/22(水) 13:22:25ID:???
即レスありがとうございます。<(_ _)>

携帯での画像表示と、
1画面に大量に並べるので、容量が少ないほうが良いと思いまして..
0253nobodyさん2010/09/22(水) 13:23:44ID:???
性能上jpegのほうが容量でかくなるはずだが
02542502010/09/22(水) 13:26:41ID:???
例えば
2895.gif 11471バイト
 ↓
2895.jpg 3850バイト となりました。 <(_ _)>

0255nobodyさん2010/09/22(水) 13:29:16ID:???
性能上(笑)
0256nobodyさん2010/09/22(水) 13:29:57ID:???
容量なんて圧縮率による
0257nobodyさん2010/09/22(水) 13:30:40ID:???
>>255
そういう煽り入れるなっていってんのがわからんのかカス
毎日毎日うぜえんだよ消えろカス
いい加減荒らしで通報するぞボケ
0258nobodyさん2010/09/22(水) 13:33:50ID:???
>>250
その画像をうp

>>257
NGワードに(笑)を入れてスルースキル発動の時間だ
0259nobodyさん2010/09/22(水) 13:34:59ID:???
画像サイズはあってるの?
0260nobodyさん2010/09/22(水) 13:36:15ID:???
>>254
gifより軽くなってるから画像粗そう
0261nobodyさん2010/09/22(水) 13:37:52ID:???
>>250
そのソースで同じPHP 5.1.6で試したけど黒枠付かないな
どんな画像で試してる?
あと@はずしてエラーにならないかも確認してみて。

>>253
元にする画像による。色数が少なければGIFの方が良いかもしれない
GIFの可逆圧縮とJPEGの不可逆圧縮を単純に比べたらJPEGの方が小さくなる場合が多いはず
携帯向けだと圧縮率高めにして容量下げる事もよくあること
02622552010/09/22(水) 13:44:22ID:???
つい脊髄反射で、な。ふだんはまじめな住人だぜ?
で、おまいら揃いも揃ってGIFとJPEGの特性を知らないの?
特性を知った上でJPEGのほうがふさわしいと判断して、
さらにその上で圧縮率を見定めるのが筋ってもんだろ。

あとささやかな材料だけど、
JPEGで圧縮されたものを展開してるわけだから、
アルゴリズムの簡単なGIFに比べればCPUを食うのはJPEGのほうだと思う。
これは正直憶測だけどたぶんあってる。
0263nobodyさん2010/09/22(水) 13:52:37ID:???
単純に1画面に大量に画像並べる場合って
(画像1枚1枚に対して特別な処理を行うわけではない場合)
画像くっつけて1枚にしたほうがいいよね?
携帯の場合容量制限があるけど
0264nobodyさん2010/09/22(水) 13:54:18ID:???
>>263
CSSスプライトみたいな事が出来るならそれに越したことはないけど携帯でできたっけ?
02652612010/09/22(水) 13:56:00ID:???
>>262
俺も「性能上〜」には脊髄反射でねーよと思って>>261のレスをしたんだが
俺の認識も間違ってるのか?

せっかく知識を持っているなら、煽りだけで終わらずに間違いを正してくれた方が
みな幸せになれると思うぜ?

>>263
リクエストの回数も減るから一枚の方が良い
あと携帯だと縦に並べる場合だと↓↓こんな事で悩まないといけないから
一枚の方が楽

[携帯]画像を縦に隙間なく並べる方法 ver02 │ これからゆっくり考L +α
http://sakaki0214.com/2010/09/06232248.html
02662502010/09/22(水) 13:58:22ID:???
ごめんなさい <(_ _)>png画像->jpeg画像でした。
改めて
PNG画像からJPEG画像を作成してます。
作成されたJPEG画像に、『黒い外枠』が付いてしまいます。
何がいけないのでしょうか??


if($image_size["mime"] == "image/png"){ //Png画像だったら
$new_img = @imagecreatefrompng($fullpath); );//$fullpath:PNG画像の場所
imagejpeg($new_img, $fullpath_jpg); //$fullpath_jpg:JPG画像の保存場所
}

02672552010/09/22(水) 14:13:32ID:???
>>265すまん。
>>261のあとに>>262を書き込んでしまったけど、これは書き込み中の時間差。
おまいの認識は間違ってないと思います。

とりあえずここの住人のJPEGとGIFの特性くらいはみんな知ってるという前提の元に、
とりあえずみんなを代表して>>255の脊髄反射を書いたけど、
いずれエライ人が(喜び勇んで)解説するだろうと思ってた。

あと正直>>253みたいなのもゴミ書き込みだと思う。
それを皮肉ったつもりでもあるがこの気持ちは責められても仕方ないな。
02682552010/09/22(水) 14:15:33ID:???
本筋には影響ないかもしれないけど、圧縮率や特性云々の話は
GIFでもPNGでも同等と見なして良いよ、ということだけ伝えとく。
黒い枠の問題は他の諸氏に任せた。
0269nobodyさん2010/09/22(水) 14:17:15ID:???
透過pngを変換したから
0270nobodyさん2010/09/22(水) 14:19:33ID:???
昨日は無知に正論叩きつけた人が叩かれ
今日は無知な人が叩かれ
本当可笑しなスレ
02712502010/09/22(水) 14:50:19ID:???
>>266さん <(_ _)> それですね。
せめて黒枠を白にしたいのですが...
0272nobodyさん2010/09/22(水) 15:02:27ID:???
>>270
×昨日は無知に正論叩きつけた人が叩かれ
○面白い反応を期待してわざわざ無知を煽ったから叩かれた

×今日は無知な人が叩かれ
○今日は脊椎反射的なレスを自重している
0273nobodyさん2010/09/22(水) 15:05:30ID:???
>>271
0274nobodyさん2010/09/22(水) 15:16:40ID:???
>>271
imagecreatetruecolor() で作ったキャンバスを白で塗りつぶしてから
α付きPNGを上書きするようにしたらいけるんじゃないかな
0275nobodyさん2010/09/22(水) 15:24:53ID:???
>>271
ttp://q.hatena.ne.jp/1239164094
02762502010/09/22(水) 16:13:27ID:???
>>274さん いけました!

透過PNGのヒントや白キャンパスのヒントありがとうございました!

if($image_size["mime"] == "image/png"){
 $new_img = @imagecreatefrompng($fullpath);

 //同サイズのキャンパスをつくる
 $background_img = imagecreatetruecolor($image_size["0"],$image_size["1"]);
 //白く塗りつぶす
 imagefill($background_img , 0 , 0 , 0xFFFFFF);
 //キャンパスに画像を貼り付ける
 imagecopy($background_img, $new_img, 0, 0, 0, 0,$image_size["0"], $image_size["1"]);

 imagejpeg($background_img, $fullpath_jpg);

 imagedestroy($new_img); //削除
 imagedestroy($background_img);
}
0277nobodyさん2010/09/22(水) 17:09:56ID:???
おまいら本筋と関係ない煽り合いするのやめれ。
0278nobodyさん2010/09/22(水) 17:14:19ID:???
もう誰も何も言ってないのにわざわざぶり返すなよ
0279nobodyさん2010/09/22(水) 19:47:48ID:KE+VAC9I
【PHPのバージョン】5.3
【連携ソフトウェア】PHPMyAdmin

PHP&MYSQL初心者です。
変数からデータベースへとデータを登録したいのですが、
『クエリの送信に失敗しました。
SQL:INSERT INTO DB名 VALUES( '各変数の値',)』
と表示され登録できません。
上のエラー文の際に記載した値がきちんと表示されているので変数の受け渡しはきちんと行われていると思うのですが・・・・
ご教示願います。

コードは以下の通りです。
<?php
require_once("DB.php");
$*** = $_POST['***'];
$*** = $_POST['***'];
$*** = $_POST['***'];
$sql = "INSERT INTO sf36 VALUES('".$***."', '".$***."', '".$***."',)";
$result = executeQuery($sql);
?>
0280nobodyさん2010/09/22(水) 19:52:36ID:???
データベースを操作するときはOSも書きましょう
0281nobodyさん2010/09/22(水) 20:02:51ID:???
>>279
sqlの書き方以前に文字定数のルールを無視している
ttp://oshiete.goo.ne.jp/qa/2876075.htmlの真ん中あたり参照
02822812010/09/22(水) 20:05:41ID:???
文字定数のは何でもなかったから気にしないで
0283nobodyさん2010/09/22(水) 20:15:00ID:???
>>279
VALUESの最後の要素のあとにコンマつけたらダメなんじゃね?
phpのarray()はどっちでもいいらしいけど
0284nobodyさん2010/09/22(水) 20:18:52ID:7dYmP39I
サニタイズは以下のだけで十分でしょうか?
必要な文字の置換ってございますか?
文字列はファイルに記録します

$str = 不特定の人物により入力される不特定長文字列
$str = htmlspecialchars($str, ENT_QUOTES);
0285nobodyさん2010/09/22(水) 20:18:56ID:???
>>281
別にSQL間違っちゃいねーぞ?
あれだ最後にカンマが無駄に多い
もしくはそこをNULLにするならちゃんと書け
0286nobodyさん2010/09/22(水) 20:22:27ID:???
カンマの後に文字列がないのは間違いとは言わんのか
0287nobodyさん2010/09/22(水) 20:25:55ID:???
>>284
ファイルに記録するだけなら「不特定の人物により入力される不特定長文字列」をそのまま記録しとけ。
その後、htmlに出力するなら2行目の処理と共に出力すればいいし、sqlに入れるならsql用のエスケープ処理をすればいい。
0288nobodyさん2010/09/22(水) 20:28:26ID:???
>>284
mysql_escape_string
0289nobodyさん2010/09/22(水) 20:33:54ID:???
【PHPのバージョン】5.3

【質問内容】
サーバからYahooに自動でログインするにはどうしたらいいでしょうか

hiddenを全てURLに入れてPOST送信してもできませんでした
0290nobodyさん2010/09/22(水) 20:37:17ID:???
>>279
>SQL:INSERT INTO DB名 VALUES( '各変数の値',)

DB名なのか? テーブル名じゃなく。
0291nobodyさん2010/09/22(水) 20:46:22ID:???
>>288
mysqlの話じゃないかもしれないぞ
0292nobodyさん2010/09/22(水) 21:14:02ID:???
>>289
>>1
0293nobodyさん2010/09/22(水) 21:16:55ID:7dYmP39I
取り出すときに困るので1行1データにしてます
そのまま記録した場合は取り出す時はどのようにしたらよろしいでしょうか?
0294nobodyさん2010/09/22(水) 22:27:47ID:pnBUUkY6
ひとついってもいい?
あんたそのままphp+mysqlの入力、出力、更新、削除をここで聞くつもり?
本かって読めよ。
http://www.phppro.jp/これ見るとか。
<? while ( $item = mysql_fetch_array( $result2 ) ) { ?>
0295nobodyさん2010/09/22(水) 22:29:47ID:???
煽りキタコレwwwwwwwwwwwww
バカは直らないなwwwwwwwwwwwww
0296nobodyさん2010/09/22(水) 22:34:25ID:pnBUUkY6
はあ?
おれ>>294の答えだしたつもりだけど、間違っている?
0297nobodyさん2010/09/22(水) 22:36:12ID:pnBUUkY6
そのまま記録した場合は取り出す時はどのようにしたらよろしいでしょうか?
でしょう?
出力間違っている?

0298nobodyさん2010/09/23(木) 00:54:17ID:???
おまいら本筋と関係ない煽り合いするのやめれ。
0299nobodyさん2010/09/23(木) 10:14:29ID:arHUaaQP
外部リンク

$link = "http://www.hoge.com/pic/hoge.jpg"

と、内部リンク

$link = "../pic/hoge.jpge"
$link = "/public_html/pic/hoge.jpg"

とを見分ける関数はありますか?
0300nobodyさん2010/09/23(木) 10:29:22ID:???
strposで最初にhttpが付いてるか付いてないか判断
0301nobodyさん2010/09/23(木) 14:38:18ID:y1pwafIu
すみません質問します。
Aタグで本の詳細ページなどにリンクするとき、ハイパーリンクに書名を書きたいと思っています。
<a href="/bookdetail/title/ごんぎつね">本を見る</a>

このときタイトルの「ごんぎつね」の部分はurlencode()必須なんでしょうか?
ブラウザや文字コードによって違うのかどうなのか調べてもよくわからなくて困っています。
(smarty的には /title/{$bookTitle|urlencode} って感じかな? 蛇足ですが…)

urlencode必要だとしたらなぜ必要なのか、教えてもらえると嬉しいです。
php5使っています、よろしくお願いします。
0302nobodyさん2010/09/23(木) 14:48:36ID:???
>>301
URIの構文
http://tools.ietf.org/html/rfc1945#section-3.2.1
実際はブラウザが勝手にエスケープするからほとんどの場合は大丈夫なんだけどね
0303nobodyさん2010/09/23(木) 17:20:54ID:Xr2qd2I6
現在、会員登録制のサイトを作ろうと考えているのですが

1.ユーザーがIDとPASSを登録(仮登録)

2.会員のメアドにメールが届く

3.メールに記入されているアドレスにアクセス

4.登録終了(本登録)

と、ここまでのシステムは一応、作れました。
しかし、2のメールに載せる本登録用のURLに、ユーザーのメアドかIDをエンコードしてパラメータとして付けて
本登録ページでデコードして$_GETで受け取るようにしているのですが、ここが良くわかりません。
base64_encodeでやるとパラメーターの前後に==という文字列が入ってしまって見栄えが最悪です。

プロの方はこの辺りをどう処理されていらっしゃるのでしょうか?
0304nobodyさん2010/09/23(木) 17:28:25ID:???
1. URLにメアドなどの情報を持たせない。md5とかでやる。
2. ==が入ると見栄えが悪いと思うおかしな感性を捨てる。
0305nobodyさん2010/09/23(木) 17:29:37ID:???
まさか・・・出会い系サイト
0306nobodyさん2010/09/23(木) 17:35:45ID:???
IDとパスしか登録してないのにメアドに届くという不思議
0307nobodyさん2010/09/23(木) 17:36:13ID:???
出会い系サイトなら空メ登録だろJK
0308nobodyさん2010/09/23(木) 17:36:56ID:???
自分だったら
1.ID(メールアドレス)を登録(仮)

2.登録したメールアドレス宛に本登録URLを送る

3.パスワードを設定してもらう(本)

こうする
0309nobodyさん2010/09/23(木) 17:39:09ID:???
仮登録用データベースを作成してハッシュ関数で作成した固有のIDを発行させて置く
照合があって固有IDと一致した場合本登録用データベースにデータを移行する
データは有効期限を設定して時間以内に照合がなかった場合はタスクで削除される
0310nobodyさん2010/09/23(木) 17:45:59ID:???
皆さんありがとうございます。

1.メアド・ID・PASSを登録して貰ってDBに仮登録(Flagというカラムに0で登録)

2.本登録でFlagを1にする。

すみません、正確にはこうでした。
ということは、別にbase64でも良いんですね。
下手にシステム作ってプロの方に「プゲラwwwwww素人乙wwwwwww」
って思われたくなかったので…。

他の方の意見も参考にさせて頂きます。
ありがとうございました。
0311nobodyさん2010/09/23(木) 17:51:22ID:???
そのレベルだと、そこの遷移で言われなくても他のところで言われると思うぞ
0312nobodyさん2010/09/23(木) 17:52:52ID:???
base64の==はパディングだから無くても問題なかったはず
0313nobodyさん2010/09/23(木) 19:08:25ID:???
>>302
ありがとうございました
0314nobodyさん2010/09/23(木) 19:10:01ID:???
webプログラミングをはじめようと思う、これからphpを学んで掲示板でも作ろうと思うのですが
phpとSQLのデータベースを使ったのしか知らないのですが、他にどんな構成がありますか?
0315nobodyさん2010/09/23(木) 19:18:09ID:???
>>314
>>1
0316nobodyさん2010/09/23(木) 19:40:47ID:???
>>314

他の構成を知りたがる理由がわからない。

まずはPHP+MySQLで掲示板を作ってから次を考えても良いのでは?

一度でも何かを作ると他の構成でも容易にこなせる技能を身に付けられるよ。

0317nobodyさん2010/09/23(木) 19:45:08ID:t81TY9DG
【PHPのバージョン】5.3

【質問内容】
サーバからYahooに自動でログインするにはどうしたらいいでしょうか

hiddenを全てURLに入れてPOST送信してもできませんでした
0318nobodyさん2010/09/23(木) 19:48:28ID:???
>>314
データ保存場所にファイルとか
ネットワーク上の何かが来ても良い様に作れ
ただし切り替えは保存するクラスのみを変える事

これで出来ればある程度なんでも出来るようになるかもしれない
0319nobodyさん2010/09/23(木) 19:48:39ID:???
>>317
そういうのはここで教えられないよ
0320nobodyさん2010/09/23(木) 19:50:53ID:???
>>317
http://developer.yahoo.co.jp/other/oauth/
プログラムからアクセスしたいのならOAuthをお使いください
0321nobodyさん2010/09/23(木) 20:09:17ID:???
>>314
2ちゃんねるはPerlとテキストだよ
0322nobodyさん2010/09/24(金) 00:58:01ID:???
>>317
何度もしつこい。
03233142010/09/24(金) 01:10:32ID:IsRiwJnf
すみません、ID出すの忘れてました
本当に目からウロコなアドバイスありがとうございます。
これからphpとMySQLを学んでとりあえず作成してみることにします
0324nobodyさん2010/09/24(金) 01:52:11ID:4goExQXi
>>318
何を切り替えるんだ?
0325nobodyさん2010/09/24(金) 02:19:14ID:???
すみませんでした!
0326nobodyさん2010/09/24(金) 02:22:51ID:???
>>324
リンクするライブラリを切り替える。
ただし再コンパイルが必要な場合もある。
0327nobodyさん2010/09/24(金) 06:34:11ID:iCmL00OP
cronを使わずに、頻繁にアクセスがあるページを表示したら
バックエンドでPHPが実行されてログ集計が行えるものを作りたいと思っています。

execやsysytem関数で呼び出す方法じゃなくて
上記のような事が出来る関数があったと思うのですが、忘れてしまいました。
心当たりがある方は教えていただけないでしょうか?pearとかではないです。
0328nobodyさん2010/09/24(金) 07:08:18ID:???
>>327

>>225-227 みたいなの?
0329nobodyさん2010/09/24(金) 07:11:07ID:???
アクセスごとに集計すればよい。たいしたロスではない。
0330nobodyさん2010/09/24(金) 07:12:39ID:???
>>328
その記事は、サーバーからの接続を並列化するやつだぞ
0331nobodyさん2010/09/24(金) 07:25:12ID:???
確か擬似cronを実現するライブラリがあったはず
03323312010/09/24(金) 07:30:27ID:???
って意味がないことを書いてしまった
0333nobodyさん2010/09/24(金) 08:18:29ID:???
>>327
Googleリーダーをcron代わりに使う手もある
03343272010/09/24(金) 08:32:08ID:???
マルチスレッドじゃなくて、重い処理とかもバックエンドで動かすような関数を
以前このスレで教えてもらったのですが、忘れてしまって・・・。

とりあえず、これからAjaxで処理する方法を試してみます。
0335nobodyさん2010/09/24(金) 08:52:51ID:???
phpって実行が終わるまで読み込み終わらないってマジ?
全部出力した後に処理しても?
0336nobodyさん2010/09/24(金) 09:18:32ID:???
HTMLを全部出力し終わっても、
PHPが終わってくれんとHTTPとしての締めが行われないんじゃない?
0337nobodyさん2010/09/24(金) 09:29:13ID:???
なるほど!!
0338nobodyさん2010/09/24(金) 10:02:04ID:???
>>334
過去ログ見りゃいいじゃん
03393272010/09/24(金) 10:11:41ID:???
Ajax使って送信先のPHPファイルでsleepしたんですが、
その間、Ajax実行元のページも読み込み中のままになってしまい、
バックエンドで動かすのは無理でした・・。

>>338
それが見あたらなくて・・。コテハンでもないので、自分の投稿も覚えてないです。
0340nobodyさん2010/09/24(金) 11:13:33ID:???
>>339
systemやexecで外部プログラムを実行されるんじゃだめなの?
0341nobodyさん2010/09/24(金) 11:15:05ID:???
↑実行させる
03423272010/09/24(金) 11:29:29ID:???
>>340
それだと、パスがサーバ毎に変わると思うんです。
それにあまりコマンドを実行するのも不安ですし。

とりあえず、もう少し調べます。
0343nobodyさん2010/09/24(金) 11:34:16ID:???
wordpressのcron見てみたらどうだろう
というか頻繁に表示されるページに<img src="cron.php" width=1> みたいに埋め込んで
やればいいんじゃないか
0344nobodyさん2010/09/24(金) 11:35:52ID:???
24時間PC起動してタスクスケジューラで叩けば
03453272010/09/24(金) 11:40:00ID:???
>>343
それも試しましたが、処理に時間がかかる場合は
ずっと読み込み中になります。(cron.phpにsleppを入れてテストしました)

wordpressのcronってそんなのがあるんですね。ちょっと調べてみます。
0346nobodyさん2010/09/24(金) 11:54:51ID:???
>>344
それだったら、ぐぐるリーダーでいいじゃん。
0347nobodyさん2010/09/24(金) 12:45:49ID:NDRyKYW2
object指向のクラスの継承という概念について聞きたいんですが

これって、継承先で、オリジナルのクラスに既にあるクラスのメソッドやプロパティを
丸ごと利用できつつ、新しいメソッドを加えたりプロパティの値を変更して使える機能だと
理解してるんですが間違いないでしょうか?

そうだとすると、継承先で「メソッドを加えたり値を変更したり」しないのであれば
継承する意味がない(継承先クラスの中身{}の記述がカラになる)から
最初からオリジナルのクラスを利用すれば良いってことですよね?
0348nobodyさん2010/09/24(金) 12:56:30ID:???
PHPに限定しない質問ならプログラム板の質問スレで聞いたほうが回答率高いよ
向こうはこの時間でもアクティブユーザー多いから
0349nobodyさん2010/09/24(金) 13:12:17ID:???
>>347
つインターフェース
0350nobodyさん2010/09/24(金) 13:13:43ID:???
>>347
その考え方でだいたい合ってるよ。
でも中身に変更のない場合でも継承して定義することもあるよ。
わかりやすくするためとかの目的でね。
例えばJavaにあってPHPにはないFileNotFoundExceptionっていう例外があるんだけど、
名前の通りファイルが見つからなかった時投げる例外と分かるから、

class FileNotFoundException extends Exception {
}

と、これだけ書かれたクラスをPHPで定義してたりそういうこともするよ。
■ このスレッドは過去ログ倉庫に格納されています