【PHP】下らねぇ質問はID出して書き込みやがれ 104
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/02/14(月) 16:45:59ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 103
http://hibari.2ch.net/test/read.cgi/php/1295956018/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0302nobodyさん
2011/02/22(火) 17:43:58.61ID:???0303nobodyさん
2011/02/22(火) 17:47:07.04ID:???初めて見たのでなんかとおもた。
0304nobodyさん
2011/02/22(火) 17:48:23.59ID:???http://system4zphoto.blog78.fc2.com/blog-entry-8.html
0305nobodyさん
2011/02/22(火) 18:03:25.17ID:xabu6f+mやって見ましたが画像のURLは表示されませんでしたorz
0306nobodyさん
2011/02/22(火) 18:17:03.60ID:???じゃぁ何が表示されたの?
テンプレートの解説ならconfig.phpの末尾に書かれてるから自分で色々試してみ
0307nobodyさん
2011/02/22(火) 18:17:06.61ID:???0308nobodyさん
2011/02/22(火) 18:29:50.05ID:???但し相対URLだけど
0309nobodyさん
2011/02/22(火) 18:32:50.49ID:???0310nobodyさん
2011/02/22(火) 18:35:58.73ID:???変数に相対URLしか入ってなくても環境変数使えば絶対URLも導けるし
0311nobodyさん
2011/02/22(火) 18:37:22.31ID:xabu6f+m時のソース↓
<img src='./data/%83t%83%40%83C%83%8B0001.jpg' border=0 align=right vspace=5 alt="(17KB)"><br clear="right"><br><div align="right">11/02/22 18:15</div>
書き換え
[if main/sam]<a href='{$main/url}'><img src='{$main/sam_url}' border=1 align=right vspace=5 alt="({$main/size}KB)"><br>{$main/url}</a>[/if]
時のソース↓で画像が表示されず日付と時間が表示されました。
<br clear="right"><br><div align="right">11/02/22 18:15</div>
何度もすいません。画像の下に画像のアドレス(URL)を表示したいんです。
ホントすいません。
0313nobodyさん
2011/02/22(火) 18:39:36.09ID:???お前ら丁寧につきやってやらないで誘導しろ
http://hibari.2ch.net/test/read.cgi/php/1222645553/
0314nobodyさん
2011/02/22(火) 18:46:10.12ID:???もしかして、ふざけてる?・・・わけじゃないよね。
日付と時間は最初から表示されてるじゃないか。
直すテンプレートファイルが違うんじゃないの?
mailbbs_pc.html直して編集画面を見てるとか。
編集画面ならmailbbs_admin.htmlも直さなくちゃ駄目だろうし
mailbbs_i.htmlとか関係しそうなテンプレ確認しなよ
0315nobodyさん
2011/02/22(火) 18:50:48.33ID:xabu6f+mここじゃないんですか?初心者なのですいません。
[loop main]
<table border=0 cellpadding=0 cellspacing=0 bgcolor="#99cc99">
<tr><td>
<table border=0 cellpadding=3 cellspacing=1 width=390>
<tr><td><font size=2 color="#ffffff">No.{$main/id} {$main/subject}</font></td>
</tr>
<tr><td bgcolor="#ffffff"><font size=2>
[if main/img]<img src='{$main/url}' border=0 align=right vspace=5 alt="({$main/size}KB)">[/if]
{$main/body}
[if main/noimg]<br>添付:<a href='{$main/url}'>{$main/filename}</a>({$main/size}KB)[/if]
<br clear="right"><br><div align="right">{$main/date}</div>
</font></td></tr></table>
</td></tr></table>
[/loop]
0316nobodyさん
2011/02/22(火) 18:54:43.49ID:???全部のテンプレファイル確認した?
とりあえずmailbbs_pc.htmlはこれをコピペしな。
[loop main]
<table border=0 cellpadding=0 cellspacing=0 bgcolor="#99cc99">
<tr><td>
<table border=0 cellpadding=3 cellspacing=1 width=390>
<tr><td><font size=2 color="#ffffff">No.{$main/id} {$main/subject}</font></td>
</tr>
<tr><td bgcolor="#ffffff"><font size=2>
[if main/sam]<a href='{$main/url}'><img src='{$main/sam_url}' border=1 align=right vspace=5 alt="({$main/size}KB)">{$main/url}<br></a>[/if]
[if main/img]<img src='{$main/url}' border=0 align=right vspace=5 alt="({$main/size}KB)">{$main/url}<br>[/if]
{$main/body}
[if main/noimg]<br>添付:<a href='{$main/url}'>{$main/filename}</a>({$main/size}KB)[/if]
<br clear="right"><br><div align="right">{$main/date}</div>
</font></td></tr></table>
</td></tr></table>
[/loop]
0317nobodyさん
2011/02/22(火) 19:06:54.46ID:xabu6f+m画像の左に表示されました。
絶対パスで表示させるには別なところを直さないといけないんですよね。
pop.phpだとは思うのですが、どうかヒントください。
0318nobodyさん
2011/02/22(火) 19:14:40.31ID:???pop.phpはメール受信スクリプト。掲示板を表示してるのはmailbbs.php
一番簡単なのは、config.phpの11行目
$tmpdir = "./data/";
を絶対URLで書けばいい。
$tmpdir = "http://example.com/hogehoge/data/";
0320nobodyさん
2011/02/22(火) 19:23:30.07ID:xabu6f+mお騒がせしました。
0322nobodyさん
2011/02/22(火) 19:26:29.20ID:???スーパーグローバルの$_SERVERとにらめっこするといい。
0323nobodyさん
2011/02/22(火) 19:33:14.52ID:xabu6f+mただ、$HTTP_SERVER_VARS [非推奨]と書かれているのですが・・・
0325nobodyさん
2011/02/22(火) 19:36:29.98ID:???config.php
-----
$tmpdir = "./data/"; //←元に戻す
$imgdir = "http://ime.nu/example.com/hogehoge/data/"; //←新しく追加
-----
mailbbs.php
-----
$arg['imgdir'] = $imgdir; // 27行目付近に追加
-----
mailbbs_pc.html
-----
さっき{$main/url}を追加した部分を{$imgdir}に変える
-----
0326nobodyさん
2011/02/22(火) 19:39:11.04ID:xabu6f+mそれはどのファイルにどのような感じにすればいいのか?
ヒントだけでも教えtください。
面倒ですいません。
0327nobodyさん
2011/02/22(火) 19:44:56.41ID:???コイツPHP以前の問題じゃねーかw
0328nobodyさん
2011/02/22(火) 19:45:25.68ID:???>>325は間違い。
config.php
-----
$tmpdir = "./data/"; //←元に戻す
$imgdir = "http://ime.nu/example.com/hogehoge/data/"; //←新しく追加
-----
mailbbs.php
-----
$row['url2'] = $imgdir.rawurlencode($att); // 185行目に追加
-----
mailbbs_pc.html
-----
[loop main]
<table border=0 cellpadding=0 cellspacing=0 bgcolor="#99cc99">
<tr><td>
<table border=0 cellpadding=3 cellspacing=1 width=390>
<tr><td><font size=2 color="#ffffff">No.{$main/id} {$main/subject}</font></td>
</tr>
<tr><td bgcolor="#ffffff"><font size=2>
[if main/sam]<div align="right"><a href='{$main/url}'><img src='{$main/sam_url}' border=1 vspace=5 alt="({$main/size}KB)"><br>{$main/url2}</a></div>[/if]
[if main/img]<div align="right"><img src='{$main/url}' border=0 vspace=5 alt="({$main/size}KB)"><br>{$main/url2}</div>[/if]
{$main/body}
[if main/noimg]<br>添付:<a href='{$main/url}'>{$main/filename}</a>({$main/size}KB)[/if]
<br clear="right"><br><div align="right">{$main/date}</div>
</font></td></tr></table>
</td></tr></table>
[/loop]
-----
0329nobodyさん
2011/02/22(火) 19:46:05.08ID:xabu6f+m本当にありがとうございました。
0333nobodyさん
2011/02/22(火) 20:24:06.95ID:xabu6f+m>>325を試していました。
最終確認すいません。
お騒がせしています。
config.php
-----
$tmpdir = "./data/"; //←元に戻す
$imgdir = "http://ime.nu/example.com/hogehoge/data/"; //←新しく追加
-----
$tmpdir = "./data/"; //←元に戻す
$imgdir = "http://ここは私のドメインでいいのですか?/data/"; //←新しく追加
mailbbs.php
-----
$row['url2'] = $imgdir.rawurlencode($att); // 185行目に追加
-----
// 画像がある時$row['url2'] = $imgdir.rawurlencode($att); // 185行目に追加
こんな感じでいいですか?
0334nobodyさん
2011/02/22(火) 20:35:21.79ID:???> $imgdir = "http://ここは私のドメインでいいのですか?/data/"; //←新しく追加
ドメインなのかサブドメインなのか、ドメイン+ディレクトリーなのか
あなたがそのスクリプトをアップしたURLということです。
> // 画像がある時$row['url2'] = $imgdir.rawurlencode($att); // 185行目に追加
> こんな感じでいいですか?
質問の意味がわからんが、
画像がある時かどうかはテンプレートの中で[if main/img]〜[/if]で判断されるから
mailbbs.php のほうは気にせずそのまま書いておけばいい。
ちなみに185行目というのは
$row['url'] = $tmpdir.rawurlencode($att);
の辺りということです。
0336nobodyさん
2011/02/22(火) 21:12:20.58ID:???0337nobodyさん
2011/02/22(火) 21:24:01.38ID:???0338nobodyさん
2011/02/22(火) 21:26:55.81ID:???0339nobodyさん
2011/02/22(火) 21:30:45.06ID:???0340nobodyさん
2011/02/22(火) 21:41:19.03ID:A5qsUgfA0342nobodyさん
2011/02/22(火) 21:52:05.39ID:???アドレスが表示されることを確認してから>>328を書いたんだけど。
ちなみに align=right の処理は間違ってた。
0343nobodyさん
2011/02/22(火) 22:08:54.54ID:???0344nobodyさん
2011/02/22(火) 22:09:42.04ID:???0345nobodyさん
2011/02/22(火) 23:14:33.38ID:eUe+o2ltスクリプト中の文字列に対して行なったところ変わる気配がありません
<?php
mb_language("Japanese");
$a = "ほげほげ";
mb_convert_encoding($a, "UTF-8", "auto");
echo mb_detect_encoding($a, "auto"); //SJISのまま
echo mb_strlen($a, "UTF-8"); //6とおかしな値が出る
echo strlen($a); //8
PHPはSJISで保存しています
0346nobodyさん
2011/02/22(火) 23:19:59.38ID:???ぢゃないか?
0347nobodyさん
2011/02/22(火) 23:22:18.29ID:???0348nobodyさん
2011/02/22(火) 23:25:26.22ID:???cronすら対応してないサーバの場合は手動でPHP実行するしかないのかな。
<?php
mb_language("Japanese");
$a = "ほげほげ";
//
var_dump( strlen( $a ), $a );
for ( $i = 0; $i < strlen( $a ); $i++ ) printf( "%s\n", bin2hex( $a[ $i ] ) );
printf( "<br/>\n");
//
$b = mb_convert_encoding($a, "UTF-8", "auto");
var_dump( strlen( $b ), $b );
for ( $i = 0; $i < strlen( $b ); $i++ ) printf( "%s\n", bin2hex( $b[ $i ] ) );
printf( "<br/>\n");
?>
0350345
2011/02/22(火) 23:29:09.48ID:eUe+o2ltナイスつっこみです
エラーも出ないので全然気づきませんでした
どうもありがとうございました
0351nobodyさん
2011/02/22(火) 23:30:06.06ID:???画面表示とかのリクエストがあったときにPOP処理を起動すればいいんじゃない
目的とメールの量にもよるけど
>>295のスクリプトがまさにそういうタイミングでPOP受信してる
0353nobodyさん
2011/02/22(火) 23:34:56.89ID:???0355nobodyさん
2011/02/22(火) 23:54:20.38ID:???1.var_dumpの後に<br />が無いので続く出力がくっついて醜いです。
2.bin2hexの出力が全て繋がってしまいます。16バイトとかで区切らないと醜いです。
3.やり方しだいですがprintfには書式に%Xがあります。コードが醜いです。
4.エンコードを変換する前後の文字列をvar_dumpしていますが、文字化けして醜いです。
5.brと/の間にはスペースを入れましょう。醜いです。
総合得点100点中5点
コーディングには作成者の性格が現れるといいます。もうすこしがんばりましょう。
0356nobodyさん
2011/02/22(火) 23:55:22.28ID:???0358nobodyさん
2011/02/23(水) 02:32:48.02ID:???メール受信がネックになるようだったら受信するかどうかを乱数で決めればよく。
十分なPVがあることが前提だけどね
0359nobodyさん
2011/02/23(水) 02:39:20.51ID:aCifZZvQテキストやフォントサイズはGETから(<img src=gd.php?text=テスト&size=20のように>)操作できるのですが
画像上に表示したテキストをwidthやheightを指定して移動させたいと思いGETで渡しても反映されません。
どのようにすれば出来ますか?
0360nobodyさん
2011/02/23(水) 02:51:42.28ID:???0361nobodyさん
2011/02/23(水) 02:53:29.92ID:???何をしたいのかよくわからんけど、「どのようにすれば出来ますか」じゃなくて
自分が書いてうまくいかなかったソースを提示して疑問点を明確にするように
0362nobodyさん
2011/02/23(水) 02:55:04.91ID:aCifZZvQそれをやっていますが反映されません。
理由がわからないので質問させて頂きました。
0363nobodyさん
2011/02/23(水) 02:57:15.59ID:aCifZZvQ<?php echo "<img src=./gd.php?q=".$_REQUEST[q]."&text=".$_REQUEST[text]."&fontsize=".$_REQUEST[fontsize].">"; ?>
<br><br>
<form action="" method="get">
<input type="hidden" name="q" value="<?php echo $_REQUEST[q]; ?>">
<input type="text" name="text" value="<?php echo $_REQUEST[text]; ?>"><br>
【文字サイズ】<br>
<SELECT NAME="fontsize">
<OPTION VALUE="40">普通
<OPTION VALUE="25">小さめ
<OPTION VALUE="60">大きめ
</SELECT><br>
【文字の移動】<br>
縦に<input type="text" name="h" value="<?php echo $_REQUEST[height]; ?>" size="10">移動する<br>
横に<input type="text" name="w" value="<?php echo $_REQUEST[width]; ?>" size="10">移動する<br><br>
<input type="submit" value="加工する">
0364nobodyさん
2011/02/23(水) 02:59:29.81ID:aCifZZvQ$width = 100-$_REQUEST[width]等、色々いじってみましたがフォントの位置のパラメータは渡せませんでした。
<?php
$font_size = $_REQUEST[fontsize];
$red = 100;
$green = 100;
$blue = 200;
$text = mb_convert_encoding($_REQUEST[text], 'utf-8', 'auto');
$path = "./img/".$_REQUEST[q].".jpg";
$width = $_REQUEST[width];
$height = $_REQUEST[height];
$font = "./APJapanesefontF.ttf";
$image = @imagecreatefromjpeg($path);
$col = ImageColorAllocate($image, $red, $green, $blue);
ImageTTFText($image, $font_size, 0, $width, $height , $col, $font, $text);
// jpeg出力
header("Content-type: image/jpeg");
Imagejpeg($image);
imagedestroy($image);
?>
0365nobodyさん
2011/02/23(水) 03:01:23.89ID:aCifZZvQ0366nobodyさん
2011/02/23(水) 03:02:04.54ID:aCifZZvQ×name="w"
0367nobodyさん
2011/02/23(水) 03:06:07.61ID:???$_REQUEST[q] って何?
0368nobodyさん
2011/02/23(水) 03:11:29.95ID:???0369nobodyさん
2011/02/23(水) 03:12:00.55ID:aCifZZvQ良い案が思い付かなかったのでこんな感じにしました。
0370nobodyさん
2011/02/23(水) 03:12:23.10ID:???0371nobodyさん
2011/02/23(水) 03:14:14.14ID:???0372nobodyさん
2011/02/23(水) 03:17:50.61ID:aCifZZvQ$_REQUEST[width]にも値が入っていて
gd.phpの側でも受け取れているはずなのに反映されないからおかしいなぁと思いましてですね。
GD固有の癖でもあるのかと思って質問させて頂いたのですが。
0373nobodyさん
2011/02/23(水) 03:21:46.06ID:aCifZZvQ×<?php echo "<img src=./gd.php?q=".$_REQUEST[q]."&text=".$_REQUEST[text]."&fontsize=".$_REQUEST[fontsize].">"; ?>
○<?php echo "<img src=./gd.php?q=".$_REQUEST[q]."&text=".$_REQUEST[text]."&fontsize=".$_REQUEST[fontsize]."&width=".$_REQUEST[width]."&height=".$_REQUEST[height].">" ; ?>
こうでした。
お手数掛けて申し訳ありません。
0374nobodyさん
2011/02/23(水) 03:22:11.52ID:???0376nobodyさん
2011/02/23(水) 03:37:26.40ID:???そうでないなら$_REQUEST[width]には入ってないと思うんだけど。。。
0379nobodyさん
2011/02/23(水) 04:02:11.12ID:???その意味でエスケープということもある
HTML Entity のことを英語でも HTML Escape Character や HTML Escape Symbol などとも呼ぶ
0381nobodyさん
2011/02/23(水) 04:52:15.95ID:???その直後の>>373で出来たって言ってるんだからつっこむ暇無いだろうが
つーか終わったネタにいつまでグジグジ言ってんの?
0382nobodyさん
2011/02/23(水) 05:24:49.99ID:???0384nobodyさん
2011/02/23(水) 13:45:18.97ID:6OM3cecQwordpress使おうと思って、色々と必要なものをインストールした。
が、mysql.soとpdo_mysql.soがロードされない。
OSはCentOS5.5。 PHPは5.2.17。
/etc/php.d/mysql.iniにはextension=mysql.soは書かれている。
phpinfo()で確認しても、ちゃんとmysql.iniは読み込まている。
extension_dir(だっけ?)もちゃんと正しく表示されていて、
そのディレクトリの存在も確認したし、その下にmysql.soもあった。
apacheのログを見ても特にエラーはなし。
の、状態でphpinfo()で表示される諸々の情報で、
pdo_mysqlやmysqlが出て来ないのはなぜでしょう?
スレチだったら、Linux板行ってきます。
0385nobodyさん
2011/02/23(水) 13:53:38.29ID:???0386nobodyさん
2011/02/23(水) 13:55:14.84ID:???0387nobodyさん
2011/02/23(水) 14:01:23.50ID:6OM3cecQおけ。ありがとう。
でも、phpinfoで読まれてるっと表示があるのに
読まれないってこともあるんですかね。
仕事終わって帰ったら試してみます。
ぐぬぬ。
0388nobodyさん
2011/02/23(水) 14:06:08.45ID:bwOUGcGJ個別でインストールしたの?
それともyumで?
0389nobodyさん
2011/02/23(水) 14:09:41.62ID:6OM3cecQちなみに依存関係とかってありますかね?
同じ設定方法で、mbstringとか、pdo_sqlite とかは読めてるんですよね。
0390nobodyさん
2011/02/23(水) 14:27:14.79ID:???0391nobodyさん
2011/02/23(水) 15:00:25.47ID:Ql2fJWu6こちらでも投稿させていただきました。
【OS名】CentOS
【PHPのバージョン】5.1.6
【連携ソフトウェア】MySQL ZendFramework
【質問内容】
MySQLにレコードを登録するプログラムを組んでいます。
ブラウザからアクセスしてプログラムを実行すると
ちゃんとDBに登録されるプログラムを
コマンドラインで実行するとエラーが出てしまいます。
エラーには
SQLSTATE[HY000]: General error: 2053
と表示されます。
ほかにはスタックに
Zend_Db_Statement_Pdo->fetchAll()
でエラーが発生しているかのように出ておりました。
エラーを解消するにはどの様にすればよろしいでしょうか。
よろしくお願い致します。
0393nobodyさん
2011/02/23(水) 15:17:28.66ID:6OM3cecQんー。それは済ませてあります。
現に、mysql.soは存在してるので...。
帰ったらもう一度試してみますです。
0394nobodyさん
2011/02/23(水) 16:20:19.40ID:???PHP公式マニュアルでも「エスケープ」が使われてる
http://www.php.net/manual/ja/faq.html.php#faq.html.encoding
例2「ブラウザはエスケープされたシンボルを解釈する」
http://www.php.net/manual/en/faq.html.php#faq.html.encoding
Example #2「browser will interpret the HTML escaped symbols」
0395385
2011/02/23(水) 16:38:29.70ID:???> phpinfo()で確認しても、ちゃんとmysql.iniは読み込まている。
ごめん。みおとしてた。
phpinfoはWeb経由で?それともCLIで?
extension行がコメントアウトされてるってことは、、、ないか。
0396nobodyさん
2011/02/23(水) 16:50:57.68ID:3aR5DZo1md5でハッシュにして保存、ログインの時もidとハッシュにしたパスワードでDBをcountして1であればokにしています。
0397nobodyさん
2011/02/23(水) 16:52:16.20ID:6OM3cecQ両方とも試してみましたですよ。
mysql絡みだけ表示されませんでした。
今コソーリ社内の環境と、昨晩の記憶を思い返して比較したけど、mcript なんて入ってたかな?と。
それがmysql.soをロード出来ない理由かは?ですが。
社内にPHPerやlinux使いがいなくて聞けない(涙)
0398nobodyさん
2011/02/23(水) 17:05:29.73ID:???0399nobodyさん
2011/02/23(水) 17:07:03.39ID:???だいたいそんな感じだけど、それだけだと怖いので、
$salt = "tekitou";
$row['password'] = sha1($salt.$password);
な感じでDBに格納してるかな。$saltはこっちが決めた適当な文字列。
登録のときもログインのときも、SQLインジェクション対策忘れずにね。
0400nobodyさん
2011/02/23(水) 17:18:27.25ID:???0402nobodyさん
2011/02/23(水) 17:57:37.72ID:3aR5DZo1ありがとうございます。
書き忘れましたが、keyを付けてハッシュにしています。
keyはユーザーごとにランダムに生成した物で、idとkeyのレコードがあるテーブルを作って、
idからkeyをgetしてそれで判定するって感じでしょうか?
■ このスレッドは過去ログ倉庫に格納されています