【PHP】下らねぇ質問はID出して書き込みやがれ 96
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/05/28(金) 16:33:44ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 95
http://pc11.2ch.net/test/read.cgi/php/1271636105/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0503nobodyさん
2010/06/17(木) 05:16:08ID:???0504nobodyさん
2010/06/17(木) 05:20:16ID:???IPで判別してるのかと思ってました。
クッキーにランダムな文字列のセッションIDだけを入れて
後はサーバー側に保存と・・
0505495
2010/06/17(木) 05:26:02ID:sy18pq7kお返事が遅くなって申し訳ありません。
試してみます。
回答ありがとうございました。
0506nobodyさん
2010/06/17(木) 09:29:50ID:Ii8+nE6y送信フォームなどで使うボタン。以下のように書けばボタンの代わりに画像を使うことができますよね。
<input type="image" src="image.gif" name="sub" /> ←(ボタンの代わりに、“image.gif”という画像を使う)
そこで、画像の代わりに文字列を使うことは出来ますでしょうか?どういうことかと申しますと、普通によくあるリンク
(< href="xxxxxxxxx.html">リンク</a>)を張る感じで、それをクリックするとデータを送信させるようにしたいのです。
例えば、これは私の予想ですが、ヤフオクとかで条件を絞り込む場合、
「デスクトップ」という文字列のリンクがあり、それをクリックすると「デスクトップ」というデータを送信し、それを抽出して表示…
という仮定を踏んでいるものだと思っています(間違ってたらすいません)。
皆様のお知恵を拝借したいと思います。宜しくお願いします。
0507nobodyさん
2010/06/17(木) 09:40:25ID:???0508nobodyさん
2010/06/17(木) 11:47:14ID:Ii8+nE6yPOSTとGETリクエストは理解してるの?
理解はしてる…つもりです。一応ですけど。
<input type="image"……で、画像を使った時はうまくいきました。
0509nobodyさん
2010/06/17(木) 12:03:43ID:???ヤフオクの例はGETなんじゃねーの?ってことを
507は言いたいんだと思う。
ちなみにリンクでsubmitしたければ、javascriptで
onclickイベントにsumbitを書けばおk
0510nobodyさん
2010/06/17(木) 18:22:02ID:???<input type="text" name="search">
<input type="submit" value="search!!">
</form>
<?php
if(isset($_POST["search"])){
$str = $_POST["search"];
mb_internal_encoding("UTF-8");
mb_http_output("UTF-8");
$url = "http://search.yahooapis.jp/WebSearchService/V1/webSearch?appid=***&results=2";
$url .= "&query=".urlencode($str);
$data = simplexml_load_file($url);
print_r($data);
}
?>
検索したい言葉を入れて、Yahooの検索APIから検索結果を表示させたいんだけど、
検索結果が文字化けしちゃうし、日本語の検索キーワードを入力すると検索結果0件になっちゃうんだけど
どこがおかしいの?
0512nobodyさん
2010/06/17(木) 23:06:44ID:???0513nobodyさん
2010/06/17(木) 23:11:18ID:???「くだらない質問をするときはIDを出さなければならない」とは書かれているようですが、それがいかがなさいましたか?
0514nobodyさん
2010/06/17(木) 23:11:53ID:???0516nobodyさん
2010/06/17(木) 23:15:55ID:???0518nobodyさん
2010/06/17(木) 23:18:57ID:WMbR8KJ3>>30でUAを設定してるのと設定してないので取得できる量が変わるのはなんで?
0519nobodyさん
2010/06/17(木) 23:21:50ID:???パケットキャプチャしたりするとわかるのかな。
0520nobodyさん
2010/06/18(金) 00:26:09ID:df2633Tiphp4ts.dllをシステムフォルダにコピーすればいいらしいんですが
php4ts.dllが見つかりません
どこにおいてあるのでしょうか?
0522nobodyさん
2010/06/18(金) 00:41:58ID:df2633Tiこのサイトによると必要らしいので
0523nobodyさん
2010/06/18(金) 00:49:38ID:???少なくともそこのサイトの通りやっても5系の入れられないし、
あなたがダウンロードしちゃったのはソースなので使えないです。
0524nobodyさん
2010/06/18(金) 01:29:12ID:df2633Ti回答ありがとうございます
0525nobodyさん
2010/06/18(金) 01:57:21ID:???残婦なんか勧めるなよ
あれは「分かってるヤツ」がほんの若干の手間を省くためのもの
>>524
どこにソースをダウンロードなんて書いてあんだよ
http://windows.php.net/download/
から
x86 Thread Safe
の Installer を落とせ
0526nobodyさん
2010/06/18(金) 03:13:36ID:df2633Tiインストーラーを落としましたサンクスです
インストールする時にother cgiを選んだんですがこれでもいいですよね?
あとインストールすればすぐにPHP使えますか?
0527nobodyさん
2010/06/18(金) 03:33:58ID:feYzfmHO最近、PHPの勉強を始めたばかりなのですが。
XAMPPをインストール、テスト用の簡単なPHPも使用できていて、
動作には問題ないように思います。
mysqlは、utf8の文字コードを追加しています。
また、.htmlで、phpが動作するように、.htaccessを使用しています。
ウェブサイトを基本xhtmlでコーディングしていって、ヘッダーなどの部分を
PHPで共通化できればと思い、勉強を始めたのですが、いきなり文字化けに陥りました。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
これがソース内にあると、文字化けします。
逆に、なければ文字化けはしません。
これは、なぜなんでしょうか・・・
どなたか、おわかりになる方、ご教授してください><
0528nobodyさん
2010/06/18(金) 03:56:02ID:???ごめん オレには other cgi が何か分からん。
だいたい apache module みたいなんだと思う
君が cgi/fcgi を望んでるとは思えん
>>527
それぞれの文字コードを見直す
0530527
2010/06/18(金) 04:33:07ID:feYzfmHOありがとうございます。
php.iniを、もう1度みなおしていたら、UTF-8じゃない部分がありました。
単純なミスで質問してしまって、すいませんでした。
回答ありがとうございました!
0532nobodyさん
2010/06/18(金) 08:52:21ID:KlmzoK3kは表示されるのですが、
echo $_SERVER["REMOTE_HOST"];
は表示されません。
これは何処の設定をいじくれば表示されるようになるんでしょうか?
0534nobodyさん
2010/06/18(金) 14:04:34ID:J92h6I5ehttp://nyx.pu1.net/practice/server_var/server_var2.php#sample6
0535nobodyさん
2010/06/18(金) 14:43:06ID:PtT48P2nMySQLのテーブル「user」の各フィールド名を
user_id|user_name|user_mail
のように、テーブル名を接頭辞にして付けています。
$sql = "SELECT * FROM user";
$res = mysql_query($sql);
みたいにしてSQL文を実行してmysql_fetch_arrayで登録値を取得出来るわけですが、
登録値を取得する時、どういう配列名にすればいいか悩みます。
これまでは
$user = mysql_fetch_array($res);
のように、テーブル名を配列にして代入していたのですが、
これを出力する時、 $user["user_name"]となるので、ややこしく感じます。
どうするのが一般的なかと疑問に感じ、質問させていただきました。
0536nobodyさん
2010/06/18(金) 14:45:47ID:???0537535
2010/06/18(金) 14:53:14ID:PtT48P2n0538nobodyさん
2010/06/18(金) 14:59:35ID:J92h6I5e0539nobodyさん
2010/06/18(金) 15:11:06ID:???結合のときにカラムのエイリアスを付けなくていい
0540nobodyさん
2010/06/18(金) 15:14:44ID:???RDBMSがなんのためにスキーマ、テーブル、カラムで空間を分けてるか考えたら
結合のときにカラムのエイリアスを付けなくていいという理由だけで
接頭辞を乱用すべきじゃないね
0541535
2010/06/18(金) 15:21:55ID:PtT48P2n乱用すべきでないというのは分かります。
ただ、テーブル数が多くなってくると、やはり接頭辞を付けた方が
ソースが分かりやすいんです。WordPressやMTなんかも接頭辞を付けてますし。
で、>>536-540さんの意見を総合すると、
$user = mysql_fetch_array($res);
というようにテーブル名の配列に代入する方法が一般的なんですかね。
0542nobodyさん
2010/06/18(金) 16:42:15ID:???http://livedoor.2.blogimg.jp/agomesu/imgs/4/f/4faec292.png
ばらまこうぜ!
0543nobodyさん
2010/06/18(金) 18:19:48ID:df2633Tiインストールしたんですが
これって設定の変更とかせずにそのまますぐに使えますか?
0545nobodyさん
2010/06/18(金) 18:22:19ID:9ev+TnD6http://itpro.nikkeibp.co.jp/article/COLUMN/20070507/270089/
bamcompileでスタンドアロンEXEアプリを作ろう - PHP TIPS:ITpro
0546nobodyさん
2010/06/18(金) 18:25:10ID:UII6mL4gどうも上手く動作してないような気がします。
wwwフォルダ以下にある色んなphpやjpgなどを開いたら、
↓のapc.phpキャプチャ画像の2〜4番目あたりが変化しそうな気がするのですが、全く変わりません。
この状態だとキャッシュされているのが、その時開いたapc.phpだけという意味ですよね?
どこが悪いのかさっぱりです。
分かる方いましたらどうかよろしくお願いします。
【組込手順】
・本家からAPC.tgzダウンロード→解凍→サーバーにAPCフォルダとしてアップ
・cd APC
・phpize
・./configure --enable-apc
・make
・modulesにapc.soができたのを確認
【主なフォルダ/ファイル構成】
home
|
└myid
|
├APC
| └modules
| └apc.so
|
└www
└html/phpなど
0547nobodyさん
2010/06/18(金) 18:25:32ID:9ev+TnD6XAMPP Windows版 1.7.3 51 MB 自己解凍型RAR アーカイブ
http://www.apachefriends.org/jp/xampp-windows.html#2671
0548546
2010/06/18(金) 18:26:25ID:UII6mL4gttp://up.mugitya.com/img/Lv.1_up120571.jpg
ttp://up.mugitya.com/img/Lv.1_up120572.jpg
ttp://up.mugitya.com/img/Lv.1_up120573.jpg
ttp://up.mugitya.com/img/Lv.1_up120574.jpg
【phpinfo】
ttp://up.mugitya.com/img/Lv.1_up120575.jpg
ttp://up.mugitya.com/img/Lv.1_up120576.jpg
0549nobodyさん
2010/06/18(金) 18:30:17ID:???apt-get install lamp-server とコマンドを打つだけで
Apache MySQL PHPが自動でインストールされるのに
Windowsは非常に面倒だな
0550nobodyさん
2010/06/19(土) 05:25:01ID:9jWjEAKJ0551nobodyさん
2010/06/19(土) 05:41:28ID:???0552nobodyさん
2010/06/19(土) 09:08:29ID:???0553nobodyさん
2010/06/19(土) 19:33:03ID:PoSyZtDIheader('Content-Type: text/html; charset=UTF-8');
mb_http_output("UTF-8");
ob_start("mb_output_handler");
?>
<form method="POST" action="">
<textarea name="replace" cols=20 rows=4></textarea>
<input type="submit" value="replace!!">
</form>
<?
if(isset($_POST["replace"])){
$before = $_POST["replace"];
echo $before;
echo mb_detect_encoding($before);
$after = str_replace("です", "でした", $before);
echo $after;
echo mb_detect_encoding($str)."<br>";
}
フォームで文字列置換をやりたいんだけど、うまくいきません。
置換前の文字列とその文字コード、置換後の文字列とその文字コードを表示させてますが、
「あいうえおです」みたいな日本語を入力しても、該当箇所が置換されないどころか文字列自体が表示されません。
しかも文字コードはどちらもSJISになっちゃいます。
どうしたらうまく置換できるのでしょうか。
0556nobodyさん
2010/06/19(土) 19:58:59ID:9jWjEAKJ0557553
2010/06/19(土) 20:31:04ID:PoSyZtDIheader('Content-Type: text/html; charset=UTF-8');
mb_http_output("UTF-8");
mb_internal_encoding("UTF-8");
ob_start("mb_output_handler");
?>
<META httpequiv="Content-Type" content="text/html;charset=UTF-8">
<form method="POST" action="">
<textarea name="replace" cols=20 rows=4></textarea>
<input type="submit" value="replace!!">
</form>
<?
if(isset($_POST["replace"])){
$before = $_POST["replace"];
echo $before;
echo mb_detect_encoding($before);
}
とりあえずPOSTされたデータを表示させることから解決してみようと
>>555のmb_internal_encoding("UTF-8");を追加し、metaタグも入れてみましたが、
FirefoxではPOSTされたデータはちゃんと表示され、文字コードもUTF-8と出るのですが、
IEでは日本語を入力した場合、POSTされたデータは表示されない上、文字コードもSJISと出てしまいます。
ヘッダーもUTF-8にしてるはずなのでPOSTされたデータはUTF-8だと思ったのですが・・・
ヘッダーの設定方法がおかしいのでしょうか?
0558nobodyさん
2010/06/19(土) 21:36:37ID:???してIEとFirefoxで比べてみたらいい
0559nobodyさん
2010/06/19(土) 22:46:46ID:9jWjEAKJint2bin($n) のように変換するしかないですか? 既存関数のみで可能ですか。
fread, fwriteだとテキストで123456が出力されると思うのですが。
function int2bin($x){ return sprintf("%c%c%c%c", $x&255, ($x>>8)&255, ($x>>16)&255, ($x>>24)&255 ); }
function bin2int($s){ return ord ($s)+(ord ($s[1])<<8)+(ord ($s[2])<<16)+(ord ($s[3])<<24); }
0560nobodyさん
2010/06/19(土) 23:01:00ID:???0561nobodyさん
2010/06/20(日) 01:20:59ID:twag0hRe0562nobodyさん
2010/06/20(日) 01:43:30ID:???0564nobodyさん
2010/06/20(日) 01:59:37ID:qnX6bksXどうすればいいでしょうか?
例えば、URL: http://example.com/basic.htmlと言うベーシック認証の
ページがありID:foo / Passwd:barの場合
$ary = file0("http://example.com/basic.html");じゃ取得できません。
どうすればいいのでしょうか?
0567nobodyさん
2010/06/20(日) 02:10:51ID:???Basic認証がかかったページにアクセスする方法 - PHPプロ!Q&A掲示板
http://www.phppro.jp/qa/212
0568nobodyさん
2010/06/20(日) 02:23:15ID:???apc.stat を off にしてphpソースを変更
実行して変更が反映されてなければ間違いなくキャッシュされてる
jpgのくだりはよく分からないけど
キャッシュされるのはphpのバイトコードだよ
パースの手間が無くなる分軽くなる
0570nobodyさん
2010/06/20(日) 09:28:26ID:???http://hain.jp/index.php/tech-j/2007/02/13/p125
0571nobodyさん
2010/06/20(日) 11:15:41ID:OE54gla81.PHPのsystem()で.rbを実行するする
2.そのrbの中では色々な処理をする
3.処理が終わったらPHPにその処理結果を戻す
4.PHPでその結果を条件分岐か何かで判断をする
というようなWebページを作ろうとしています
これって可能ですか?
上2行は確認出来たのですが、結果をPHPに戻すのは無理なような気がします
どうですか?
0572nobodyさん
2010/06/20(日) 11:37:34ID:???0573nobodyさん
2010/06/20(日) 12:10:32ID:???と、Ruby知らなくてPHP中級な俺が言ってみる。
0574nobodyさん
2010/06/20(日) 13:45:50ID:???標準出力をキャプチャしたかったら popen(), proc_open() などを使う
0576nobodyさん
2010/06/20(日) 14:56:32ID:Zg4Yd11eオープンソースのPHPシステムを教えて下さい
0577nobodyさん
2010/06/20(日) 15:13:03ID:???正しく表示する方法はないのでしょうか?
0580nobodyさん
2010/06/20(日) 17:43:38ID:7fNS8+df$FileType = mime_content_type($FileNameTMP);
header("Content-Type:" .$FileType);
readfile($FileName);
こんな感じのソースを書いたのですが、IEだとブラウザでの表示ではなくて保存ダイアログが表示されるようになってしまいます。
Firefoxの場合は問題なく表示できます。
Firefoxも空のテキストファイルだと保存ダイアログが表示されるようになります。
画像ファイルやPDFファイルなどをブラウザで開ける様になる決方法は無いでしょうか?
0581nobodyさん
2010/06/20(日) 17:59:44ID:???header('Content-Type: application/pdf');
0582nobodyさん
2010/06/20(日) 18:02:31ID:7fNS8+dfそれやるとFirefoxでも問答無用で保存ダイアログが表示される。
やりたいのは>>580でも書いていますが保存ダイアログを出したいのではなくて
ブラウザ上で表示したい。
0583nobodyさん
2010/06/20(日) 18:04:12ID:???保存するなら >Content-Disposition: attachment
表示するなら >Content-Disposition: inline
0584nobodyさん
2010/06/20(日) 18:04:41ID:???失礼しました。
【OS名】CentOS5
【PHPのバージョン】5.3
【連携ソフトウェア】
【質問内容】
formから放り込んだ日本語をImageTTFTextで縦書きにしたいのですが、句読点やーがおかしな事になります。
正しく表示する方法はないのでしょうか?
過去ログでは縦書き専用フォントで・・・とかが見つかったのですが肝心の縦書き専用フォントがぐぐっても見つけられません。
0585nobodyさん
2010/06/20(日) 18:22:53ID:7fNS8+dfすみませんでした。
inlineの部分を見落としていました。
IEだとbmpファイルはこの方法でも保存ダイアログが出てしまいます。
また空テキストファイルだとFirefoxだと保存ダイアログがでます。
IEでは空テキストファイルでは保存ダイアログはでません。
これらを解決する方法は無いでしょうか?
0586nobodyさん
2010/06/20(日) 18:27:15ID:7fNS8+df空テキストファイルのMIMEを見ると
application/x-empty
となっています。
application/x-emptyを調べてみてもいまいちどういうときにできるMIMEなのかわかりません。
application/x-emptyをtext/plain変換してやらないと駄目って事ですかね?
0587nobodyさん
2010/06/20(日) 19:43:42ID:???mime-typeを適切に設定しろ
それだけだ
0588nobodyさん
2010/06/20(日) 19:49:09ID:7fNS8+df??????
0589nobodyさん
2010/06/20(日) 20:02:32ID:???ID出すことを忘れているようだけど、ともあれ、本題についてだけど、それは難しい。
フォントをいじってみてはどうか。
0590nobodyさん
2010/06/20(日) 23:22:44ID:V/OxbjwX他でオープンされていると0になるし、
値がキャッシュされるから実サイズと異なる値を返すことあり。頻繁な更新されている物だと。
0591nobodyさん
2010/06/21(月) 00:35:22ID:???ImageTTFTextって使ったことないけど
表示する文字が句読点かどうか調べて
句読点ならは座標をずらせばいいんじゃない?
ハイフンだったら縦棒(|など)に変換するとか。
0592nobodyさん
2010/06/21(月) 00:59:52ID:oQjyj8CX\を含むため。どう直せばいいですか。
function mkdir_r( $path ) {
if(is_dir($path)) return;
$path = str_replace( '\\', '/', $path);
$parts = array_filter ( explode('/', $path), 'strlen' );
$s=""; foreach ($parts as $part) { $s.="$part/"; @mkdir($s); } }
0593592
2010/06/21(月) 01:12:43ID:oQjyj8CX0594592
2010/06/21(月) 01:34:09ID:oQjyj8CXfunction mkdir_r( $t ) {
$s=array();
while( !is_dir($t) ) { $s[] = $t; $t=dirname($t); }
for( $n=count($s)-1; $n>=0; $n-- ) mkdir($s[$n]); }
0596nobodyさん
2010/06/21(月) 12:33:30ID:oQjyj8CX0597nobodyさん
2010/06/21(月) 12:51:52ID:???pathinfoとかdirnameの日本語の不具合って直ってないよね?
http://bugs.php.net/bug.php?id=37738
0598nobodyさん
2010/06/21(月) 18:06:11ID:oQjyj8CX<?php
$a = new A();
$a->add();
$a->add();
class A {
var $num;
function A() { $this->num=0; register_shutdown_function( array( $this, '_A' ) ); }
function add() { $this->num++; }
function _A() { echo "num={$this->num} \n"; }
}
?>
0599nobodyさん
2010/06/21(月) 18:16:36ID:???「〜」の処理とか
> 座標をずらせばいいんじゃない?
これとか、多分素直にさせてくれないよ。
動くとわりと面白い系だから一度は試して遊ぶといいかも。
0601nobodyさん
2010/06/21(月) 18:35:41ID:oQjyj8CX0602nobodyさん
2010/06/21(月) 18:41:50ID:???セーブして実行してみた。
% php hoge.php
num=2
出るじゃん。
■ このスレッドは過去ログ倉庫に格納されています