【PHP】下らねぇ質問はここに書き込みやがれ 61
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/01/27(日) 18:17:59ID:jK32tI//PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 62
http://pc11.2ch.net/test/read.cgi/php/1199956159/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0165nobodyさん
2008/01/28(月) 23:11:51ID:???普通の人はWindowsXPあたりで開発もするし、デバッグもApacheを入れて同じPC上で行う。
0166nobodyさん
2008/01/28(月) 23:12:07ID:hM6vuV4g0167nobodyさん
2008/01/28(月) 23:13:59ID:hM6vuV4g0168nobodyさん
2008/01/28(月) 23:14:34ID:???同一のローカルネットワーク内なら
ファイル共有しちぇばいいんじゃ?
というか激しくスレ違いな
>>162
ただのコマンドうちたいだけならそれでいいと思うんだけど
別にrootにならなくてもどーとでもできるよ?
0169nobodyさん
2008/01/28(月) 23:17:48ID:???0170nobodyさん
2008/01/28(月) 23:18:05ID:hM6vuV4g0172nobodyさん
2008/01/28(月) 23:21:59ID:???0173nobodyさん
2008/01/28(月) 23:22:15ID:???0174nobodyさん
2008/01/28(月) 23:26:51ID:???0175nobodyさん
2008/01/28(月) 23:33:33ID:???一応できる
まぁ
http://jp.php.net/manual/ja/ref.ssh2.php
こういうのいれてやる方がいいのかもしれない
0176nobodyさん
2008/01/28(月) 23:40:25ID:???そんで、改ページを挿入したいんですが、やり方が判らないです。
HPageBreaksメソッドを使えば出来ると思うのですが・・・
Ver等ですが、PHP5.1.2+Win2003です。
0177nobodyさん
2008/01/28(月) 23:41:28ID:5bZSpkHc0178nobodyさん
2008/01/28(月) 23:46:57ID:hM6vuV4g0179質問
2008/01/29(火) 00:46:04ID:8zOSMWfb$arybox = imap_listmailbox($stream, $server, "*");
for ($i = 0; $i < count($arybox); $i++) {
list(,$name) = explode("}", imap_utf7_decode($arybox[$i]));
$line = explode(".", $name);
print ($line[count($line)-1]); ←この辺適当ですがw
}
のような感じでメールボックスの名前を表示させようとしています。
英語は問題ないのですが日本語のボックス名では文字化けと言うか
きちんと表示されません。
どのようにエンコードしても上手くいきません。
日本語できちんと表示させるにはどうしたらいいのでしょうか?
最終的にはUTF8で表示させたいのですが
よろしくおながいします。
0182nobodyさん
2008/01/29(火) 02:08:47ID:???0184nobodyさん
2008/01/29(火) 06:29:06ID:???!: : : .::::;:'. : : : :' ,::::::. : : :l.:|
',: .::::::/. : : : : : :.ヽ:::::. : :l、!
ト、:::/: : : : i : : : : ヽ::::::/ l
ヽ. l: : : : : l : : : : : :lノ' ノ!
l: : : : :ハ: : : : : :.lテ´ |'
,!: : : :i l:: : : : : l /
/!: : .::lーl:: i: : : :| トトト---- 、
_ /」: : :l:| l:: |: : : :l- 、_ 」 ヽイ
/l l l: l: :|:l l: |i: : : l l l ヽ ミ rn 〈
! l l !:l|: l!l j/ l: : /l // | ス ,ィ7」j l77¬. }¬、
! ヽヽ|! l:| | / /:.イ/// l _rー┘lV t:::/ ! V z::: lー{ / _,\ >>182 頼む!一発やらせてくれ!!
| | `l|ヽl! ___/'´/'´イ l /'´/┴---- ' | ' ----┴ヘ ヽ.|
l ! | ┬/ '´ | |{|_l_____/\_____| ヽ_〕
! :.l ! !:. l l/ | />  ̄` <ヽ__\ L「
| ::.', | !:. | lハ | lc | / | |ヽ|
! ::::} ! !:: l l V l 、 l !./ー' i
/ .:/ i |:: | i cV!_!_|' |
0185nobodyさん
2008/01/29(火) 07:27:13ID:AL6Mrzhd<td>
あいうえお 123456 </td>
<td>
数字だけを抽出したいのですがうまくいきません
preg_match('/<td>\n\s*.*\s([0-9]+)\s<\/td>\n<td>/', $buf,$match);
echo $match[1];
こういう場合は一旦全部抽出させてereg_replaceで「あいうえお」を削除したほうがいいのでしょうか
よろしくおねがいします
0187nobodyさん
2008/01/29(火) 07:57:57ID:???0189nobodyさん
2008/01/29(火) 08:50:53ID:ak6dtF+8$match = preg_replace("/[^0-9]/", "", $text);
0190nobodyさん
2008/01/29(火) 08:59:06ID:???あいうえお 123456 </td>
<td>
html 自体おかしいな
http://w3g.jp/xhtml/dic/td
0191nobodyさん
2008/01/29(火) 09:23:39ID:AL6Mrzhd文字は固定なので一旦抽出してから削除する方法にしました
0192nobodyさん
2008/01/29(火) 09:30:48ID:rqLkKeN0-----------------------------------------
POST http://localhost/Project/POST_TEST/index2.php HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencode
Content-Length: 16
新宿 居酒屋
-----------------------------------------
これを$requestに入れて、
header($request);
header("Location: index2.php");
のようにしても、
「Header may not contain more than a single header, new line detected」
のようなエラーが出力されます。
どのようにしてPOSTを送信して、送信先のページに結果を表示させることができるのでしょうか?
0193nobodyさん
2008/01/29(火) 12:38:45ID:???0194nobodyさん
2008/01/29(火) 12:57:49ID:???0196nobodyさん
2008/01/29(火) 13:04:59ID:3emMDaRd$a=123456;
$aをlong(4バイト整数)とした場合にこれの
上位ワード、下位ワードを取得して更に上位バイトと下位バイトにわける方法を教えてください
CでAPIを使ったイメージで言うと
awh=HIWORD(a);
awl=LOWORD(a);
abl=LOBYTE(a);
みたいな関数があったら教えてください・・
0197nobodyさん
2008/01/29(火) 13:10:28ID:???chmod()でファイルをアップロード後に、特定のパーミッションにしてるんだけど
レンタルサーバーで試すと、エラーが出てしまう。
しかし、エラーが出ていてもちゃんとそのファイルのパーミッションは変更されているので
現在は@つけてエラー無視してるんだけど、何が原因なのかわからない・・
chgrp()、chown()などは利用することが出来ないレベルの権限です。
フォルダ構成は
[public_html/0755] - index.php
- [img/0777] - アップされた画像ファイル(これの権限)
- image.php(アップを実行しているファイル)
環境:
Server:FreeBSD/ PHP4.4.2 /スーパーユーザーの権限はなし。
よろしくお願いします。
0199197
2008/01/29(火) 13:17:56ID:R+uUiaBI該当箇所でのエラーは下記です。
Warning: chmod(): Operation not permitted in /エラーを出したファイルへのパス/
0202197
2008/01/29(火) 13:23:26ID:R+uUiaBI試しに該当箇所のソースをコメントし、ただ単純に
アップしてみたところ644になってました。
なぜ今回PHP上からパーミッションの変更がしたかったかと
いいますと、ユーザーが画像やテキストファイルなどをアップした場合
後に削除要望がある場合を想定して、ファイルの権限やパーミッションを
削除可能な権限にしておきたいと思ったからです。
0204197
2008/01/29(火) 13:31:40ID:???ありがとうございます。おっしゃるとおりなんですが、
なぜエラーが出ているのに、変更は出来ているのかというのが
疑問でして・・
自分自身が設定希望のパーミッションは0755です。
0644でも問題はないのですが、パーミッションが変更出来ないなら
出来ないでいいんですが、出来ているのが気持ち悪いというか・・
よくわからない質問ですみません。
0205nobodyさん
2008/01/29(火) 13:36:15ID:???直接Cのintのバイト列にはさわれないし、無理じゃないかなぁ。
それとも、単純にビットシフトをサボりたいだけ?
エンディアンはどーしたいの
0206nobodyさん
2008/01/29(火) 13:39:07ID:3emMDaRdシフトできるんですか?できるならシフトでもかまいません。
Cみたいに普通に
$b=($a>>8)&0xFFFF;
ってできますか?
0207nobodyさん
2008/01/29(火) 13:51:52ID:???0208nobodyさん
2008/01/29(火) 14:04:23ID:3emMDaRdHPみてもこれ載ってなかったからできないものと思い込んでました・・
ちなみにこれ知らなかったのでわざわざHEX文字にしてsubstrで2バイトとって
それをintvalでってめんどいことしてました。
あー!
0209nobodyさん
2008/01/29(火) 14:08:03ID:???$long = 0xab1fe22;
printf("%08xh\n", $long);
printf("%08xh\n", $long & 0xffff);
printf("%08xh\n", ($long & 0xffff0000)>>16);
みたいのではだめ?
関数でやりたいんなら自作して使うとか。
0210nobodyさん
2008/01/29(火) 14:08:33ID:???0211nobodyさん
2008/01/29(火) 14:12:43ID:???windows xpにApache2 + php4 + pear標準のみの環境で
XML UnserializerとXML Parserを制作しているphpプログラムの
libsディレクトリ内に配置して
ini_set('include_path', 'libs' . PATH_SEPARATOR . ini_get('include_path'));
っとインクルードパスを設定しているのですが
Fatal error: Class xml_parser: Cannot inherit from undefined class pear in 〜libs\XML\Parser.php on line 96
のようなエラーが出てしまいます。
これはPEAR.phpをインクルードできていないのでしょうか?
それとも他に原因があるのでしょうか?
0213nobodyさん
2008/01/29(火) 14:23:36ID:3emMDaRdすんません。
普通にシフトが使えたのでそれでできました。
0214nobodyさん
2008/01/29(火) 14:41:58ID:3emMDaRd例えば、
$b = sprintf( "%c%c%c%c%c", 1, 2, 3, 4, 5 );
としたときに、$b[2]の値(ここでは3)を取り出したいのですがどうすればいいでしょうか?
一応Cのバイトの配列をイメージしているのですがうまくいきません・・・
0215nobodyさん
2008/01/29(火) 14:47:08ID:???ord($b[2])とかすりゃ出来るけどそんなことせんでも普通の数値配列ではダメなんか。
細々と質問するより全体として何をしたいのか書いたほうが良いんじゃないかな。
0216nobodyさん
2008/01/29(火) 15:00:13ID:3emMDaRd嗚呼、またそういう便利なのがあるんですね数値配列とかって
そうです、まさにそれがほしかったのです・・・
それはどのようにしたらいいのですか?
ちなみに、やりたいことはというと、LANでバイナリデータを送信したいのですが
最初に送信すべきデータを$bufにぶちこんで、そのデータ和を求めてそれを最後に送信みたいな・・・
その和を求めるところでひっかかっています。
0217nobodyさん
2008/01/29(火) 15:08:57ID:3emMDaRdordでざっくりできました。
ありがとうございました。
0218nobodyさん
2008/01/29(火) 15:27:08ID:???数値配列って言ったのはバイト配列型が専用にあるわけじゃなくてただ単に汎用配列型に数値を入れるという意味だったんだけどね。
なるほどそれなら文字列バッファのが都合がいいかもね。
http://jp.php.net/manual/ja/function.pack.php
http://jp.php.net/manual/ja/function.crc32.php
とりあえずこの辺も参考にはなるだろうか。
0219nobodyさん
2008/01/29(火) 16:03:55ID:3emMDaRdありがとうございます。
参考にさせていただきます。
0220nobodyさん
2008/01/29(火) 16:47:11ID:???0221nobodyさん
2008/01/29(火) 16:48:44ID:???0222nobodyさん
2008/01/29(火) 16:50:21ID:???いや、普通に検索すると糞重たいから
せめて付加減らそうとフィールドのみ読み込んでみたり・・・
1000万件もあるとやはり時間かかるなぁ・・・
0225nobodyさん
2008/01/29(火) 16:53:43ID:???ドラゴンボール板でやれ
0226nobodyさん
2008/01/29(火) 16:57:17ID:???0227nobodyさん
2008/01/29(火) 17:07:15ID:???0228nobodyさん
2008/01/29(火) 20:28:15ID:???今日ふとしたキッカケで出来た。こんなに便利なものがあるなんて・・・
ぜひ使ってみることをお勧めします。
いや、宣伝ではないです。
0229nobodyさん
2008/01/29(火) 20:30:09ID:???PEARのお世話にほとんどなっていない。
フレームワークとライブラリは違うものなはずなのになぜだろう?
0231nobodyさん
2008/01/29(火) 21:11:07ID:5qvQ61c2C:\Documents and Settings\Administrator\My Documents\11.3.jpg
みたいに保存されてたファイル先を表示してくれるけど
どうやったらでますか?
教えてくださいえらい人
0232nobodyさん
2008/01/29(火) 21:14:23ID:t20Dm/Gk./configure --with-apxs2=/usr/sbin/apxs --enable-magic-quotes --with-xml --enable-mbregex --enable-mbstring --enable-zend-multibyte --with-mysql=/usr/ --enable-ftp --with-zlib
インストールしようとしたのですが、
configure: error: Cannot find MySQL header files under /usr/.
Note that the MySQL client library is not bundled anymore!
xmlやらzlibやらのエラーは解決できたのですが、このエラーの解決方法だけ分かりません。
mysqlは/usr/下にあるのに。。。
0233nobodyさん
2008/01/29(火) 21:16:08ID:t20Dm/Gkfind / -name mysql/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBD/mysql
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/DBD/mysql
/usr/lib/mysql
/usr/bin/mysql
/usr/share/mysql
/var/spool/mail/mysql
/var/lib/mysql
/var/lib/mysql/mysql
ググってみると皆さんmysqlを/usr/local/mysqlディレクトリにインスコしているようで、、、
実はmysqlだけは手間省くためにパッケージマネージャからDLしたんです。
0234nobodyさん
2008/01/29(火) 21:18:28ID:???ソースは見れないから本当の仕組みは分からないけれど、
ファイルをアップロードする時に、画像ファイルのパスもPOSTしていて、
それを表示しているんじゃないの?
0237nobodyさん
2008/01/29(火) 21:41:12ID:5qvQ61c2POSTしてないようですね
javascriptかなんかかな
move_uploaded_fileじゃとれないんだよね
0240nobodyさん
2008/01/29(火) 21:50:21ID:ez1qkwY6mb_encode_mime_header()について質問なのですが。
メールを送信するスクリプトがたまに送信に失敗するので調査していたところ
どうやら、送信先アドレス(to)がこちらが意図しない文字に
変換されていることに気づきました。
具体的には、文字の中に、'_'(アンダーバー)が入っているときに
エンコードしているようです。
この関数は必要なときだけエンコードする、と思っていたのですが
そうではないのでしょうか?
以下、試したことです。
kruser@saga /tmp]$ php -v
PHP 4.4.7 (cli) (built: Jan 5 2008 18:39:15)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
[kruser@saga /tmp]$ php -r "echo mb_encode_mimeheader( '[email protected]' ) ;"
[email protected]
↑
そのまま
[kruser@saga /tmp]$ php -r "echo mb_encode_mimeheader( '[email protected]' ) ;"
=?ISO-2022-JP?B?YV9iY0BleGFtcGxlLmNvbQ==?=
↑
変換されてる
0241nobodyさん
2008/01/29(火) 22:05:54ID:???いまいち話の流れが分からないので、具体的にソース書いてみる。
ファイル名:test.php
<html><body>
<?php
echo "<hr>";
echo $_POST["TENSOU"];
echo "<br><hr>";
?>
<form method="POST" action="test.php">
ファイル:<input type=file name="TENSOU"><br>
<input type=submit value=" 送信 ">
</form>
</body></html>
「POSTしてないようですね。」の意味もよく分からない。
そのmixiにPOSTが全く見当たらないという意味?
0242232
2008/01/29(火) 22:40:52ID:t20Dm/Gk0243nobodyさん
2008/01/29(火) 22:44:42ID:???こちらの環境ではそういう問題は起きなかった。
なので、私にははっきりとした原因が分からない。
一度、違うバージョンのPHPで試してみるとかやってみるといいかもしれない。
あと、検索してて見つけたものを貼っておく。このあたりが関係しているかもしれない。
ttp://www.akiyan.com/blog/archives/2006/03/phpmb_encode_mi.html
0244nobodyさん
2008/01/29(火) 22:53:29ID:???なんで混同してるんだ?
0245nobodyさん
2008/01/29(火) 22:57:32ID:???もう自社開発しかねえな。
0246nobodyさん
2008/01/29(火) 22:57:54ID:???俺は>>238ではないが、諦めてXAMPPを入れるとかどうかな?w
ttp://www.apachefriends.org/jp/xampp-linux.html
devというと、開発パッケージか、デバイスのことを意味するんだと
思うけれど、具体的には私も分からない。
0247nobodyさん
2008/01/29(火) 22:59:45ID:???続きはこちらのスレでどうぞ。
PHP総合雑談スレ
http://pc11.2ch.net/test/read.cgi/php/1200314111/
0248nobodyさん
2008/01/29(火) 23:34:27ID:ez1qkwY6レスありがとうございます。
4系最新版の4.4.8と
5系最新版の5.2.5でそれぞれ発生することを確認してます。
また、少し前のバージョン(4.3だったかな?)の
mbstringのバグは知ってましたが
日本語のエンコードがおかしいわけではないので違うかな、と思ってました。
今は試せる環境にないので、明日にでも確認してみます。
ところで、そちらでは起きないとのことですが
バージョンはいくつでしょうか??
0249nobodyさん
2008/01/29(火) 23:41:49ID:RmUTKffD任意のサイズまでダウンさせたり出来るプラグインとかないですかね?
画像のフォーマットを変えることが出来るんだしそんなのもひょっとしてあるかなぁーと
思って質問しました
0250nobodyさん
2008/01/30(水) 00:11:06ID:???どこのディストリか知らんがヘッダーファイルをまとめた開発用パッケージが提供されているだろう
/usr下にインスコしたならヘッダは/usr/inclue/mysql*あたりにあるはずだからそこを指定してconfigure
0252nobodyさん
2008/01/30(水) 00:29:20ID:???チラッとソース見た感じ仕様っぽいけど。
届かないってことは、もしかしてメールアドレスをmb_encode_mimeheader()にかけてるの?
0254242
2008/01/30(水) 00:44:10ID:e4VjwXRY(mysql.comのmysql5.1downloadのページの一番下のsourceってやつでいいんですよね、、、ここが一番不安)
カイトーして./configureしてmakeしてmake installまで、けっこうつまづきましたが、できました。
で、データベースをインストールしようとしてmysql_install_dbを実行したもののエラー。
保留してデータベースにアクセスすると前パッケージマネジャでインスコしたときに作ったデータベースが残ってた。
てかパッケージからインスコしたsqlをアインストールするの忘れてたw
で、パッケージの方のsqlは削除できたんだが、ソースからのsqlはどうやって削除するのだ?
0255242
2008/01/30(水) 00:45:58ID:e4VjwXRYでもlinux(fedora)にソースから導入しようとすると、、、もうかれこれ半日は経ってる。。。
0256nobodyさん
2008/01/30(水) 00:51:27ID:???毎度のことだけどさ。
0257nobodyさん
2008/01/30(水) 00:55:07ID:???0259nobodyさん
2008/01/30(水) 00:59:23ID:???街中でヘルメットかぶって自転車にのっている
二人組みの外人。みたことあるでしょ?あれ。
0260nobodyさん
2008/01/30(水) 01:01:42ID:9pKjffNB情報が小出しになって申し訳ありません。
実際のスクリプトではmb_send_mail()を使ってます。
内部ではmb_encode_mimeheader()を使っている、みたいなのを見て
テストのためにmb_encode_mimeheader()を使いました。
実際にメールが送られたら困ると思って^^;
よくよくマニュアルを見てみると
私が>>240で書いてる
「必要なときだけエンコードする」というのが間違いのようですね。
http://www.php.net/manual/ja/function.mb-encode-mimeheader.php
を見ると、日本語部分とアドレス部分が分けて処理されていました。
ご指摘の件、mb_send_mail()に渡されている"to"をもう一度確認してみます。
0262232
2008/01/30(水) 01:20:25ID:e4VjwXRYずっとPCに張り付いててわけがわからなくなってきた、ここで整理。
windowsからlinux環境に移していて、linuxでデータベース(mysql)がうまく起動していないことが判明。
→phpinfo()を見てみると「--without-mysql」が指定されていることを発見。
→PHP再コンパイル試みるも./configureコマンドを叩くと「mysqlのheader fileが無い」と怒られる。
→血迷ったのかいきなりmysqlをソースからコンパイルし始めて5、6時間を潰す。。。
→整理していて泣けてきたので誰かエラー直してください org...
ちなみに>>250さんのいってたように/usr/include/ファイル探してみたんですが、mysql関連のものは無かったです。俺の半日...
0263232
2008/01/30(水) 01:23:26ID:e4VjwXRY■ このスレッドは過去ログ倉庫に格納されています