【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
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
しかし初心者が目的も定めずに速度を気にしたところでほとんど意味は無いぞ
0202nobodyさん
2007/02/13(火) 22:56:13ID:WZPOI3IZDBは何でも使えますが言語はVBしか使えません。
0204nobodyさん
2007/02/13(火) 23:09:18ID:meZ0Ozs4サイトに表示させたいのですが
なにかサンプルはないでしょうか
一応ググッてみましたが
kenbo.net氏のを使ってみようかと思いましたが天気予報がピンポイントでないので・・・。
また
Weather Hacksを使えばいいのかなと思ったけど、どうすればいいのかわかんないし・・・。
下らない質問ですがよろしくお願いします。
0205nobodyさん
2007/02/13(火) 23:13:55ID:TYmWGfNyHttp知識あるか?は重要だぞ?
0206nobodyさん
2007/02/13(火) 23:19:04ID:???$select = "<select name='area'>";
for ($i = 0; $i < 47; $i++) {
$select .= "<option value='$i'>$area[$i];
}
$select .= "</select>";
受け取る側
$num = $_POST['area'];
echo "<script language='javascript' charset='euc-jp' type='text/javascript' src='http://weather.livedoor.com/plugin/common/forecast/$i.js'></script>";
とか?
0207nobodyさん
2007/02/13(火) 23:19:28ID:UEm9K3UG例えばどんな使い方があるの?
0209nobodyさん
2007/02/13(火) 23:22:05ID:???バイナリってオプションつけられるのか不安で、
教本どおりにソースからやってしまいました。
時間がかかるので次やるときはバイナリにしたいと思います。
>>198
わたしのやりかたでよろしければ提示しますよ。
0210nobodyさん
2007/02/13(火) 23:22:29ID:6SJdW3Cy是非お願いします
0211nobodyさん
2007/02/13(火) 23:23:33ID:???0212nobodyさん
2007/02/13(火) 23:34:43ID:???わたしはvineですが、大体同じなので参考にしてください。
http://jp.php.net/downloads.phpにいってComplete Source Codeを手に入れてきてください
バージョンは好きなものでいいと思います。
0213nobodyさん
2007/02/13(火) 23:36:09ID:UEm9K3UG強烈なスレッドストッパーですね
ファイルの存在確かめるのは404が返ってくるか確かめなくても
is_existsだかで確認できるじゃん?
HTTPってなんかある?
SMTPとかならメール解析して携帯用アップローダとかできるし、
データーベースだっていろいろ扱えるよね
0215204
2007/02/13(火) 23:46:34ID:meZ0Ozs4イメージとしては、
ttp://www.drk7.jp/MT/archives/001011.html
これの
XML2JSON service を利用した簡単なサンプル
のような感じで行きたいのですが
素直にこのサービスを使ったほうが簡単ですかね。
0216nobodyさん
2007/02/13(火) 23:56:38ID:6SJdW3CyもちろんApacheから入れていかないといけないですよね?
それとも、そのパッケージで全部インストールできるのでしょうか?
0217nobodyさん
2007/02/14(水) 00:05:48ID:???apacheは入ってない状態でしたか。まずは
http://japache.infoscience.co.jp/apache/dist/httpd/から
httpd-2.0.59.tar.bz2 をダウンロードしてきてください。
0218nobodyさん
2007/02/14(水) 00:21:01ID:???0219nobodyさん
2007/02/14(水) 00:26:40ID:???0221nobodyさん
2007/02/14(水) 00:40:16ID:???それをLinux鯖に落として解凍したんだが、「それにアクセスするとアクセス権がない(403)と出るんだが仕様?
0222nobodyさん
2007/02/14(水) 00:45:00ID:???端から見てると訳わからん
0223nobodyさん
2007/02/14(水) 00:45:23ID:???0226nobodyさん
2007/02/14(水) 01:15:57ID:???Ajack Hacksあたりにそういうのあったね
php jsonでググレばこういうページが出てくる
ttp://www.doyouphp.jp/sample/sample_xml_json.shtml
0227nobodyさん
2007/02/14(水) 01:17:09ID:???ttp://pc10.2ch.net/test/read.cgi/mysv/1165573172/255
はいはい、マルチマルチ
明日、春一番吹くとおいうのにおまいらときたら・・・
0229nobodyさん
2007/02/14(水) 01:24:24ID:???こ、これは! 左遷ってやつか・・・
0230nobodyさん
2007/02/14(水) 01:26:26ID:???0231nobodyさん
2007/02/14(水) 01:29:29ID:???$array = preg_split('//',$str);
これでなら1文字ずつできたんだけど、
preg_splitのマルチバイトってないのかな?
mb_splitならあるのだが・・・
0235nobodyさん
2007/02/14(水) 01:49:08ID:NADcIyxP$str = "あaあiいうううeee";
//sjis
preg_match_all("/[\\x81-\\x9F\\xE0-\\xEF][\\x40-\\xFC]|[\\x00-\\x7F\\xA1-\\xDF]/", $str, $cap);
//euc
preg_match_all("/\\x8F[\\xA1-\\xAB\\xB0-\\xED\\xF3-\\xFE][\\xA1-\\xFE]|[\\xA1-\\xA8\\xAD\\xB0-\\xF4][\\xA1-\\xFE]|[\\x00-\\x7F]/", $str, $cap);
var_dump($cap);
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
■ このスレッドは過去ログ倉庫に格納されています