【PHP】くだらねぇ質問はここに書き込みやがれpart5
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/04/30(土) 00:12:53ID:OJfc9xBuここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい
・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
0545nobodyさん
2005/05/19(木) 16:00:38ID:???0547nobodyさん
2005/05/19(木) 16:11:16ID:???0548nobodyさん
2005/05/19(木) 16:12:51ID:???そうそう。それにPHP5だと以下の書き方は少し予想外の動作をするからなぁ。
isset($abc) || $abc = 1234;
if (!isset($abc)) $abc = 1234;でも良いけどわざわざ!を使うのも好きになれない-;。
どうせ型無し(厳密にはあるけど)言語なんだから初期化なんて気にしなくても良いんだろうけどね。
0549軟式PHP
2005/05/19(木) 16:52:59ID:???0551軟式PHP
2005/05/19(木) 17:21:33ID:???0552nobodyさん
2005/05/19(木) 17:24:38ID:???パフォーマンス?
個人的には人間が理解しやすくってセオリーを支持したい
0553nobodyさん
2005/05/19(木) 17:35:03ID:???一連の流れだけ見て書き直した方が早いと想う事がある。
もしビジネスとかでやるのならその会社なり個人独自の関数があるだろうし、
そうそう汚く書けないでしょ。
0554nobodyさん
2005/05/19(木) 17:42:13ID:???別にPerlの人だけじゃないでしょ。
PHPでよく見る形式だとor。
○○ or die
なんて良く見るでしょ。
やってる事と意味は同じ。
書き方が違うだけ。
0555nobodyさん
2005/05/19(木) 17:49:11ID:???わしもそー思う。
短く書けば書くほどカコイイというのがPerlの文化で
もうそれはどうしようもないけど、PHPは逆の方向でひとつ。
0556nobodyさん
2005/05/19(木) 17:53:16ID:???>しかし、Perl の世界では、短絡演算子とわざわざ名前をつけ、
>一般的なテクニックとして使っています。
だそうです。
0557sage
2005/05/19(木) 18:35:07ID:hR7HdelemetaWeblog.newPost APIでブログに投稿する場合、
「struct content /*content構造体 (記事情報)*/」
は、どのような形で生成すればよいでしょうか?
$struct = array( "title" => utf8_encode( $title ), "description" => utf8_encode( $description ) );
$content = new xmlrpcval( $struct, "struct" );
という形で生成して投稿すると、以下のWarning文が出力されます。
Warning: reset(): Passed variable is not an array or object in パス略\xmlrpc.inc on line 1687
Warning: Variable passed to each() is not an array or object in パス略\xmlrpc.inc on line 1688
一応投稿は成功しているのですが、要の連想配列の解析に失敗しているようなので、
タイトルと本文がない状態です。
すいません、アドバイスください。
0558557
2005/05/19(木) 18:36:42ID:???すんません。
0559557
2005/05/19(木) 19:33:49ID:???1行目のarrayの中身も xmlrpcval を通すんですね。
0560nobodyさん
2005/05/19(木) 19:55:53ID:???しませんか?。どう考えても文字コードの問題が見えないのに文字化けする
場所がある・・・。
0561nobodyさん
2005/05/19(木) 20:37:36ID:???1年放置してもまた弄りたくなるためのプログラムセンスとか秘訣があったら教えてください
0562nobodyさん
2005/05/19(木) 21:11:07ID:???0563nobodyさん
2005/05/19(木) 21:16:19ID:???0565nobodyさん
2005/05/19(木) 21:29:58ID:x+Iui2vHID:???←なんでこうなるのでしょう?
0566nobodyさん
2005/05/19(木) 21:51:21ID:???. : : : : : : `゙'ヽ、:::゙ヾ´::::::::::::::::::::::`゙゙゙'''‐'、. l|
、、 . : : : : : : : : r'":::::::::::::::::::::::::,r':ぃ::::ヽ::::::::ヽ! ,、- 、
.ヽ:゙ヽ; : : : : : :ノ:::::::::::::::::::::;;、-、、゙::: rー-:'、 / }¬、
. \::゙、: : : :./::::::::::::::;、-''":::::::::: ,...,:::,::., :::':、 _,,/,, ,、.,/ }
ヽ:ヽ、 /::::::::::::::::::::::::: _ `゙''‐''" __,,',,,,___ /~ ヾ::::ツ,、-/
`ヽ、:::::::::;;;、、--‐‐'''''',,iニ- _| 、-l、,},,  ̄""'''¬-, ' ''‐-、 .,ノ'゙,i';;;;ツ
_,,,、-‐l'''"´:::::::' ,、-'" ,.X,_,,、-v'"''゙''yr-ヽ / ゙゙'ヽ、, ,.' j゙,,, ´ 7
,、-''" .l:::::::::::;、-''" ,.-' ゙、""ヾ'r-;;:l 冫、 ヽ、 / __,,.ノ:::::ヽ. /
l;、-'゙: ,/ ゞ=‐'"~゙゙') ./. \ / '''"/::::;:::;r-''‐ヽ
,、‐゙ ヽ:::::..,.r'゙ ,,. ,r/ ./ ヽ. ,' '、ノ''" ノ
0567nobodyさん
2005/05/20(金) 03:32:05ID:49y750EmBE:249941568-###
とかってたまに出てるのが何か知りたい
0568nobodyさん
2005/05/20(金) 03:42:19ID:???0569nobodyさん
2005/05/20(金) 04:12:27ID:vxAEd/3q同一IPでの、複数ノード。
0570nobodyさん
2005/05/20(金) 05:12:27ID:rCvj+1uXif (!($_POST)) { 〜 }
としてみたらうまく動きません。ヘルプメ
0571nobodyさん
2005/05/20(金) 06:19:27ID:???ttp://www.php.net/manual/ja/types.comparisons.php
この表より、$_POST['〜'] が長さ0の文字列の場合
if条件文の中で $_POST['〜'] はfalseとして評価される事が分かる。
また、配列$_POSTは常にfalseと評価される。
0572nobodyさん
2005/05/20(金) 23:37:17ID:p7xt4QDe0573nobodyさん
2005/05/21(土) 00:03:26ID:F35tYXG6flashでは同じフォルダにあるファイルしか読み込むことが出来ません
そこで phpを使って何とかならないでしょうか
他のサーバの htmlを 取得 textに変換後保存とか
出来るのでしょうか?
出来るのでしたらその方法教えて下さいませんか?
0574nobodyさん
2005/05/21(土) 00:29:24ID:nculEuMQ参考になるソースやヒントを頂けないでしょうか
0576nobodyさん
2005/05/21(土) 03:15:19ID:???0577nobodyさん
2005/05/21(土) 03:36:39ID:???正規表現でマッチしたら置換
0578nobodyさん
2005/05/21(土) 07:33:24ID:???> htmlファイルをインポート
ttp://jp.php.net/manual/ja/function.file-get-contents.php
> <html>や<meta>など余分な個所を削除
ttp://jp.php.net/manual/ja/function.strip-tags.php
> 表示
ttp://jp.php.net/manual/ja/function.echo.php
0579nobodyさん
2005/05/21(土) 07:37:28ID:???現在レンタルサーバを借りて、サイトを公開しているのですが
そこですこし、PHPを使って処理をしようと思いました
ですがわからないことがあったのでここで質問させていただきます
複数のディレクトリに渡って同じ画像を使いたいと思ったのですが
相対パスだとディレクトリ構成に変更があった際、調整が難しくなるので
その画像の位置を絶対パスで記そうと思いました、
ですが、それでもディレクトリ構成に変更があった際に全てのパスを変えなければならないので
あるファイルにそのパスを一括して書いておきそのファイルを読み込んで
そのファイルのパスのがぞうをとるということにしたいのですが
なかなかうまくいきません
私がためしてみたことは
/home/user/html/path.dat
と言うファイルに
<?php
define("imgpath", "/home/user/html/img/");
?>
と書いておき
その画像を使うPHPファイルの上で
<?php require("/home/user/html/path.dat"); ?>
で読み込み
<img src="<?php echo $imgpath; ?>"hoge.jpg >
としたのですが、うまくいきません
何処か間違っているのでしょうか?
もしほかに、このほうがいいよみたいなのがあればそれも教えていただけるとありがたいです
すいませんが、よろしくおねがいします
0580nobodyさん
2005/05/21(土) 07:45:12ID:???<img src="<?php echo $imgpath; ?>"hoge.jpg >
の結果がどういう文字列になるかちょいっと考えてみませんか?
0581579
2005/05/21(土) 07:46:37ID:???失礼しました、
<img src="<?php echo $imgpath; ?>hoge.jpg" >
のうち間違いです
もうしわけありません
0582nobodyさん
2005/05/21(土) 07:59:23ID:???http://jp.php.net/define
0583nobodyさん
2005/05/21(土) 09:13:13ID:???0585nobodyさん
2005/05/21(土) 09:25:39ID:???0586nobodyさん
2005/05/21(土) 10:01:18ID:???0588nobodyさん
2005/05/21(土) 12:11:21ID:???aaaaaaaaaa
<!--あいうえお-->
bbbbbbbbbbbbb
ccccccccccccc
dddddddddddddddd
<!--かきくけこ-->
eeeeeeeeeeee
</body></html>
ファイルを読み込んで<!--あいうえお-->から<!--かきくけこ-->
までを読み込もうと思ってるのですが
<!--あいうえお-->以下はstrstrで切り取れたのですが
<!--かきくけこ-->より↑の切り取り方が解りませんorz
何か良い方法無いでしょうか?
0591nobodyさん
2005/05/21(土) 13:46:26ID:???0592nobodyさん
2005/05/21(土) 13:47:20ID:K/dchezAぱれぐまっち
0593nobodyさん
2005/05/21(土) 13:49:36ID:???0594nobodyさん
2005/05/21(土) 14:10:08ID:KdX50Oy9致命的エラーがでます。
Fatal error: Call to undefined function: mb_convert_encoding() in
関数がサポートされていないんでしょうか、ちなみに契約サーバは
php4.3 利用している本はphp4.2.2です
もともと付属してたプログラムでためしてもやはりこれがでます。
完成したやつでためしているので、プログラム自体に問題はないのですが
どうすればなおるのでしょうか、おしえてください。おねがいします
0595nobodyさん
2005/05/21(土) 14:36:58ID:???マニュアルのmb_* のページに、
「mbstringは拡張モジュールです。 configureスクリプトでモジュールを有効にする必要が あります。」とある。
言い換えれば、phpのインストールからやりなおせやゴルァ、って事になる。
鯖の設定を弄る権限が無さそうなので、jcode.php等の変換用のライブラリを使うのがよいと思われ。
0596nobodyさん
2005/05/21(土) 15:17:38ID:9r1mGjdLhttp://***.com/?id
として渡す方法はわかるのですが、さらに『?』を無くして…
http://***.com/id
と渡したいときはどうすれば良いのでしょうか…
いくら探してもわかりません…お願いします。
0598nobodyさん
2005/05/21(土) 16:17:50ID:???0599nobodyさん
2005/05/21(土) 18:26:55ID:???<?php
$hoge = "hoge";
$geho = sprintf("%sguho",$hoge);
echo $geho;
?>
としたのですが、"guho"と出力されるだけで連結されません
%sではないのでしょうか?
0601nobodyさん
2005/05/21(土) 18:36:48ID:???$path = "/root/";
echo $path;
main.phpに
include("./pathlist.php");
echo $path;
と、記述しているのですが
pathlist.phpのechoは表示されるのですが
main.phpのechoは表示されません
読み込んだファイルの中で、作成した変数はローカル変数として扱われるのでしょうか?
それとも、わたしがおかしいのでしょう?
すいませんが、指摘のほどをよろしくお願いいたします
0602nobodyさん
2005/05/21(土) 18:44:10ID:???残念ながら、これもまた希望通りに表示されてしまいました。
マニュアルのincludeのページにも説明がありますが、
main.php側でもpathlist.phpの$pathは有効な変数になるはずです。
0603601
2005/05/21(土) 18:52:04ID:???ありがとうございます
私の環境ではどうしてもうまくいきません。
何か環境依存の関数がありそうなわけでもないですが、
一応、正確に書かせていただきますと
main.phpの
include("./pathlist.php");
と言う行は実際は
include("http://www.--/pathlist.php");
と言う風に、www上から読み込んでいます
wwwからの読み込みは
echoがうまくいっているので ちゃんと行われていると思います
0605nobodyさん
2005/05/21(土) 19:18:23ID:???URL wrapperを経由する場合は、ローカルファイルをincludeする場合と違う挙動をします。
詳しくはマニュアルのincludeのページを参照してください。
0606601
2005/05/21(土) 19:59:30ID:???ありがとうございます
見てみたのですが、上記の現象が起きるような事項に関する記述は
見付けられませんでした
すいませんが、どのようなことがおかしいのか
説明していただけないでしょうか?
0607nobodyさん
2005/05/21(土) 20:17:50ID:???$str = '123ま147府ahf依田ま950まf';
print mb_ereg_replace('ま', '糞', $str);
?>
これで ま→糞 になるはずですが、そのまま$strが出力されてしまいます。どこが間違っていますか?
Apache2.053 + PHP5.03
0608nobodyさん
2005/05/21(土) 20:34:10ID:???> 読み込まれたリモートファイル(ローカルファイルの場合も同様)の出力が、
> 有効なPHPの開始/ 終了タグを有していない限り、
> リモートファイルを読み込む際に値を 取得することはできません
(例)
pathlist.php
$path = '<? $path="/root/"; ?>';
echo $path;
--
main.php
include("http://〜/pathlist.php");
echo $path;
0609nobodyさん
2005/05/21(土) 20:50:54ID:???0610601
2005/05/21(土) 20:51:44ID:???$path = '<? $path="/root/"; ?>';
と言う意味が、理解できないのですが
echo '<? $path="/root/"; ?>';
で、解決できそうです
ありがとうございました
0612nobodyさん
2005/05/21(土) 23:15:20ID:w+2rTsECうまくいきません
リモートのpath.phpに、
<?php
$rootpath = '<? $rootpath="/"; ?>';
?>
ローカルのmenu.phpに、
<?php
include('http://www.〜/path.php');
?>
として、読み出そうとしたのですが
Warning: Failed opening 'http://www.〜/path.php' for inclusion (include_path='') in c:\www\menu.php on line 2
といわれてしまいうまくいきません
これはなにがわるいのでしょうか?
0613nobodyさん
2005/05/21(土) 23:30:23ID:???同じエラーを出すためには、menu.phpのinclude先ファイルを存在しないものにするか、
php.iniのallow_url_fopen = Offにするかしないと無理でした。
その場合も原因が推測できるようなwarningが他にも出てましたけど、その辺りはどうですか?
また、path.phpは <?php 〜 ?>が含まれる文字を出力しないと意味無いっす。
0614nobodyさん
2005/05/21(土) 23:38:42ID:w+2rTsECありがとうございます
allow_url_fopenはOnになっています
他のエラーは表示されません
echo '<?php $rootpath = "/"; ?>';
にしたのですが、これも同じエラーでした
0615nobodyさん
2005/05/22(日) 10:17:41ID:84t3TsAEこのたびノートパソコンを買ったのでサーバにでもしようかと思っております。
自分の鯖上でならPHP動いてくれますか?
やっぱりプロバイダが非対応ならその下の自家製鯖も動作不可能ですか?
原理すらわかってないアホですが教えてエロいひと。
0617nobodyさん
2005/05/22(日) 10:39:39ID:???MySQLとかの本で、PHPとMySQLとApacheを一緒に解説した本があるから、
(CDROM付)それを見るとか。
0618nobodyさん
2005/05/22(日) 10:48:46ID:???phpスクリプト経由で書き換えることって出来ますか??
crontab書き換えスクリプトを用意しておいてブラウザでそれにアクセスして、
たとえば「毎日0時にhoge.phpを起動する」となっているのを
「毎日0¥5時にhoge.phpを起動する」と書き換える・・・みたいなことがやりたいのですが。。
0619618
2005/05/22(日) 10:49:55ID:???× 毎日0¥5時に
○ 毎日5時に
0620nobodyさん
2005/05/22(日) 11:34:30ID:???そういう質問をしてるってことは作成し始めてから何か問題に遭遇して困ってるってことだよね?
痛くしないから言ってごらん。
0622nobodyさん
2005/05/22(日) 14:19:51ID:???まずはhttp://www.〜/path.phpにブラウザで
アクセスするとどう表示されるか確認してみたら?
0623nobodyさん
2005/05/22(日) 16:02:21ID:???0624nobodyさん
2005/05/22(日) 17:54:06ID:???array_uniqueは使えないようです。
自分で関数作る以外に何か方法はあるんでしょうか?
0625nobodyさん
2005/05/22(日) 21:37:33ID:???0626618
2005/05/22(日) 22:06:06ID:???まだ問題は起きてません。と言うか、問題が起きる以前に
crontabの書き換え方法自体が分からないので困ってます。
ちなみに今はXREA使ってますが、XREAではコンパネからcronジョブの
起動間隔を指定することは出来ますが、>>618で書いたようなスクリプトからの
制御はできないと思います。なので、スクリプトからのcrontabの書き換えが技術的に可能なら、
専用サーバーでもいいから借りようかな、と思っております。
>>621
ありがとうございます。でも、ちょっと意味がよく分かりません。
>>623
ご教授ありがとうございます。UNIXやLinuxについてあまり知識が無いのですが、
おっしゃるように「実行ユーザが同じ」であれば、ブラウザからphpスクリプト経由で
crontabの内容を書き換え可能…ということなのでしょうか??
全体的に厨な質問ですみません。
0627nobodyさん
2005/05/23(月) 02:16:13ID:9dlfXMc9いったいどこが間違っているのかわかりません。
どなたか教えていただけないでしょうか?
<?php
$hour = date('H');
if(3<= $hour <10){
$greeting = 'おはようございます。';
}
else if (10<= $hour <18){
$greeting = 'こんにちは。';
}
else {
$greeting = 'こんばんは。';
}
echo $greeting."現在の時刻は".date('H時i分s秒')."です";
?>
0628nobodyさん
2005/05/23(月) 02:45:40ID:???0629nobodyさん
2005/05/23(月) 03:10:10ID:???UNIXユーザそれぞれは自身のcron設定ファイルを持っていて、それを編集することによってcronで処理する内容を変えることが出来る。
だから、PHPスクリプトを実行するユーザ(つまりWEBサーバを起動しているユーザ)を例えばユーザnobodyとすると、PHPで編集できるのはnobodyのcron設定ファイルだけ。
これ以上はサーバの仕様に依存するけど、レンタルサーバなんかだったら、業者から割り当てられたユーザでPHPスクリプトが実行されるようなWEBサーバでなければ、cronをPHPから編集するのは無理だと思う。
また、仮にそういうWEBサーバだったとしても、cron設定ファイルを編集できるかは分からない。特別なコマンドを使わないとダメなOSもあるだろうし。
ただ、業者がレンタルサーバ用に特別なcron設定ファイルを用意している可能性もあるし、なんともいえないけどね。業者に聞いたほうがいい。
0630nobodyさん
2005/05/23(月) 03:17:25ID:???Fatal error: PDFlib error: [2602] PDF_set_info: Code page '932' not supported in
って出てます。
0631618
2005/05/23(月) 03:45:43ID:???丁寧な解説ありがとうございます!
おぼろげですが全体像がつかめてきました。
cronジョブそのもの(.shファイル)は自分で作成してアップするわけですから
当然スクリプトからの内容書き換えも簡単なので、crontabの設定ファイルも
同じように簡単にアクセスできる(たとえばFTPでもアクセス可な場所に置いてある…みたいな)のかと
思っておりましたが、どうやら難しそうな感じですね。
とりあえず出来そうなレンタルサーバーを探してそこに質問するか、
それでも無理そうなら自宅にサーバー立てる努力をしてみようかと思います。
0632nobodyさん
2005/05/23(月) 04:07:24ID:???ttp://www.linux.or.jp/JM/html/cron/man5/crontab.5.html
0633618
2005/05/23(月) 06:06:39ID:???ありがとうございます。crontabについてよく分かりました。
自分でもいろいろググってみた結果、条件さえ合えば、自分のやろうとしてることは
技術的には出来るようです(XREAでは無理そうですが)。
その場合は、phpのsystem関数でcrontabを実行して(実行できる??)、
書き換えたい内容をいったんtxtファイルとかで吐き出したものを
読み込ませればいい、ということでしょうか?
(↑もしかしたら全く見当違いなことを言ってるかもしれませんが…)
0634nobodyさん
2005/05/23(月) 06:17:56ID:???crontabに設定したい内容を適当なファイル(例 /tmp/nullpo)に作成する。
内容はこんな感じ(一口にUNIXと言っても書式が微妙に異なることがあるので注意)。
0 5 * * * 実行したいファイル
作成したファイルをsystem関数でcronに喰わせる。
system ('crontab実行ファイルのパス/crontab /tmp/nullpo');
0636nobodyさん
2005/05/23(月) 08:00:50ID:???その状態で更新すると、ページの内容は表示されるのですが
タイトルが「サーバーが見つかりません」のままでした。
戻るボタンを使ってもページが表示されるようにするためには、どう対処すればよいのですか?
0637618
2005/05/23(月) 08:03:53ID:???自分の頭の中では漠然としたイメージしかありませんでしたが、
おかげさまで具体的なイメージが分かりました! 本当にありがとうございます。
あとはそれ(cronに喰わせる)を実行できる権限があるかどうかの問題だけですよね?
rootとかnobodyとかいう辺りについてはまだほとんど理解してませんが、もうちょっと調べてみます。
ちなみにそのnobodyかどうかは、どうやって調べられるのでしょうか?
phpinfoを試してみましたが、それらしき項目は見つかりませんでした。
(↑また見当違いなこと言ってるかもしれません・・・)
0639618
2005/05/23(月) 09:27:33ID:???あざ〜っす!!!(少し変化をつけてみました)
それはUNIXのコマンドでしょうか? UNIXについてはほとんど知らないので、
調べてみようかと思います。まずは「シェルとは」をググります・・・(utu
0640nobodyさん
2005/05/23(月) 09:39:17ID:???session_nameで、セッション名を設定する場合は、session_startをcallするまえに
設定しろとあります。
$dummy = session_name( "hogehoge" );
session_start( );
っちゅうことだと思います。
が、実際には、
session_start( );
$dummy = session_name( "hogehoge" );
としないと、セッション名が変更されません。
どして?
0641nobodyさん
2005/05/23(月) 10:33:20ID:YeS0S9K1php の CUI なプログラムを作っています(php コマンドから自作スクリ
プトを呼び出すだけ)。
この場合、コーディングミスなどによる実行中の fatal なエラーを自作
スクリプト内でキャッチしたいのですが、何か方法はありますでしょうか。
夜間バッチで動かすので、エラーが発生した時にメールとか飛ばしたいの
です。
0642nobodyさん
2005/05/23(月) 11:22:23ID:???マニュアルの「エラー処理およびログ記録関数」を参照するといいよ
0643nobodyさん
2005/05/23(月) 11:30:42ID:YeS0S9K1ありがとうございます。丁度見ていて試していたところでした。
しかし、うまく行かないのです。
以下のように、存在しない abcdef() 関数をコールして fatal
なエラーが発生したときに自作のエラーハンドラー(errHandler())
を起動させるようにしたいのですが、どうも駄目です。どうしたら
よいでしょうか。もしおわかりであれば是非お教え頂きたいのですが
よろしいでしょうか。
<?php
function errHandler($errno, $errstr, $errfile, $errline){
print "ERROR!!!\n";
}
$old_error_handler = set_error_handler("errHandler");
abcdef($ab);
?>
0644nobodyさん
2005/05/23(月) 11:37:41ID:???そんなことは無い
お前の気のせいだ
<?php
session_name("session");
session_start();
echo SID ;
?>
■ このスレッドは過去ログ倉庫に格納されています