【PHP】質問スレッド Part15
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/03/07 02:03ID:???上級者用や雑談スレを立てたくなった場合は後から適宜立ててください。
■本家
http://www.php.net/
■日本 PHP ユーザ会
http://www.php.gr.jp/
■PHP マニュアル
http://www.php.net/manual/ja/
■PEAR マニュアル
http://pear.php.net/manual/ja/
過去スレ, 関連スレ及び注意事項等は、 あふぉが居なけりゃ>>2-5
0449nobodyさん
04/03/17 05:00ID:???スマソ。XOOPSのHPやってます。不具合があるので解る方レスお願いします
0450nobodyさん
04/03/17 05:21ID:???go away.
http://pc2.2ch.net/test/read.cgi/php/1067311026/l50
0451nobodyさん
04/03/17 09:30ID:k72f02s2Header("Content-disposition: attachment; filename=hoge.csv");
Header("Content-type: application/octet-stream; name=hoge.csv");
$str = "hoge,hoge";
print ( "$str" );
現在このようにしてcsv出力を行っていますが、
「ファイルのダウンロード」ダイアログが出てきて、保存をクリックすると
単純にPCに保存ができます。
開くをクリックするとまた「ファイルのダウンロード」ダイアログがでてきて、
もう1度開くをクリックすると今度はテキストエディタでcsvファイルが開きます。
なぜ2度ダイアログが出てくるのでしょうか。
1回で開くを実行できないでしょうか。
0453402
04/03/17 10:48ID:???・・・・?何で動かなかったんだろう・・・(´д`)
とにかく助かりました。
HTTPやネットワークプログラミングについて、もう少し詳しく勉強してみます。
0454nobodyさん
04/03/17 10:48ID:???0455nobodyさん
04/03/17 11:28ID:6/A8lM/E0456nobodyさん
04/03/17 11:49ID:???0460nobodyさん
04/03/17 17:11ID:6/A8lM/Esession.gc_maxlifetimeなどの指定はできますか?
0462nobodyさん
04/03/17 17:24ID:???session.use_trans_sid以外は、PHP_INI_ALLだから可能。
http://www.php.net/manual/ja/ref.session.php
マニュアルも読めんのか?
0463nobodyさん
04/03/17 20:15ID:6/A8lM/Eini_set( 'session.cookie_lifetime' ,3600 );と記述しました。
書き方がおかしいでしょうか?
この書き方では、設定変更は出来ないようです。
0464nobodyさん
04/03/17 20:52ID:dMGK56zpHTMLファイルのセレクトメニューの値を
PHPファイルのセレクトメニューに反映させる方法をどなたかご教授ください。
宜しくお願いします。
0466nobodyさん
04/03/17 20:56ID:???お父ちゃんな、マニュアルも読まん子は好きやないねんけどな。
<?php
ini_set('session.cookie_lifetime', '3600');
// 引数は数値で書いても型変換されるけど、正しくは文字列。
phpinfo();
?>
として鯖に置いて確かめてみ。普通は特に変更不可にはしてない筈。
確認しても駄目なら管理者に問い合わせ。
0467nobodyさん
04/03/17 21:02ID:???hai? って感じだが、<select><option>の特定のoptionを選択状態で表示したいって話なら、
phpに関係なくHTMLの話やね。<option selected>item のようにselectedをつけりゃいい。
どのoptionにselectedを付けるか、つーのはプログラマである君がゴリゴリ書く仕事やね。
0468nobodyさん
04/03/17 21:42ID:???レスどうも。
もちろんserectedはわかるんだけど、
やっぱゴリゴリ書かなきゃなんねえのですか。
ありがと、今からゴリゴリしますわ。
0469nobodyさん
04/03/17 21:46ID:???selected
恥ずかしいっす。
0470nobodyさん
04/03/17 21:48ID:6/A8lM/ELocal Valueは3600に変わるのですが、Master Valueは0になっております。
Master Valueも3600には変わらないのでしょうか?
0472nobodyさん
04/03/17 22:16ID:???0473nobodyさん
04/03/17 22:27ID:HqRKwDEV『表示』とか『貼り付け』とかが文字化けするんですけど、
なぜでしょうか?
phpのコードにはmetaタグでShift_JISとしてまして、
mysqlのdefault-character-setはsjisにしてあるんですけど。
0474nobodyさん
04/03/17 22:57ID:???表 -> 95 5C
貼 -> 93 5C
5Cつーのが目に付くと思うんだけど、これは「\」の文字コードなのよ。
で、\つーのはメタ文字とか言って続く文字の1バイト目をエスケープしちゃうわけよ。
addslashesやmagic_quotesをゴニョゴニョして対処する方法もあるけど、結構めんどい。
shift_jisでしか扱えない文字をどうしても使いたいって時を除いては
EUCでスクリプトを書くのが楽って言われるわけやね。
画面表示のタイミングでEUCからshift_jisに変換できるしEUCでやっとけばええんでないの?
0475nobodyさん
04/03/18 00:05ID:???そりゃMaster Valueは、php.iniで変えるもんやからな。
つか色々自分でやって試してみなよ。鯖借りてるとしても、
ローカル(Windowsでも良い)に似たような環境作って。その方が飲み込み早い
# 持ってなかったら、もう一台ぐらい中古の安いの買えれ。
0477nobodyさん
04/03/18 01:43ID:???LAN内からしかアクセスできないとか。
もしくは開発をローカルでやっててURLを127.0.0.1のまま携帯でつなごうとしてたり。
0478nobodyさん
04/03/18 02:01ID:pqPZG/Ug発行されるところがありますけど、あれはどうやって決められてるものなんでしょうか?
登録時の時間とか、連番とかを、(方法はわからないけど)別の数字や文字に置き換えてるんでしょうか。
そういう処理ってPHPでもできますか?
0479nobodyさん
04/03/18 02:55ID:GIO+BTKSmb_convert_kanaをどのように使えばいいのでしょうか?
0480nobodyさん
04/03/18 03:32ID:???$ren = "文字列";
mb_convert_kana($ren, "c") = $ren2;
if(mb_strwidth($ren) == mb_strwidth($ren)){
TRUEの処理
}else{
FALSEの処理
}
すまぬ…折れの頭脳ではこれが限界だ…
0483nobodyさん
04/03/18 13:46ID:???001<>kakiku
002<>ai-n
003<>hoge
002<>afe
001<>unko
例えばこのようなログファイルを読み込むとき、
先頭の番号に準じて配列に格納するにはどうしたらいいでしょうか?
この場合、
$arr_001 = array("kakiku", "unko");
$arr_002 = array("ai-n", "afe");
$arr_003 = array("aiueo", "hoge");
といったような感じにしたいです。
0484nobodyさん
04/03/18 14:17ID:???かなり変態なソースの気もするが・・・
$nに番号、$vに値を収納したとして下記をレコード分回す
$array_name="arr_".$n;
if(!isset($$array_name))$$array_name=array();
array_push($$array_name,$v);
可変変数の配列に代入するにはarray_pushが必要なようです。ベンキョウニナリマシタ
0488nobodyさん
04/03/18 21:39ID:+47BygHQ現在、配列を特定の条件でマージしようとしています。
マージの関数はarray_mergeとarray_merge_recursiveを試してみたのですが
思ったような処理をすることが出来ません。
usortの用に比較関数をユーザー定義できるものって無いのでしょうか?
0489nobodyさん
04/03/18 21:53ID:XqncjgjWcのmain関数のreturn()に戻したい値を入れてもどこに戻ってるのかわかりません。どうすればよいか教えて
くださいまし。
0494taku
04/03/18 23:08ID:dRleo8tvPHPで日本語メール送ると文字化けが起こります。
mb_send_mail関数の前にmb_language関数で
mb_language("japanese");を指定すると
件名と本文がエンコードされて文字化けが起こらないように
なるみたいですが何度か試したのですが文字化けが起こりました。
レンタルサーバーですので問い合わせた所
「mb_send_mail関数とmb_language関数ともに有効ですがEUCーJPで
動作している為メールの場合そのままでは文字化けを起こして
しまうようです。自動変換機能をONにしましたので再度ご確認下さい。」
と返答がありましたが、いまいちわかりません。
何か良い解決方法ありましたら教えて下さい。<(_ _)>
ちなみにテストしてたのは↓のような簡単な構文です。
<?php
$to_addr = "***@yahoo.co.jp";
$title = "テストメール";
$body = "テスト";
mb_language("japanese");
if(mb_send_mail($to_addr,$title,$body,'From:
[email protected]')){echo"
送信成功";}else{echo"送信失敗";}
?>
0495nobodyさん
04/03/18 23:18ID:v217X1kZmb_send_mail($to_addr, mb_convert_encoding($title,"jis","euc-jp"), mb_convert_encoding($body,"jis","euc-jp"),'From:[email protected]')
0496taku
04/03/19 00:07ID:zEoQqiAa早速のご返答どうもです。試したのですけど、文字が変換されてる
らしいのですが、届いたメールには文字化けではなく
文字が削除?(空欄状態です)されていました。
うーむ、となるとサーバーの設定がまずいのですかねぇ?
何か他に良い案がありましたら教えて下さい。<(_ _)>
0497nobodyさん
04/03/19 00:28ID:???PHP のバージョンは?
PHP の一部のバージョン(確か PHP 4.3.2 から PHP 4.3.3 くらい)は mb_language() が
正常に働かなかったような気が。
php.ini の設定が
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
になっていれば mb_language('Japanese') はなくても大丈夫だったと思うけど。
0498488
04/03/19 01:34ID:Ll14L7j+いえ、この場合、特定の条件や処理の話はたんなる比喩で
「usortのように比較関数をユーザーが定義できる、マージ関数はあるのか?」
という事が質問の趣旨のつもりでした。
わかり難くてすみません。
0499nobodyさん
04/03/19 02:10ID:nZ+iMlnl例えばフィールドサイズがテキスト型で20のデータを読み込もうとすると、
全角だと10文字までしか取得できません(半角なら20文字読めます)。
10文字以降はゴミがついてきます。
odbcのアクセスにはodbc_result()、odbc_exec()関数などを使用しています。
どなたか教えてくださいませ。
0501nobodyさん
04/03/19 02:49ID:???0502nobodyさん
04/03/19 09:33ID:???0505nobodyさん
04/03/19 12:10ID:jbsetE8tそのとき、1段ごとで、色を変えたいのですが可能でしょうか?
0506nobodyさん
04/03/19 12:28ID:???0508nobodyさん
04/03/19 13:04ID:jbsetE8tPHPでDBにあるデータを表示させています。
そして、テーブル形式で表示させています。
そのとき、1段ごとで、色を変えたいのですが可能でしょうか?
0511nobodyさん
04/03/19 13:17ID:???テーブルの行を順々に異なる色にする程度の知識レベルがあれば可能
DB無関係
これが理解できなかったら、かなり不可能
0513nobodyさん
04/03/19 14:25ID:???プログラミングの基礎だ。
0514nobodyさん
04/03/19 15:10ID:???漏れだけなんかなぁ。もうそんなシビアな時代じゃない?
0516nobodyさん
04/03/19 16:10ID:???$a = $b / 2;
なんてのを
$a = $b >> 1;
にしたがるのも漏れだけ?まぁこれは文脈によってはダメだけど。
0517nobodyさん
04/03/19 16:16ID:???0518nobodyさん
04/03/19 16:27ID:???PHPの時は、そんなもんインタプリタ言語で気にするのが変と思ってる。
結論として、文脈で分かりやすいほうの記述をとるな
もうそんな時代じゃないというのにかなり賛成
0520nobodyさん
04/03/19 17:32ID:???PHP-DOC を見た感じ diff だけだし。
0523nobodyさん
04/03/19 18:31ID:???「1段ごとで、色を変えたいのですが可能でしょうか?」
つまり、一段ごとに"任意の色"を付けたいのかもしれん。
→ テーブルに任意の色保持するフィールド作れよ。
0525nobodyさん
04/03/19 20:55ID:EiWH/2WlRuby のライブラリを移植したのですが、
参照渡しにしているにもかかわらず、
処理に 10 倍以上の時間がかかります。
正規表現が悪さをしているんでしょうか?
0526nobodyさん
04/03/19 20:58ID:???CGIのjcode.plに相当する関数はPHPにありますか?
0529nobodyさん
04/03/19 21:58ID:???http://jp.php.net/manual/ja/ref.mbstring.php
>>527
神内さん、乙。
0530nobodyさん
04/03/19 22:04ID:mkcYvZdshttp://www.google.com/search?q=jcode.php&hl=ja&lr=lang_ja
0531489
04/03/19 22:21ID:pIHWidCqありがとうございます。とりあえず0−255まで値が渡るようになりました。
重ね重ね恐縮ですが、256より大きな数はどうすればよいでしょうか。
0534nobodyさん
04/03/20 00:54ID:???沢山必要になったときどういう風に変数名付けてる?
俺まったくの行き当たりばったりだから$fpxとか$fp2みたいなやる気も統一性もない名前ばかりなんだが
0535nobodyさん
04/03/20 00:58ID:2jbtOFQU0536nobodyさん
04/03/20 01:13ID:???両立できないんでしょうか。
function hoge(&$foo = "bar"){
// ...
}
こういう書き方をするとエラーが出て困っています。
0538nobodyさん
04/03/20 01:38ID:2jbtOFQU0539536
04/03/20 01:40ID:???こういう書き方はできますか?
動作はするみたいですけど。
function hoge($foo = "bar"){
//...
}
hoge(&$a);
0540nobodyさん
04/03/20 02:34ID:???php -r "$a='hoge';"
php -r "$a=&'hoge';"
ってやって試してみなよ。。
エラーの内容を見れば想像出来ると思うが。
そんなコードが必要になる時点で何か変なんだよ。
0541536
04/03/20 02:57ID:???ええと…>540さんは、変数に入ってない値への参照を作成することは
できないっておっしゃりたいんでしょうけど、>539は動きますよ。
だって、変数に入ってない値への参照を作成していないのですもの。
それに私は>539みたいなコードが必要だから、
そういうコードを書いているのですけど…。
参照渡しの引数にデフォルト値を設定することの、何が変なのかよくわかりません…。
0542nobodyさん
04/03/20 03:31ID:???━ヽ(´c_`)ノ━
0543nobodyさん
04/03/20 08:22ID:0einhvXNrequireやrequire_onceを使うと、単に「ソースコードの追加」を行うだけでなく
他のphpの'出力結果'を取り込む事もできるんでしょうか?
読み込み対象のphpがリモートファイルの場合でも可能でしょうか?
0544526
04/03/20 08:40ID:???0546543
04/03/20 08:59ID:???マニュアルも読み足りなかったかもしれませぬ。
しかし、なぜrequireだとwarningが出て、fopenだと出なかったんだろう。
requireを使って外部鯖のphpの出力を取り込むと、「seekingはサポートしてません」
みたいなwarningが出てから一応出力もされるんですが
ファイルポインタ使ってない(つもりな)のに、なんでこんなエラーが出たのだろう・・・
fopenで最初から最後まで書き下すようにしたらなんもエラーは出なかったです。
0547nobodyさん
04/03/20 11:26ID:Hxt1FY25Linuxの何か + ApacheでUTF-8の読み書きをすると英数字以外が文字化けするんですよ。
php.iniを変更できないレンタルスペースの環境で
UTF-8を読み書き検索したいのですが、
mbstringを使う方法ってありますか?
■ このスレッドは過去ログ倉庫に格納されています