【PHP】下らねぇ質問はID出して書き込みやがれ 75
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/10/16(木) 23:52:01ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 74
http://pc11.2ch.net/test/read.cgi/php/1221909788/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0348nobodyさん
2008/10/27(月) 14:42:51ID:???例によって、windows用に自前の実装があるのかもしれないけど。
つか、推奨されていないworkerなapacheと一緒に動かしているので無い限り、
スレッド云々は関係ないハズ。preforkなら、プロセス自体が別だからメモリは独立。
まぁ、メモリ以外の資源を共有してたらあれだけど、いくらなんでもそんなこたぁないはず。
0349nobodyさん
2008/10/27(月) 14:51:57ID:???結論: 夢オチ
0350nobodyさん
2008/10/27(月) 17:16:26ID:pLAL+M28「デッキテーブル」と、「デッキカードテーブル」を定義しました。
デッキに入れる1カード=1レコードとして「デッキテーブル」に、カードのIDとデッキのIDを挿入しています。
つまり、60枚のデッキなら、「デッキテーブル」に1レコード、「デッキカードテーブル」に60レコード入るのですが、
この設計はスマートに見えるでしょうか?
1つデッキ作るたびに60レコード作られるのは、少し変かなと不安に思い質問しました。
アドバイスをお願いいたします。
035275
2008/10/27(月) 17:31:55ID:GQs1gERtCTRL+F5を押しっぱなしにしてみてください。
035375
2008/10/27(月) 17:32:37ID:GQs1gERtこれ、どうすれば良いでしょうか?
> ・同時実行を回避する
> ・crypt互換でスレッドセーフな何かを使う
035475
2008/10/27(月) 17:33:18ID:GQs1gERtCTRL+F5を押しっぱなしにしてみてください。
0355nobodyさん
2008/10/27(月) 17:33:45ID:pLAL+M28システム仕様というと?
逆に言えば、特に変なつくりではないって思ってもいいでしょうか?
他に思いつくのは、1デッキ=1レコードで、
その中にデッキカードフィールドを作って、カンマ区切りなどで60ID挿入、などを考えたのですが、
こっちはレコードは減りますが、DBの設計的にはスマートじゃないかなぁと思って却下しました。
他になにか良い方法があればお教えください。
0356nobodyさん
2008/10/27(月) 18:44:48ID:???正直言うと「ずっと俺のターン!!」的なゲームの知識がない人が多いからシステム使用が分かりにくい人が多いんだと思う。
ぱっと見おかしくない気がする、デッキカード(持ちカード)分のレコードが必要というのは。
まずはテスト版作ってみて、問題点を洗い出せ。
0357nobodyさん
2008/10/27(月) 19:10:34ID:???セッションでいいだろ
0358nobodyさん
2008/10/27(月) 19:13:51ID:???0360nobodyさん
2008/10/27(月) 19:43:36ID:yALI7a/0変更する場合はどのようにしたらよいですか?
また、パーミッション775で吐くようにするにはどのような設定が必要ですか?
例えば)
/var/www/hogehoge/html/hogehoge.php
↓実行
/var/www/hogehoge/html/hoge.txt
が吐かれる
User : yaruo
Group : hogehoge
permission : 755
/var/www/saitama/html/saitama.php
↓実行
/var/www/saitama/html/saitama.txt
User : yaranaio
Group : saitama
permission : 755
※なるべくなら、CGIは避けたいです。
こちらcentOS5 PHP5です
0362nobodyさん
2008/10/27(月) 20:16:03ID:???他の方法はダメなんですかね。
同時実行されないようにするには、普通はshmopとか使うんでしょうか。
よくわからないけど。
問題があるかもしれないけど、flock($fp,LOCK_EX);とflock($fp,LOCK_UN);
で括ってあげるとか。(テストしてみた限り効果はあった)
CGIにするのも有効だと思うけどなぁ。試してないけど。
他の方法はダメなんですかね。
・Windows以外のOSでApache/PHPを動かす
これ有効だよ。Linuxでは再現できなかったから。
0363nobodyさん
2008/10/27(月) 20:28:13ID:???Apacheをrootで動かせばいいじゃない。。。
というのはさておき、全然回答になってないけど、こういうのもあるね。
http://sourceforge.jp/magazine/08/08/25/0131211
それにしても、ファイルの所有者を変えたいっていう質問を時々みるけど、
なんでなんだろう。他に方法はないのかな。
0364nobodyさん
2008/10/27(月) 20:51:14ID:yALI7a/0ありがとうございます。
rootで動かすってセキュリティ的に危なくないですか?
0365nobodyさん
2008/10/27(月) 21:05:52ID:???036675
2008/10/27(月) 21:11:48ID:GQs1gERtXPsp3でPHP5.2.6、apache2.2.9です。
036775
2008/10/27(月) 21:13:18ID:GQs1gERt> ・Windows以外のOSでApache/PHPを動かす
無理なんです。
0368nobodyさん
2008/10/27(月) 22:30:44ID:???0369nobodyさん
2008/10/28(火) 00:41:25ID:???037075
2008/10/28(火) 06:45:22ID:ezKRqNa/>問題があるかもしれないけど、flock($fp,LOCK_EX);とflock($fp,LOCK_UN);
>で括ってあげるとか。(テストしてみた限り効果はあった)
どういうコーディングしたか教えてください。
あと、cryptの部分だけ、perlにしてみて、試してみます。
(速度がおそくなりそうだな。。。)
0371nobodyさん
2008/10/28(火) 09:22:30ID:???後方互換性が問題なのかい?
0372nobodyさん
2008/10/28(火) 11:11:44ID:WCrPcdBX【PHPのバージョン】php5.2.6
【連携ソフトウェア】mysql5.0.27(Linux)
【質問内容】 ODBCでMySQLにアクセスしようとしています。
UTF8のテーブルからVARCHARのデータを持ってくると、
途中からゴミゴミのデータになってしまいます。
フィールドがVARCHAR(10)と定義してあり、データが「あいうえおかきくけこ」
の時、持ってきたデータをvar_dumpで表示させると
["name"]=>
string(20) "あいうえお 1 "
のようになってしまいます。
MySQLではVARCHAR(10)では10文字分としますが、
いくつか試した結果、ODBC経由で取得したときにSJISで10バイトで
切られているように見えます。
そもそも取得した結果がSJISになってしまっている・・・
webサーバは立てず、コマンドラインから実行しています。
また、mbstring.internal_encodingはUTF8になっています。
PHP+MYSQL(UTFF8)でODBC経由でのデータのやり取りをする時、
何か設定などが必要なのでしょうか?
0373nobodyさん
2008/10/28(火) 12:45:19ID:???utf-8のつもりがujisって件
MySQLクライアントのデフォルトがsjisと思われ
sqlでset namesを叩くかmy.cnfの[mysql]等で文字コード指定すればおk
実はphpのinternal_encodingは関係ないのね
0375372
2008/10/28(火) 12:47:40ID:WCrPcdBX色々試している過程で「SET NAMES sjis」を入れてしまっていました。
これをはずして試したところ、var_dumpの結果は
["name"]=>
string(30) "あいう・ 9 name ラ"
のようになりました。
0376nobodyさん
2008/10/28(火) 12:52:03ID:???0377372
2008/10/28(火) 12:55:10ID:WCrPcdBXありがとうございます。
文字化けならその辺の違いなんだろうなとは思うのですが、切れてしまうので・・・。
「set names utf8」を発行しても、>>375と同じになります。
>>372、>>375の結果を見るとやっぱりバイト数で切られちゃってるように思えます。
同じDSNを使ってVCからアクセスを試してみたところ「あいうえおかきくけこ」が
ちゃんと取れたのでPHPのODBC周りに不具合があるか、設定にミスがあるのではと
思っています。
0378nobodyさん
2008/10/28(火) 16:09:42ID:???PHPで認証サイトテストを行おうと思ってます。
http://www.komonet.ne.jp/~php/program/ninsho/chap1.htm
を参考にしてるんですが、ユーザIDとパスワードを入れるd_file.dat
の書式が分かりません。単純に
ID,pass
user1,pass1
user2,pass2
・・・
のテキストファイルで実際やってみたら、ダメでした。
0379nobodyさん
2008/10/28(火) 16:10:12ID:jrJ3+z3xさーせん、ID出すの忘れました。
0380nobodyさん
2008/10/28(火) 16:36:06ID:SwkVsFUpまあコード側でchomp()すればすむ話なんだがな。
0382312
2008/10/28(火) 17:38:08ID:???もう訳がわからないよ、ちくしょう。
何をやっても、MySQLに限って
PHP Warning: PHP Startup: Unable to load dynamic library 'c:/php/ext\\php_mysql.dll'
- \x83\x81\x83\x82\x83\x8a \x83\x8d\x83P\x81[\x83V\x83\x87\x83\x93\x82\xd6\x82\xcc\x83A\x83N\x83Z\x83X\x82\xaa\x96\xb3\x8c\xf8\x82\xc5\x82\xb7\x81B\r\n in Unknown on line 0
調べても前例がない。Apacheもアンインストールしてやり直しても改善されない。
何なのよ、これ……。
WinXP環境でPHP5.2.5 or 5.2.6 と MySQL5.1系使ってらっしゃる方いますか。
# SP3がよくないのか……?
0383nobodyさん
2008/10/28(火) 17:49:02ID:???そんな酔狂な環境持つつもりもないが、
「メモリ ロケーションへのアクセスが無効です。」つってるから
64bit版のlibmysql.dll持ってきちゃってない?
0384nobodyさん
2008/10/28(火) 17:59:46ID:???Win32用PHPのzipに付随してきたやつなのでそれはないと思います。
0385nobodyさん
2008/10/28(火) 18:24:19ID:BN6Ec7pLGETやPOSTのデータをMySQLに入れるときどんな処理してますか?(trimとか)
0387nobodyさん
2008/10/28(火) 18:37:45ID:???0388nobodyさん
2008/10/28(火) 18:49:25ID:???038975
2008/10/28(火) 19:12:42ID:ezKRqNa/cryptの既存データがあるんです。。。
0390nobodyさん
2008/10/28(火) 19:21:18ID:BN6Ec7pLありがとう
trimとそれだけでおk?
0391nobodyさん
2008/10/28(火) 19:35:03ID:???039775
2008/10/28(火) 20:42:53ID:ezKRqNa/クラックするつもりはありません。
0398nobodyさん
2008/10/28(火) 20:43:29ID:???0400nobodyさん
2008/10/28(火) 20:50:03ID:???あのさー、結局>>347とか>>367とか少しは試したのかよ。
どうでもいいことにレスしてる暇あったらコード触れよ。ド素人じゃあるまいし。
他力本願過ぎるとずっとスルーされるぞ。
ちなみに最終解はWindowsXPを諦める、だと思う。EULAの問題もあるしな。
0403nobodyさん
2008/10/28(火) 21:01:11ID:???0404nobodyさん
2008/10/29(水) 02:37:57ID:???したらばみたいなレンタルでなくて
ソースコードをダウンロードして
自分で設置するタイプのものについて
話すスレッドはどこ?
0405nobodyさん
2008/10/29(水) 02:51:26ID:???0406nobodyさん
2008/10/29(水) 04:19:32ID:???0407nobodyさん
2008/10/29(水) 04:57:13ID:l43yKlIR代わりに探してよ
0408nobodyさん
2008/10/29(水) 04:58:35ID:l43yKlIRテスト用にユーザーアカウントいっぱい
作るんだけど、それのIDとパスワード、そして
これはまだ有効、これは無効にした、とかの付与情報の
管理、こういうのってどういうソフトでやるの?
今はメモ帳でやってます
0409nobodyさん
2008/10/29(水) 05:06:12ID:???0410nobodyさん
2008/10/29(水) 05:19:18ID:???0411nobodyさん
2008/10/29(水) 09:54:31ID:veAPPVGQWarning: require(/usr/local/lib/php/XML/RSS.php) [function.require]: failed to open stream: No such file or directory in /hoge/index.php on line 10
Fatal error: require() [function.require]: Failed opening required '/usr/local/lib/php/XML/RSS.php' (include_path='.:/usr/share/pear:/usr/share/php')
yumで「php-xml」と「php-xmlrpc」をインストールしてあります
/usr/local/lib/php/XML/RSS.phpをインストールするにはどのような作業が必要でしょう?
CentOS5.2を使ってます
0413nobodyさん
2008/10/29(水) 11:01:48ID:Z9jgE9ozやっぱりforeachで自力で分解して書き出すしかないですよね?
0414nobodyさん
2008/10/29(水) 11:06:30ID:???他の言語とリンクするならjsonでも出来そうだ(javaにもjsonライブラリあるし)
0415nobodyさん
2008/10/29(水) 11:08:38ID:???整形して出力、再度PHPで読むことはない、って使い方ならループしかないだろうな
0416nobodyさん
2008/10/29(水) 11:54:40ID:X0IlisXcこれまで、.jpgのアップローダを作るのはうまくいったんですが、同じロジックだとうまくいかないようです。
画面遷移は
「フォーム」→「確認画面」→「完了画面」 となっていて、問題は確認画面で起きています。
確認画面での処理は、 一時ファイル化されたアップロードファイルを特定の名前に置き換えて
保存領域(/upfile_keep/)に移動となっています。 スクリプトは以下の通りです。
$music1_keep = "../../../".$_SESSION['uType']."/img/upfile_keep/".$_SESSION['session_id']."music1.mp3";
/*アップロードされたファイルを一時保存ディレクトリ(/img/upfile_keep/)に移動 */
if($_FILES['music1']['tmp_name']){//アップロードされたファイルがあれば
move_uploaded_file($_FILES['music1']['tmp_name'],$music1_keep);
}
アップロードしたファイルが.jpgの時は、$_FILES['music1']['tmp_name']が存在したのですが(var_dump($_FILES)で確認)、
.MP3をアップロードしたところ、同様の一時ファイルが存在しません。(以下が出力です)
array(4) { ["music1"]=> array(5) { ["name"]=> string(54) "サンプル音楽.mp3" ["type"]=> string(0) ""
["tmp_name"]=> string(0) "" ["error"]=> int(1) ["size"]=> int(0) }
["photo"]=> array(5) { ["name"]=> string(11) "サンプル画像.jpg" ["type"]=> string(10) "image/jpeg"
["tmp_name"]=> string(52) "C:\DOCUME~1\HOGE\LOCALS~1\Temp\php\upload\php299.tmp"
["error"]=> int(0) ["size"]=> int(283897) }}
何か手違いがあるのか、mp3用のやり方があるのか、、判断しかねています
すみませんがアドバイスお願いします
環境はwinXP apache2 php5です
0418nobodyさん
2008/10/29(水) 12:00:44ID:???http://jp.php.net/manual/ja/features.file-upload.errors.php
0419411
2008/10/29(水) 12:03:02ID:veAPPVGQレスありがとうございます。
pear install -a XML_RSSと
pear install -s XML_Parserは実行してます。
0421nobodyさん
2008/10/29(水) 12:07:50ID:Z9jgE9ozそういった関数があるのですね
ありがとうございました
0422nobodyさん
2008/10/29(水) 12:55:24ID:X0IlisXcありがとうございました ファイルサイズ制限の問題でした
ほんとうにありがとう
0423nobodyさん
2008/10/29(水) 15:12:08ID:wS690hOZ$res = mysql_query($sql,$conn);
while($row = mysql_fetch_array($res)){
echo $row[0];
これでPHPを使ってMySQLのデータを出力出来ます。
ただ、もう一度値を出力したい時、再度mysql_queryを実行しなければいけません。
fseekでファイルポインタを先頭にしたら行けるのでは?と思っても駄目でした。
何か方法はないでしょうか?
それとも出力毎にmysql_queryを実行しなければ駄目なのでしょうか?
0424nobodyさん
2008/10/29(水) 15:14:29ID:???mysql_data_seek
http://jp.php.net/manual/ja/function.mysql-data-seek.php
マニュアルの参考という関数リンクぐらいは見よう
0426nobodyさん
2008/10/29(水) 19:57:51ID:9QgeoQmC<? phpinfo(); ?> と書いても何も表示されなかったけど、
<?php phpinfo(); ?> だと表示された。
ネットで調べていて<? phpinfo(); ?> でおkて書いてあったから
原因を特定するのに結構苦労したよ。
質問はなぜ<? phpinfo(); ?>だとダメだったのでしょうか?
0427nobodyさん
2008/10/29(水) 20:03:27ID:???0428nobodyさん
2008/10/29(水) 21:44:29ID:???0429nobodyさん
2008/10/30(木) 00:52:26ID:HuAP4GZhDBとphpを利用して3択問題を作っています。
DBから答え群を読み取り、かつ、その前にラジオボタンを付けたいのですがエラーがでてよくわかりません。
どのように書いたらよいのか教えてください。
$con=0;
$sql = "SELECT * FROM データベースファイル名;
$res = mysql_query($sql,$conn);
while($row2 = mysql_fetch_array($res)) {
{
print("<td><input type="radio" name=".$con." value=".$row2["kotae1"].">.$row2["kotae1"].</td>");
print("<td><input type="radio" name=".$con." value=".$row2["kotae2"].">.$row2["kotae2"].</td>");
print("<td><input type="radio" name=".$con." value=".$row2["kotae3"].">.$row2["kotae3"].</td>");
}
print("</tr>\n");
$con++;
}
例として、kotae1,kotae2,kotae3の中にはそれぞれ、はい、いいえ、どちらでもない が入ってると考えてください。
上のDBとwhile文を考えずに出力したいものは下記と同等の物です(con=0)
<td><input type="radio" name="0" value="はい">はい</td>
<td><input type="radio" name="0" value="いいえ">いいえ</td>
<td><input type="radio" name="0" value="どちらでもない">どちらでもない</td>
勉強始めたばかりで判らない部分が多いのですが、よろしくお願いします。
0430nobodyさん
2008/10/30(木) 00:58:39ID:???0431nobodyさん
2008/10/30(木) 01:12:43ID:???0432nobodyさん
2008/10/30(木) 05:07:33ID:???0433nobodyさん
2008/10/30(木) 06:31:16ID:PzzCI6mpLocationヘッダを使ってリダイレクトさせているのですが、
リダイレクト先のサイトでアクセス解析を行った際に、
リンク元が不詳となってしまっています。
アクセス解析でリンク元が分かるような形でのリダイレクトは行えませんでしょうか?
方法があれば教えていただけませんでしょうか?
0434nobodyさん
2008/10/30(木) 06:54:19ID:???0435433
2008/10/30(木) 06:57:06ID:PzzCI6mpとりあえず自分のサイトで確認を行いまして、
自分のサイトではNINJYAアクセス解析を使っています。
ただ、他のサイトでもリンク元が分かるようにしたいので、
できる限りのアクセス解析でリンク元が表示されるような方法を知りたいと思っています。
0436nobodyさん
2008/10/30(木) 07:03:41ID:???header("Referer: http://example.com/");
header("Location: http://www.google.com/");
偽装もできちゃうが
0437nobodyさん
2008/10/30(木) 07:10:13ID:jCV0a5dqecho "$thing";
?>
これでエラーが出ないんだよ
画面が真っ白
php.iniの設定で、エラーを吐かない、って
なってるのかな?
0438nobodyさん
2008/10/30(木) 07:33:00ID:???その通り
実際にはnoticeレベルのエラーが出ている
http://jp2.php.net/manual/ja/function.error-reporting.php
0440433
2008/10/30(木) 07:37:55ID:PzzCI6mp回答ありがとうございます!
試してみましたが、何故だか自分の環境ではリンク元が不詳となってしまいました・・・
Sleipnirだからかもしれないですね。
0441nobodyさん
2008/10/30(木) 07:47:01ID:jCV0a5dqになってるんだが、これだけでは不満なのかな?
error_reporting = E_ALL & ~E_NOTICE
とかもあわせて書かないとだめなの?
0442nobodyさん
2008/10/30(木) 07:50:15ID:???で全部出る
0443nobodyさん
2008/10/30(木) 07:54:07ID:jCV0a5dq0444nobodyさん
2008/10/30(木) 07:55:07ID:jCV0a5dqそう、それ
それにした
thx
0445nobodyさん
2008/10/30(木) 08:05:05ID:???youtube に教育用コンテンツいっぱいあるけど
おまいら、なんか見てる?
0446nobodyさん
2008/10/30(木) 08:31:59ID:???0447nobodyさん
2008/10/30(木) 11:04:56ID:njx3rGEL良くあるフォームの 入力→確認→登録完了(もしくは修正) という画面遷移の構成で、
みなさんはそれぞれのページにどうやって入力値を引き回していますか?
自分は確認画面の時点で serialize($_POST)として、修正画面や完了画面に引き回してますが、、
(初心者向けの本に載っていた hiddenに格納するやり方だと 項目が大量のとき面倒なので、、)
しかし、もっとマシなやり方があるんじゃないかという気もしてます
そもそも ページ構成を form_top.php/form_confirm.php/form_rewrite.php/form_finish.phpと
分けるやり方がどうなのかなぁと思うし。。
皆さんがどんな風にしてるのか、良かったら教えてください
0448nobodyさん
2008/10/30(木) 11:05:54ID:???■ このスレッドは過去ログ倉庫に格納されています