【PHP】質問スレッドpart20【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/08/06 15:44ID:paJ4kjjQ・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。
■本家
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-4
抜けているものがあったら補足願います
0652620
04/08/19 19:32ID:???とりあえず銀行に文句言ってくるわ
0655nobodyさん
04/08/19 19:38ID:???0656nobodyさん
04/08/19 19:43ID:???0657530
04/08/19 19:47ID:???エンコード後にタグ変える必要も出て来そうですし。
助言して下さった方々、ありがとうございました。
>>537
ちゃんとした物が出来たら何処かに放り投げておきます。
何処に投げれば良いかな?
使う人なんて居なさそうですけど。 ^ ^
0658nobodyさん
04/08/19 19:49ID:???Cookieのpath設定してる?
0659軟式PHP
04/08/19 19:49ID:???| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | >>655
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
.\ “ /__| |
\ /___ /
0660nobodyさん
04/08/19 20:15ID:???pathは"/"としていますが、間違ってますかね?
0661nobodyさん
04/08/19 20:21ID:???鯖を変える前まではできていたんだが
鯖を変えたらできなくなったぽ(´・ω・`)ショボーン
ちなみにどちらもPHP対応です、何が違うんでしょうか?
0662nobodyさん
04/08/19 20:38ID:???鯖が違う
0663軟式PHP
04/08/19 20:43ID:???\(⌒-⌒)
(・(ェ,,)・ ) < そんなエサで俺様がクマー!!
`つ `つ (´⌒(´
ゝ_つ_`つ≡≡≡(´⌒;;;≡≡≡
(´⌒(´⌒;;
ズザザザ
どこまで行クマ?
\  ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ (´´
\(⌒-⌒) o (´⌒(´
(・(ェ,,)・ )つ⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
0664nobodyさん
04/08/19 21:15ID:JfzAv2MEどのようなものにしていますか?
私はタブにしているのですが、ネットでは<>が圧倒的に多いので
その利点なども教えていただけると幸いです。
0665nobodyさん
04/08/19 21:22ID:???タブでいいよ。<>は本文にないとも言い切れないし
0666nobodyさん
04/08/19 21:25ID:???ログファイル開いた時も見やすいし。
0667nobodyさん
04/08/19 21:31ID:???0668nobodyさん
04/08/19 21:31ID:???FATAL: emalloc(): Unable to allocate エラーが出ます
file_get_contents()でも使って変数に読み込むしかないのかな
タブか…良いことを聞いた。φ(.. )メモメモ
0670nobodyさん
04/08/19 21:47ID:???fopenごときでそんなエラーが出るはずは無いんだが・・・。
・根本的な対処
スクリプトのメモリを無駄に使っている部分を直す。
(ファイルの中身を一気に変数に入れてたのを一定サイズに抑えるとか)
・刹那的な対処
PHPやWebサーバのメモリ関係の制限を緩和する。
(当然他の部分に皺寄せが行くので刹那的)
0672671
04/08/19 22:11ID:???他のところでミスってました。
1GBも読み込もうとしてたorz
お手数をおかけしました。
0673nobodyさん
04/08/19 22:13ID:???0674nobodyさん
04/08/19 22:18ID:???\t
0675nobodyさん
04/08/19 22:19ID:???0676nobodyさん
04/08/19 22:22ID:???0677nobodyさん
04/08/20 01:15ID:???0680nobodyさん
04/08/20 05:40ID:???標準入力から読み込む方法と、標準エラー出力にだす方法がわかりません。
マニュアルのどこに書いてありますか?
0681nobodyさん
04/08/20 06:02ID:???0682nobodyさん
04/08/20 06:25ID:???WebPage記述用スクリプトとして生まれてきた性なんだろうな。
0683nobodyさん
04/08/20 06:34ID:???UNIXを知らない奴はプログラム作っちゃだめだな
0684nobodyさん
04/08/20 07:15ID:???マニュアルのどこに書いてあるのか分からなかったので質問しました。
Windows用のマニュアル(*.chm)を使ってるのですが、キーワードにないし、
検索しても見つかりません。
件枠キーワード: standard output, stdin, stdout, ...
なお英語版のマニュアル使ってます。
0686軟式PHP
04/08/20 09:04ID:???| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | >>683
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
.\ “ /__| |
\ /___ /
0687nobodyさん
04/08/20 13:24ID:???0688nobodyさん
04/08/20 15:13ID:???まとめて全てを<?php ?>で囲っちゃった方が負荷が少なかったりします?
大した差は無いかな。。
0690nobodyさん
04/08/20 16:03ID:???0691nobodyさん
04/08/20 16:11ID:???100 / 1.05を計算すと95.238095238095になるのですが、
小数点第何位までと決めることはできますか?
また、やり方もご教授お願いします。
0692691
04/08/20 16:12ID:ttg46q2U0694nobodyさん
04/08/20 16:15ID:???配列に入っている数値を1バイトずつファイルに書き出したいのですが
どうやってもテキストで出力されてしまいます。。。orz
0696Imo ◆.jC7ANgFY.
04/08/20 16:22ID:???初心者にはchr関数ですべてループさせることをすすめる。
すっきりやりたければこんなことしてもできる。
call_user_func_array('pack', array_merge(array('c*'), $list));
0700691
04/08/20 16:50ID:???なるほど、そういう書き方もありましたか。
$motone=$_POST["money"] / 1.05;
$motone=round($motone , 0); //round関数で$motoneの値を整数にする
と書いていました。
0701nobodyさん
04/08/20 16:54ID:???$a=round(100/1.05*100)/100;
ってのも覚えたんだけど、
例えば、
function a(){
$zz = 1234;
}
function b(){
echo = $zz;
}
としてもecho = $zz;は表示されないのだけど、
これを$zz = 1234;の値を他のfunctionで使い回す事ってどうやればいいんでしょうか?
今は全部のfunctionで$zz = 1234; を書いてます・・・
よろしければ教えていただきたいのですが。
0702Imo ◆.jC7ANgFY.
04/08/20 16:57ID:???function a(){
global $zz;
$zz = 1234;
}
function b(){
global $zz
echo $zz;
}
0703Imo ◆.jC7ANgFY.
04/08/20 16:58ID:???b関数内のglobalのセミコロン抜けた。
というわけで報告ついでに別な方法も。
function a(){
define('ZZ', 1234);
}
function b(){
echo ZZ;
}
0704nobodyさん
04/08/20 17:02ID:???そういう方法なんですね!
多分マニュアルに書いてあると思うのだけど、
その方法をマニュアルで探す方法がわからなくてw
ありがとうございました!
0705軟式PHP
04/08/20 17:36ID:???\(⌒-⌒)
(・(ェ,,)・ ) < そんなエサで俺様がクマー!!
`つ `つ (´⌒(´
ゝ_つ_`つ≡≡≡(´⌒;;;≡≡≡
(´⌒(´⌒;;
ズザザザ
どこまで行クマ?
\  ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ (´´
\(⌒-⌒) o (´⌒(´
(・(ェ,,)・ )つ⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
0708nobodyさん
04/08/20 17:56ID:???〜略
$hdata = bin2hex($bdata);
$i=1;
while($i<=$size){
$ddata = hexdec(substr($hdata,$i*2-2,2));
$i++;
}
略〜
こういう感じの処理を速くすることはできますか?
forからwhileにしたら少し速くなった
base_convert(,16,10)からhexdecにしたら少し速くなった
これくらいしか思いつかないのでよろしくお願いします。
0709軟式PHP
04/08/20 18:04ID:???{
var $zz;
function a()
{
$this->zz = 1234;
}
function b()
{
echo $this->zz;
}
}
0712nobodyさん
04/08/20 18:23ID:???$hdata = unpack("C*",$bdata);
$i=1;
while($i<=$size){
$ddata = $hdata[$i];
$i++;
}
略〜
これだと>>708のほうが速いのです。
0713nobodyさん
04/08/20 18:40ID:???0714nobodyさん
04/08/20 18:49ID:???$i=0;
while($i<$size){
$ddata = ord($bdata[$i]);
++$i;
}
だとどうだろうか?
0715nobodyさん
04/08/20 18:50ID:???実行テストは自分のPC(OSはWindows)で行ってますが、
最後に使うのはレン鯖なのでインストはむりぽ
と思ったけどxreaは実験的に導入してくれてるようです。
0716nobodyさん
04/08/20 18:56ID:???0717nobodyさん
04/08/20 18:56ID:???速くなりました。
ありがとう御座います。
ord -- 文字のASCII値を返す
↑ASCII値ってのが意味わからなかったので触ってませんでした。
これかもPHPの勉強を励んでいきます。
0718Imo ◆.jC7ANgFY.
04/08/20 19:24ID:???こうしてほしかったんだけどまぁいいや。
foreach (unpack("C*",$bdata) as $ddata) {
}
0720nobodyさん
04/08/20 21:06ID:ho3qNz5a管理人殺害!!!
0722714
04/08/20 21:32ID:???0723カポコン
04/08/20 23:07ID:???0724684
04/08/21 00:29ID:???見つかりました。
fopen('php://stdin') とか fopen('php://stderr') とかするんですね。
PHPのことだから、「標準エラー出力に出力する関数」とか、
「標準入力を表す定数」とかがあるんじゃないかと思って、そのあたりを探してました。
でもそうじゃなくて、Streamだったんすね。
あまり美しさを感じない仕様だけど、まあこんなもんか。
ていうかいちいちオープンしなきゃならんのはちょっとだけ面倒。
ありがとうございました。
0725nobodyさん
04/08/21 00:39ID:???0728nobodyさん
04/08/21 14:03ID:???echo "<p class=\"2ch\"><? include 'inc/giko.inc'; ?></p></div>";
とやると<? include 'inc/giko.inc'; ?>の部分がそのままでてきてしまいます。
これを出力するにはどうしたらいいでしょうか?
?>で一旦閉じる方法も考えましたが、それだとincludeが全部出力されてしまいちょっと都合が悪いのです。
0729nobodyさん
04/08/21 14:28ID:???もし使えたら予約語の文字列を全て把握しなければならない上、
びくびくしながらプログラムを組まなければならなくなる。
0730nobodyさん
04/08/21 14:29ID:???現在の状況と期待する内容が良く分からんが、
giko.incをphpスクリプトとして実行したいってことなら、
giko.incが <?php 〜 ?>の形式になってないだけじゃないの?
include()の説明を良く見てみ。
0731728
04/08/21 14:44ID:???giko.incはhtmlがそのまま入っています。
htmlでメニューだけincludeして使っていたので(使い方間違ってるかもしれませんが)、それをプログラム中のhtml出力にも使いたい訳です。
現在の状況は
echo "<p class=\"2ch\"><? include 'inc/giko.inc'; ?></p></div>";
html出力
<p class="2ch"><? include 'inc/giko.inc'; ?></p></div>
と表示されるのを
期待している出力
<p class="2ch">(;゚Д゚)</p></div>
((;゚Д゚)=inc/giko.inc内テキスト)
としたいわけです。
0732nobodyさん
04/08/21 14:49ID:???echo "<p class=\"2ch\">";
include 'inc/giko.inc';
echo "</p></div>";
?>
これで確実にOKと思う
0734nobodyさん
04/08/21 16:13ID:???http://jp.php.net/crc32
にあるcrc16用の関数を用いて、
function fcrc16($file){
if(!$fp = fopen($file, 'r')){
return 0xffff;
}
// メモリが足りないかも。
$buf = fread($fp, filesize($file));
$crc = crc16($buf);
fclose($fp);
return $crc;
}
としてやったのですが、うまく計算できませんでした。
どのようにすればうまく計算できるでしょうか?
0735nobodyさん
04/08/21 16:28ID:???の下のほうにcrc16のサンプルがあるよ
使えるかどうか知らないけどね
0739734
04/08/21 17:00ID:???それ、http://jp.php.net/crc32 と同じです。
そして、うまくいきません。
0740nobodyさん
04/08/21 17:40ID:???エラー内容くらい書いたら?
STDIN, STDOUT, STDERR という定数は PHP 4.3.0 以降の CLI 版の PHP で使用可能。
>>738 は CGI 版の PHP で実行していると予想してみる。
php -v で確認してみれば分かる。
どうしても CGI 版とか PHP 4.2.x 以下の環境でその定数を使いたければ、スクリプト
の最初で以下のように設定してしまうという方法もあるみたいだけど。
if (!defined('STDERR')) {
define('STDERR', fopen("php://stderr", "r"));
register_shutdown_function(create_function('', 'fclose(STDERR); return true;');
}
詳しくは以下のあたりを参照。
http://jp.php.net/manual/ja/features.commandline.php#22356
>>739
単純に 16進数変換をしていないだけだったりしない?
$crc = crc16($buf);
printf("%04X\n", $crc);
0741nobodyさん
04/08/21 17:57ID:???function crc16($string){
$crc = 0xFFFF;
for($x=0; $x<strlen($string); $x++){
$crc = $crc ^ ord($string[$x]);
for($y=0; $y<8; $y++){
if(($crc & 0x0001) == 0x0001){
$crc = (($crc >> 1) ^ 0x8408);
}
else{
$crc = $crc >> 1;
}
}
}
return $crc;
}
これでどうよ
0743734
04/08/21 17:59ID:???違いますね。。別で取得した値と
fcrc($file) == 0xBD9A
とかして、比較して検証しているんですが、結果異なっていますし。
0746nobodyさん
04/08/21 19:21ID:Ro1xuyZQPEARをつかってます。DAOの部分はDBになるんでしょうか?
userDAOはDBを継承してソメッドをしこしこ書けばよいのでしょうか?
0747nobodyさん
04/08/21 19:36ID:???誰かに PEAR コードの歩き方習うか試行錯誤で身につけろ。
ググれ、英語嫁、ダンプ取れ、コード読め、PHPDoc 嫁
それがイヤならマニュアルの整備されたパッケージ以外使わない方がいい。
DataObject ならマニュアル嫁。
0750Imo ◆.jC7ANgFY.
04/08/22 01:17ID:???いろいろ目を通したけど1つも見当たらなかったです。
というよりかそのCRCコードはファイルデータ以外に
ファイルサイズなども入っているとか…
# っつーかなんか面白いものつくりてー
# N-GRAM全文検索でもつくろっかな
0751736
04/08/22 02:06ID:???おおっ、すばらしい。さんくす。
そうか、マニュアルのこんなところに載ってあったのか。
予想と違うところに書かれてあると、見つけられんわ。修行してくる。
■ このスレッドは過去ログ倉庫に格納されています