【PHP】下らねぇ質問はここに書き込みやがれ 39
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/02/12(月) 20:33:59ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 38
http://pc10.2ch.net/test/read.cgi/php/1170520777/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc10.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc10.2ch.net/db/subback.html
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
しかし初心者が目的も定めずに速度を気にしたところでほとんど意味は無いぞ
0237nobodyさん
2007/02/14(水) 03:01:40ID:1cNo3AQsそこで二重クリック(カウント)防止について相談です。
1度クリックするとクッキーを発行し、一定の期間はカウントアップされない
ようにとも考えたのですが、これだとクッキーを有効にしてないと意味がない。
次に、クリック者のIPアドレスとクリック日をログに保存するパターンも
考えたのですが、これもいちいちログに保存していると、ログが誇大化しそう。
と言うわけで他の良いアイディア、「こうすればいい」と言うのはありませんでしょうか?
0238nobodyさん
2007/02/14(水) 03:04:03ID:???0239nobodyさん
2007/02/14(水) 03:09:23ID:1cNo3AQsそうですね。それしかないような気がしたんですが、
やっぱりそれしかないですね。。
ありがとうございました。
0241237
2007/02/14(水) 03:15:50ID:???メンバーサイトではそうしようと思っているのですが、
バナー広告(アフィリエイトみたいな)の場合、どうしたら
不正を防げるかな?と思いまして。
0242nobodyさん
2007/02/14(水) 03:21:13ID:???完全に防ぐ方法は存在しない(と思う(弱気))。
ログインさせる方法はほぼ完全に防げるけど。
同一IPからの投稿を防ぐというのは以下の点で問題がある
・proxyを強制的に使わせられる環境(会社とか)からだと1名しか使えない
・接続し直せばIPが変わるプロバイダがある
cookieを使う方法は以下の点で問題がある
・cookieを拒否するブラウザからだとアクセスを拒否するくらいしかできない
・cookieを消されたら何度でもアクセスできてしまう
以上の点を勘案してサイトの性格や客層を考えて、
どれが有効に機能するか考えれば良いかと思う。
0244nobodyさん
2007/02/14(水) 11:30:52ID:???0246nobodyさん
2007/02/14(水) 15:35:31ID:Wx0Ihw2Gmb_send_mail() などでメール送信しても、SquirrelMailの送信履歴に残りません。
これを残るようにするためには、どうすれば宜しいでしょうか?
0247虚弱PHP
2007/02/14(水) 16:04:02ID:???SquirrelMailは知りませんが、直接SquirrelMailと会話するとか。
またはSquirrelMailをハックしてデータファイル(またはDBを)いじるとか。
0248激初心者
2007/02/14(水) 16:11:48ID:znoSRiTBします。質問PHPの#makeができません。環境 Fedora 2
[root@localhost php-5.2.1]# ./configure --with-pgsql --with-apxs2=/usr/local/apache/bin/apxs --enable-mbstring --enable-mbregex
〜省略〜
Sorry, I cannot run apxs. Possible reasons follow:
1. Perl is not installed
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using --enable-so (the apxs usage page is displayed)
The output of /usr/local/apache/bin/apxs follows: apxs:Error: Sorry, no shared object support for Apache apxs:Error: available under your platform. Make sure
apxs:Error: the Apache module mod_so is compiled into apxs:Error: your server binary `/usr/local/apache/bin/httpd'. configure: error: Aborting
とでます。perlのインストールが必要ということでしょうか?
[root@localhost root]# rpm -qa perl* perl-HTML-Parser-3.35-5
perl-libxml-enno-1.02-30
perl-5.8.3-18
perl-URI-1.30-1
perl-HTML-Tagset-3.03-29
perl-Parse-Yapp-1.05-31
perl-XML-Parser-2.34-2
perl-libxml-perl-0.07-29
perl-XML-Encoding-1.01-25
perl-Text-Kakasi-1.05-10
perl-Filter-1.30-5
perl-DateManip-5.42a-1
perl-libwww-perl-5.79-1
perl-XML-Dumper-0.71-1
perl-NKF-2.04-2.1
perlの./configure も必要になるのでしょうか?
0249nobodyさん
2007/02/14(水) 16:16:09ID:???apxsのパスが間違ってると思われ
find / -name apxsで探してそのパスを指定すべし
あと、質問するときは「初心者ですけど〜・・・」とかはなるべく控えた方がいい
0250激初心者
2007/02/14(水) 16:19:19ID:znoSRiTBありがとうございました。初心者は次回より撤回します。
0253nobodyさん
2007/02/14(水) 16:50:52ID:???当たり前だバカ。
mb_send_mailは「単に送信」するだけで、記録とかはしてない。
それにPHPとSquirrelMailは連動してない。
0254nobodyさん
2007/02/14(水) 16:54:06ID:???送信ログ用のアカウントを作って、そこにもBccで
メール送ればいいんだよ。
当然、送信履歴としては残らんけどな
ログ目的なら用は足りるはず。
0255nobodyさん
2007/02/14(水) 16:56:49ID:J6wAx8mi0256nobodyさん
2007/02/14(水) 16:58:57ID:???0257nobodyさん
2007/02/14(水) 16:59:02ID:???それをログなりに使えるようにしてるよ
0258nobodyさん
2007/02/14(水) 16:59:02ID:???0259nobodyさん
2007/02/14(水) 17:16:18ID:???そりゃ大物だな。
0260nobodyさん
2007/02/14(水) 17:19:13ID:???0261nobodyさん
2007/02/14(水) 17:24:05ID:???0262nobodyさん
2007/02/14(水) 17:26:40ID:???エクステンションってどういうときに作りたくなるもんなんでしょうか?
0263nobodyさん
2007/02/14(水) 17:31:34ID:???クロスコンパイルできるコンパイラなら Windows でもできるけど
当然動作確認は Linux でやる必要があるわね
0264nobodyさん
2007/02/14(水) 17:49:16ID:Wx0Ihw2GSquirrelMailのcompose.phpをハックしているんですが、かなり難解です・・・
Outlook ExpressのIMAPでメール送信してもSquirrelMailで履歴残るので
恐らく鯖のIMAPに処理を投げれば送信履歴などの処理全部してくれると思うのですが。
>>254さん
すごい!それなら簡単ですね。
ただFROMが自分になり誰からメールが来たのか分からなくなるので、
もう一回FROMは送信相手で自分にメール送ればいいのかな。
0265248
2007/02/14(水) 17:50:48ID:znoSRiTBパスはあっているようです。
[root@localhost php-5.2.1]# find / -name apxs /root/apache_1.3.4/src/support/apxs
/usr/local/apache/bin/apxs
>>251 apache 2 ではありませんでした。
[root@localhost php-5.2.1]# ./configure --with-pgsql --with-apxs=/usr/local/apache/bin/apxs --enable-mbstring --enable-mbregex
〜省略〜
Configuring SAPI modules
checking for AOLserver support... no
checking for Apache 1.x module support via DSO through APXS...
Sorry, I was not able to successfully run APXS. Possible reasons:
1. Perl is not installed;
2. Apache was not compiled with DSO support (--enable-module=so);
3. 'apxs' is not in your path. Try to use --with-apxs=/path/to/apxs
The output of /usr/local/apache/bin/apxs follows
apxs:Error: Sorry, no shared object support for Apache
apxs:Error: available under your platform. Make sure
apxs:Error: the Apache module mod_so is compiled into
apxs:Error: your server binary `/usr/local/apache/bin/httpd'.
configure: error: Aborting
講習本の通りではうまくいかないのでつらいです。
0266264
2007/02/14(水) 17:56:14ID:Wx0Ihw2G0268nobodyさん
2007/02/14(水) 19:20:07ID:???「初心者ですけど」は言ったほうがいい。
どれくらいわかってる人間なのかわかったほうが教えるほうも教えやすい。
0269nobodyさん
2007/02/14(水) 19:31:30ID:/in1FXWr仕事をするにおいて、PHPが不要な職場でした。
しかし、PHPの実務経験を重ねたいと思うのですが、
フリーランスで受けたほうがよろしいのでしょうか?
0271nobodyさん
2007/02/14(水) 20:11:19ID:X1SIEjFH算出方法がわかりません。
日給で決めて月給を出すやりかたがいいですかね?
0272nobodyさん
2007/02/14(水) 20:30:30ID:dUL7YtjGいま、フォームに情報入力して、名前をつけて保存。
⇒あとで一覧から書く名前を指定して開く というようなメモ帳のシステムを
作っています。(DBは使わず、ただのファイル保存です)
で、「名前」をアルファベットにしたら問題ないのですが、日本語にしたら
あとで参照した時に文字化けしたファイル名がでてきます(しかも2つ)。
どうしたら良いでしょう?
メタのcharsetをEUCでブラウザに表示(入力画面も当然EUC)にしているんですが。
参照画面の名前一覧を表示する際に、保存ディレクトリ以下のファイルを
$dirObj = dir("./doc");
while($strPath = $dirObj->read()){
$strPath = mb_convert_encoding($strPath,"EUC","Sjis");
として取っているんですが、このエンコードでいいんでしょうか?
また、ファイルの中身を読み取る時も同様のエンコードをしています。
自分なりに"EUC"と"Sjis"を置き換えたりしたんですがうまくいきません。
原理的な部分で理解できていないんだと思うんですが、、
誰かご回答お願いします。
0273nobodyさん
2007/02/14(水) 20:57:43ID:???読み取る時にファイル名を
mb_convert_encoding($strPath,"EUC","SJIS");
するなら、保存する時に
mb_convert_encoding($strPath,"SJIS","EUC");
しておかないといかんと思うが?
0274nobodyさん
2007/02/14(水) 21:04:09ID:???phpと関係ないんですがwin環境用のapacheをsslと一体化したブツをコンパイルして作りました。
海外サイトに同じようなものがあるのですがアングラっぽいので自分で作ったのですが、
せっかくだから配布しようかと思っているのですが、
日本人がやったものが欲しいお方はいらっしゃいますかね?
それぞれのバージョンの最新、一個前のを置こうかと思ってます。
0276nobodyさん
2007/02/14(水) 22:21:45ID:dUL7YtjGそもそもの根本的な部分をお聞きしたいんですが、
>$strPath = mb_convert_encoding($strPath,"EUC","Sjis");
というの自体、何故SJISからEUCにエンコードしてるんでしょう?
SJISで保存されているデータはそのままいじると文字化けするから??
ワカラン、、、
0277248
2007/02/14(水) 22:26:54ID:znoSRiTBありがとうございます。みなさんのおかげでなんとかMAKEできました。
しかし、windowsしか知らない自分からみればかなりとまどいます。
linuxはなにか心構えというコツみたいのがあるのでしょうかね。
0278nobodyさん
2007/02/14(水) 22:28:07ID:???ビット計算って使う場面って出てきますか?
あと、シェル実行するような場面はどういう場面でしょう?
0279nobodyさん
2007/02/14(水) 22:36:34ID:???GIFアニメを合成するにはどうすればいいですか?
0280nobodyさん
2007/02/14(水) 22:41:45ID:???> 何故SJISからEUCにエンコードしてるんでしょう?
知らんがなw
保存時のコードを晒さないと正しい読み取り方が分からない。
0281nobodyさん
2007/02/14(水) 22:43:08ID:???GIFアニメといっても、GIF画像の集合体だから、
GIFデータを一つのファイルをマッピングすればいいだけ。
0282nobodyさん
2007/02/14(水) 22:45:24ID:???> 何故SJISからEUCにエンコードしてるんでしょう?
hint: char codes on Windows is 'SJIS', but char codes on UNIX OS is 'EUC'
0283nobodyさん
2007/02/14(水) 22:49:21ID:???GIF+GIFではGIFの最初のコマしか表示されませんでした。
ググってみたところ参考になるようなサイトがありません。。。
0285nobodyさん
2007/02/14(水) 23:10:32ID:???どのように書けば良いのでしょうか・・・?
header("Content-Type: image/gif", 2);
こうではないですよね・・
0286nobodyさん
2007/02/14(水) 23:25:58ID:???0287nobodyさん
2007/02/14(水) 23:39:39ID:???ビット演算は実務ではビットフラグの読み書きに一度使ったくらい。
ビットフラグについては検索したら出てくるよ。
&=と=&を勘違いしない程度に覚えるだけでいいと思う。
シェルはsystem()系関数全般の話?
PHPでどうしても直接操作できない処理に使う。
ps axに使った記憶があるけど、ひょっとしたらPHPでもできたかも。
>>279
PEAR探したらそれ系のライブラリあるかも。
0290nobodyさん
2007/02/15(木) 00:16:39ID:???勝手にコンピュータがやらんとしてることを読み取って
文法修正してくれる時代になったら3.0名乗ってもいいかもね。
0291nobodyさん
2007/02/15(木) 01:16:05ID:???Web1.0 −− 【地図のない旅行】おまえら(give)ユーザ(take)
Web2.0 −− 【地図のある旅行】おまえら(give&take)ユーザ(give&take)
Web3.0 −− 【ツアーによる旅行】おまえら({give&take}*2)ユーザ({give&take}*2)
0292nobodyさん
2007/02/15(木) 01:31:12ID:???よくわからないw
「ツアーによる旅行」とか「{give&take}*2」とか曖昧な表現でごまかさずに、
正確に定義しろ。
0293nobodyさん
2007/02/15(木) 01:33:29ID:???0295nobodyさん
2007/02/15(木) 02:07:10ID:148YlLut0296nobodyさん
2007/02/15(木) 03:24:09ID:RmGuU60L以下のように試してみたのですが、文字コードがうまく取れなくて困っています
$str = $_POST['txt'];
$str = unpack("C*", $str);
$max = count($str);
$buf = "";
$i = 1;
while($i <= $max) {
$char1 = $str[$i];
$char2 = $str[$i+1];
echo $char1.'<hr>';
if(($char1 == 0xF3) || ($char1 == 0xF4) || ($char1 == 0xF6) || ($char1 == 0xF7)) {
$d = strval(dechex($char1)).strval(dechex($char2)) ;
$buf .= "?".strtoupper($d).";" ;
}
$i++;
}
elseif(((0x81 <= $char1) && ($char1 <= 0x9f) ) || ((0xe0 <= $char1) && ($char1 <= 0xfc))){
$buf .= pack("C", $char1) . pack("C", $char2);
$i++;
}
else
$buf .= pack("C", $char1);
$i++;
}
return $buf;
}
絵文字をPOSTすると
echo $char1でau規定の絵文字コードである「0xF3、0xF4、0xF6、0xF7」になるはずなのに0xEEになってしまいます。。。
分かりにくいかもしれませんがどうかお力お貸しください(;ω;)
0297nobodyさん
2007/02/15(木) 05:17:34ID:???$c = count($str);
for($i = 1;$i <= $c;$i++){
$char1 = $str[$i];
$char2 = $str[$i + 1];
if((($char1 == 0xF3 || $char1 == 0xF6 || $char1 == 0xF7) && (($char2 >= 0x40 && $char2 <= 0x7E) || ($char2 >= 0x80 && $char2 <= 0xFC))) ||
($char1 == 0xF4 && (($char2 >= 0x40 && $char2 <= 0x7E) || ($char2 >= 0x80 && $char2 <= 0x8D)))){
$d = strval(dechex($char1)).strval(dechex($char2));
$buf .= "?".strtoupper($d).";";
$i++;
}else if(($char1 >= 0x81 && $char1 <= 0x9F) || ($char1 >= 0xE0 && $char1 <= 0xFC)){
$buf .= pack("C*", $char1, $char2);
$i++;
}else{
$buf .= pack("C", $char1);
}
}
0299nobodyさん
2007/02/15(木) 06:33:27ID:???他に携帯対応のランキングないですか?
0300299
2007/02/15(木) 06:40:43ID:???0301nobodyさん
2007/02/15(木) 10:38:22ID:???っていうか「web2.0」だって、巷でなんとなく使われてるだけで
別に正確な定義なんてないし定義する必要もないし。
ガチガチの定義を求めようとする考え方自体が「web1.0的」で古くてダサいww
0302虚弱PHP
2007/02/15(木) 10:48:27ID:???PHPからIMAP関数使ってメール送るでいいんじゃないでしょうか。
http://jp2.php.net/imap
インストールがちと面倒かもしれんけど。
あと、使ったことないからわからん。
0303nobodyさん
2007/02/15(木) 11:48:17ID:yf6o9ju+imagecreatefrom***
を呼び出すのではなく
自動に判断して欲しいのですが
そういう方法はないですか?
0305296
2007/02/15(木) 12:59:18ID:???echo $char1; -> echo dechex($char1).dechex($char2);
でした。
この値が笑った顔の絵文字だとEEB2、ハートだとEF82になるのです。。(通常だと)
$strにはきちんと絵文字が入っています。
本来なら笑った顔はF3A1、ハートはF7B2になるはずなんです(参照: ttp://www.au.kddi.com/ezfactory/tec/spec/pdf/typeD.pdf
内部コードはEUC-JP、表示画面はSJISです。
お願い致します。
0307nobodyさん
2007/02/15(木) 13:50:41ID:???(;゚ Д゚)
0308nobodyさん
2007/02/15(木) 13:57:55ID:???0309nobodyさん
2007/02/15(木) 14:06:44ID:???0310nobodyさん
2007/02/15(木) 14:23:11ID:???0311nobodyさん
2007/02/15(木) 15:20:42ID:nWsvEsXsなにか参考になるサイトや書籍その他あればぜひ教えていただきたい。
0312nobodyさん
2007/02/15(木) 15:27:05ID:???セル画のように
透過画像を背景画像に重ねあわせたいのですが、
透過gifだと問題なく重ね合わさるのですが
透過pngだと透過部分が透過になりません。
どうすれば透過させることができるのでしょうか。
0313nobodyさん
2007/02/15(木) 15:29:51ID:cLwPj1RO仕事でWebのデザインしてるの?
それとも?プライベートで?
プライベートなら
http://www.sozai-r.jp/p1rev60_4015.html
テンプレート使えばいいよ
毎回頭使わなく済んでる
テンプレートからまた好みにいじればいい
0314nobodyさん
2007/02/15(木) 15:34:43ID:???買取価格15万とかTAKEEEEEE!
普通にデザイナに発注できる値段じゃん
しかも書き換えないといけないし何なの
0315nobodyさん
2007/02/15(木) 16:06:16ID:nWsvEsXsありがとうございます。
一応仕事です。
Webのシステム作るのがメインですけどデザインも多少しないといけないので・・。
0317285
2007/02/15(木) 16:30:36ID:Mtb8sZSIheader("Content-Type: image/gif", 2);
は冗談のつもりです。
どうやってコマ数を指定すれば良いのでしょうか?
0318虚弱PHP
2007/02/15(木) 16:52:42ID:???関数使ってないから的外れかもしんないけど、
FireFoxだと透過表示されたりしないよね?
IE6だと透過png対応してなかったと思うけど。
0323虚弱PHP
2007/02/15(木) 17:32:00ID:???こんなのどうよ。PECL::imagickだって。ベータっぽいけど。
http://study.rakuto.net/php/phptips/imagick/
0324nobodyさん
2007/02/15(木) 17:44:07ID:???コントロールとイメージデータだけつなげるんだよ
ヘッダとトレーラは1個でいいんだからな
意味わからないならお前には無理
0325nobodyさん
2007/02/15(木) 17:53:11ID:???法律がわるいじゃねーよ、自業自得だろ。
0327nobodyさん
2007/02/15(木) 19:09:09ID:p5YTJionこのスレで回答もらえんってことで、
[PHP-users 31468] に進出してるぞ〜
すげーことするな〜
0329nobodyさん
2007/02/15(木) 19:42:31ID:???しかも全く無関係なスレッドに返信してるしww
0331nobodyさん
2007/02/15(木) 21:32:39ID:148YlLutですが、CSVが生成されるものの、エクセルで開こうとすると
「読み込めません」というエラーが出ます。なにが理由でしょう?
ご回答よろしくお願いします。
すみませんが、長いので書き込みを分けます
0332nobodyさん
2007/02/15(木) 21:34:32ID:148YlLut<?php
//変換先のcsvを開く ※fopenで対象ファイルがないときは自動的に作られる
$fp_o = fopen("books.csv","w");
//変換もとのファイルをオブジェクト化
$xml = simplexml_load_file('books.xml');
foreach($xml->book as $book){
//XML中のデータを格納する配列を作る
$aryTmp = array("isbn"=>"","name"=>"","publish"=>"","price"=>"");
//実際に代入
$aryTmp['isbn'] = $book['isbn'];
$aryTmp['name'] = $book -> name;
$aryTmp['publish'] = $book -> publish;
$aryTmp['price'] = $book -> price;
$strTmp = mb_convert_encoding(join(",",$aryTmp),"SJIS","UTF-8");
fputs($fp_o,$strTmp,"\n");
}
fclose($fp_o);
?>
変換終了しました
0333nobodyさん
2007/02/15(木) 21:36:49ID:148YlLut<?xml version="1.0" encoding="UTF-8" ?>
<books>
<book isbn="ISBN4-7980-0095-7">
<name>今日からつかえるXMLサンプル集</name>
<publish>秀和システム</publish>
<price>2800</price>
</book>
<book isbn="ISBN1-2345-6789-0">
<name>ダメ人間養成講座</name>
<publish>ダメダメ企画</publish>
<price>890</price>
</book>
<book isbn="ISBN0-9999-6666-3">
<name>樹海探検記</name>
<publish>ミイラ出版</publish>
<price>1200</price>
</book>
</books>
以上です。CSVのエラーとは別に特に分からない点として、phpの方の
$aryTmp['isbn']=$book['isbn']; だけ -> の形になってないのがなぜか分かりません
0334nobodyさん
2007/02/15(木) 21:38:19ID:???0335nobodyさん
2007/02/15(木) 21:40:13ID:???0336nobodyさん
2007/02/15(木) 21:42:22ID:???> ですが、CSVが生成されるものの、エクセルで開こうとすると
> 「読み込めません」というエラーが出ます。なにが理由でしょう?
障害の切り分けとして、Excelでエラーが出ているんだから、
そのCVSがどう出力されているかを見る方が先だろ?
CVSでエラーがでる行を特定するために、
エラーが出来なくなるまで行を削っていけば、原因が見えるはず。
■ このスレッドは過去ログ倉庫に格納されています