【PHP】質問スレッドpart28【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/05/05(木) 17:17:11ID:???・新規質問の方は上げてください。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-10辺り
0153nobodyさん
2005/05/22(日) 09:29:21ID:???natsortは戻り値は返さない。マニュアルぐらい読もうよ。
$n_dir = scandir($dir);
print_r($n_dir);
natsort($n_dir);
print_r($n_dir);
でないと。
実際には、期待した順にはソートされないと思う。"." ".." が前に来ると思われ。
0154nobodyさん
2005/05/22(日) 21:41:43ID:???set_include_pathだと上書きになってしまうので。
一応自分で以下のような関数を自作したんですけど、
もし標準であるならそっちを使いたいので。
function add_include_path($path) {
$include_path = get_include_path();
set_include_path($include_path . ":" . $path);
return true;
}
0155nobodyさん
2005/05/24(火) 13:11:43ID:E/H71Uk/Why is it good if charged a fee?
0156nobodyさん
2005/05/24(火) 13:29:18ID:???多分、色々と見かけてるとは思うけど、
ini_set('include_path', '追加したいパス' . PATH_SEPARATOR . ini_get('include_path'));
という方法が、昔からの定石として使われている。
0158nobodyさん
2005/05/26(木) 06:13:16ID:???PHPコードの高速化・効率化を書いていたりまとめているHPってないっすか?
(Perlですが↓みたいな感じ)
ttp://www.rfs.jp/sitebuilder/perl/09/05.html
ttp://www.din.or.jp/~hagi3/Perl/Perf.htm
検索してもMLと数件見つかるだけです・・・。探し方が悪いのかな?
0159nobodyさん
2005/05/26(木) 11:25:17ID:???0160nobodyさん
2005/05/26(木) 11:47:43ID:???$fp = fopen('hoge.zip', 'a+');
fwrite($fp, 'パスワード');
fclose($fp);
0161nobodyさん
2005/05/26(木) 13:31:25ID:t2iex5dJチェックリストみたいなものって、どっかにありませんか?
XSSや、文字化けとか、見落としがちな定番穴見つけリストみたいので良いのですが。
0162nobodyさん
2005/05/26(木) 13:46:52ID:???IPAのセキュア・プログラミング講座
ttp://www.ipa.go.jp/security/awareness/vendor/programming/
文字化けまで考慮したチェックリストは無いんじゃないかなぁ。。
つーかそこまでリスト化すると対象が膨大すぎて意味をなさなくなるような。
別のアプローチとしてphpunit等のテストツールとか。
0164nobodyさん
2005/05/26(木) 20:00:20ID:???を取得してソースを
sample.htmlで保存したいのですがどうすればいいのでしょうか?
0165nobodyさん
2005/05/26(木) 20:12:07ID:???ttp://www.php.net/manual/ja/ にPHPのマニュアルがある。
やりたい事に関係しそうなものを探していく。
「リモートファイル、ファイルシステム関数、HTTP関連の関数、ネットワーク関数、ソケット関数、URL関数 etc.」
これらの単語が目に付く筈だ。
それぞれのページを見ていくと、今回のスクリプトに使えそうかそうでないかを判断することができる。
サンプルまで書いてある場合もある。
さぁ、これでオマイは今までの質問するだけのヘタレでは無くなった。後は実際にスクリプトを書くだけだ!
0166nobodyさん
2005/05/26(木) 20:42:28ID:???<?php
$file = fopen("http://www.yahoo.co.jp/", "r");
?>
保存の仕方教えて
0167nobodyさん
2005/05/26(木) 21:04:59ID:???0168nobodyさん
2005/05/26(木) 21:27:26ID:???<?php
$file = fopen("test.html", "w");
$line = fopen("http://www.yahoo.co.jp/", "r");
fputs($file,$line);
?>
0169nobodyさん
2005/05/26(木) 21:49:33ID:???0170nobodyさん
2005/05/26(木) 22:19:29ID:???$logfile ="a.dat";
$files = file_get_contents("http://www.yahoo.co.jp/");
$fp = fopen("$logfile","w");
fputs($fp, $files);
fclose($fp);
?>
0171nobodyさん
2005/05/26(木) 22:21:54ID:???0172nobodyさん
2005/05/26(木) 23:51:33ID:Jhl0Cun1アパッチいれても動きません・・・2000とXPで設定が違ったりするんでしょうか?
0173nobodyさん
2005/05/26(木) 23:53:47ID:???0174nobodyさん
2005/05/27(金) 00:00:06ID:oSADx+e20175nobodyさん
2005/05/27(金) 00:02:31ID:???0178nobodyさん
2005/05/27(金) 00:45:23ID:???{
function chikan($ary){
$aa = array_map("call_back_arr",$ary);
print_r($aa);
}
function call_back_arr($a){
return $a+1;
}
}
とクラス内でコールバック関数を定義して使用したいのですがいまいちいい方法が思いつきません。
何かいい案がないでしょうか?
"$this->call_back_arr"
等試してみたのですができなかったので。。。。。、
0179nobodyさん
2005/05/27(金) 00:49:36ID:???0180nobodyさん
2005/05/27(金) 09:57:01ID:???多分こんな感じ。
$aa = array_map(array(&$this, 'call_back_arr'), $ary);
0181nobodyさん
2005/05/27(金) 11:59:21ID:???array関数で配列にまとめて入力するときに参照したテキストには
「$test = array("あ","い","う")」
などとやればよいとありました。
これがたとえば数値を入れたいのであれば
「$test = array("1","2","3")」
とやればできたのですが、
「$test = array(1,2,3)」
とやっても問題ないようです。
「"」でくくると文字列の扱いになるのかな?とCをかじった身では思ってしまうのですが、
いずれで試しても
「print $test[0] + $test[1] + $test[2] . "<BR>";」
で計算結果を出力したところ問題なく計算されています。
PHPでは変数に数値を入れるときは「"」をつけてもつけなくても変わらないということなのでしょうか?
0182nobodyさん
2005/05/27(金) 12:15:36ID:???0183nobodyさん
2005/05/27(金) 12:19:00ID:???マニュアル「型の相互変換」を参照。
0184183
2005/05/27(金) 12:19:29ID:???0185181
2005/05/27(金) 13:46:14ID:???レスどうもです。
なるほど、使用時にその都度決定されるという理解でよさそうですね。
ためしに
$a = "a1";
print substr($a,1,1) . "<BR>";
print substr($a,1,1) + 2 . "<BR>";
とやってみたところ最後の計算も問題なくできてました。
どうもありがとうございました。
0186nobodyさん
2005/05/27(金) 17:10:05ID:nWSYjCL0グローバル変数を使う、
defineで定義した値や変数をrequireで呼び出す
などがありますがどれがおすすめでしょうか?
昨今ではグローバル変数は問題ありだと思いますし
defineで定義した変数は $記号が無いためちょっと読みづらい
気がします。
で呼び出すにはrequireを使う感じでしょうか。
それとも、他の方法で呼び出すのでしょうか?
0188nobodyさん
2005/05/27(金) 19:23:15ID:nPYYisrT0190nobodyさん
2005/05/27(金) 19:27:24ID:nPYYisrTこのサイトを参考に両方を設定したんですが、PHPの方だけ起動が確認できませんでした。
>>189
レスありがとうございます。
自分に設定の間違いがあると思うので探してみます。
0191nobodyさん
2005/05/27(金) 23:21:53ID:m4bC+hhp0192nobodyさん
2005/05/28(土) 00:27:09ID:???パスワードの設定の仕方がわかりません。
学校でコマンドプロントで設定し、家にそれを使ったプログラムを持ち帰ってやろうとしたのですが、
サーバー接続でエラーが出るので気づきました。
PHPのプログラムで
// データベース接続
$host = "localhost";
if (!$conn = mysql_connect($host, "usr", "passwd")){
die("データベース接続エラー.<br />");
}
mysql_select_db("sample", $conn);
となっているのでユーザー名は"usr"でパスは"passwd"だと思うのですが
これをMYSQLに設定するやり方がググッテも解りません。
データベース板で聞くべきかもしれませんがどなたか教えてください。
0193nobodyさん
2005/05/28(土) 01:39:06ID:???復習する心がけは良いが、
>学校でコマンドプロントで設定し
授業もちゃんと聞きましょう。
http://dev.mysql.com/doc/mysql/ja/user-account-management.html
0194nobodyさん
2005/05/28(土) 11:33:55ID:vndaXCbxなんで?
アパッチ。exeでリスタートする方法ありますか?
コマンドなんかつけりゃいいの?
0195nobodyさん
2005/05/28(土) 11:45:18ID:???まさかとは思うけど、自宅から学校のMySQLにアクセスしようとしてないよね?
そうだとしたら、その辺は学校側のセキュリティの問題だから、俺らじゃ解決できない。
>>194
普通にサービスからリスタートしたら?
0197194
2005/05/28(土) 11:58:48ID:vndaXCbxアパッチはver4?1?
確か今現時点の最新より一個前のバージョンです。
あと、サービスからリスタートする方法って・・・?すいません、初心者で。。
0198nobodyさん
2005/05/28(土) 12:06:38ID:???0199nobodyさん
2005/05/28(土) 12:09:08ID:???インストール時の状況によって変わる。全部読め or die()
ttp://httpd.apache.org/docs/windows.html
ttp://httpd.apache.org/docs-2.0/platform/windows.html
0200nobodyさん
2005/05/28(土) 12:09:46ID:???「初心者」ならできるシリーズがオススメ!
0201nobodyさん
2005/05/28(土) 12:13:32ID:???$objXml=simplexml_load_file("test.xml");
mb_convert_variables("EUC-JP", "auto", $objXml);
エラーがでる、何がいけないの?
0202nobodyさん
2005/05/28(土) 12:25:44ID:???0203nobodyさん
2005/05/28(土) 12:29:56ID:???Apacheにはメジャーバージョンで1と2があるの
2をWinNT,2000,XPにインストールするとApacheモニターというプログラムもインストールされるからそこから再起動とかできる
0204nobodyさん
2005/05/28(土) 13:10:06ID:RUnx6ukkスレタイ嫁。
0205194
2005/05/28(土) 14:07:45ID:vndaXCbxありがとう!!
>>203
アパッチのバージョン1を入れました。
2を入れたほうがよかったのかな・・・。
0206nobodyさん
2005/05/28(土) 14:51:19ID:???できますか?
0207nobodyさん
2005/05/28(土) 14:53:10ID:???0208nobodyさん
2005/05/28(土) 14:54:39ID:???こういう結果を期待して、こういうコードを書いたら、こういう結果になって絶望した。
というのを書いてもらえませんか?
0210206
2005/05/28(土) 14:59:35ID:???foreach ($rss as $item){
print ($item->title);
}
?>
↑こう書きました。
print ($item->title);
の結果を変数に入れたいのですが、
0211nobodyさん
2005/05/28(土) 15:01:51ID:???print ($item->title);
$hoge[] = $item->title;
}
0213nobodyさん
2005/05/28(土) 15:37:51ID:???foreachを使っておきながら何をいまさらって気もするが。。
0214nobodyさん
2005/05/28(土) 18:09:58ID:???print ($objXml->channel->title);
print ($objXml->channel->dc:date);
[title]の部分は表示されるのですが[dc:date]は表示されません。
たぶん:(コロン)が原因だと思うのですが、
解決方法ありませんでしょうか?
0215nobodyさん
2005/05/28(土) 20:17:48ID:sWsyG2zN$value = "あああ";
}
ができるのはPHP4.3系からですか?
4.2.3だとエラーになるのですが。
0216nobodyさん
2005/05/28(土) 20:56:41ID:???preg_replaceで文字列の一部分だけ
置き換えしたくない場合はどうすれば一番良いねーーーん!
0217nobodyさん
2005/05/28(土) 21:13:09ID:???例えばどんな場合?
聞くなら、取りあえずどうしたいのか、例題と解答を出してみないか?
でもって、今はこうやってみたけど結果がこうなってダメだったと書くと
的確に答えやすい。
0218nobodyさん
2005/05/28(土) 22:12:48ID:???$s=preg_replace("/\n/","<br>",$s);
こうなってしまうが
abc<br>def[ghi<br>jkl]mno<br>pqr[stu<br>vwx]yz
こうしたい・・・
abc<br>def[ghi\njkl]mno<br>pqr[stu\nvwx]yz
↓こんな感じもやってみたんだが・・・
$s=preg_replace("/([^\[].*?)\n(.*?[^\]])/","$1<br>$2",$s);
0220nobodyさん
2005/05/28(土) 23:32:51ID:???0221nobodyさん
2005/05/28(土) 23:37:48ID:???これいかに。
0222192
2005/05/29(日) 02:09:10ID:???学校で作ったPHPの課題を家で動かすのにMysqlのデータベースが必要で
自宅のパソコンにMysqlを入れて、パスワードをつけたデータベース作ろうとしてつまずいたもので。
データベース板でも聞いたのですがrootにパスをかけてしまい学校でやったように
作成したデータベースのみにパスをかけて動かせず途方にくれています
0223nobodyさん
2005/05/29(日) 02:47:23ID:???示したリンクからドキュメントを辿ってれば判るかと思うが、
MySQLのユーザに対してパスワードは設定できるが、
データベースに対して各々にパスワードを設定することはないよ。
あるのはMySQLのユーザに対して、各データベースの各種利用権限を設定することだけ。
取りあえず、DB板でやってるみたいだから後はそっちで。
0224nobodyさん
2005/05/29(日) 07:49:32ID:???0225nobodyさん
2005/05/29(日) 09:19:52ID:lGP1siTxとりたいんだけど、いいソフト無い?
出来ればコマンドラインベースで。
0226nobodyさん
2005/05/29(日) 09:53:34ID:???0227nobodyさん
2005/05/29(日) 15:16:25ID:???parse_ini_file()
の逆の動きをしてくれる関数ってありますか?
連想配列をiniファイルフォーマットで書き出してくれるようなやつです。
0229nobodyさん
2005/05/29(日) 17:49:04ID:???お勧めかどうか分からないけど、PHP4徹底攻略改訂版のPDF版が無料でDLできる。
まぁ、PDFファイル自体はセキュリティ掛かってて印刷とか出来ないけど、
PDFでPCでみる分には無料。
ttp://www.php.gr.jp/php/php4tettei/
0230nobodyさん
2005/05/29(日) 18:18:38ID:???<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY><a href="http://location.request/dummy.cgi?my=http://***/index.php&pos=$location">GET</a>
<?php
$_GET['$pos']
print "座標 = $pos";
?>
</BODY>
</HTML>
URLは〜index.php?pos=N11.22.33.44E11.22.33.44
となるのに表示されません。
なぜでしょうか?
0232nobodyさん
2005/05/29(日) 18:54:18ID:???printf("座標 = %s",$_GET['pos']);
とか。文字結合しながら出力でも勿論よいが。
0233nobodyさん
2005/05/29(日) 20:18:44ID:???$aaa $bbb $ccc $ddd ...
を
strlen()で処理する場合
どうすればいいのでしょうか?
0234233
2005/05/29(日) 20:37:29ID:???0235218
2005/05/29(日) 23:10:27ID:???半画面の関数一つつくるのに丸一日かかったTT
0236nobodyさん
2005/05/30(月) 10:03:00ID:Zho+fj0BJPEG の画像(主に写真)を任意の角度で回転させたいのですが、imageRotate 関数ではかなり質が落ちてしまいます。(はしっこがギザギザになるわ、中身がモゴモゴになるわ)
そこで自作で関数書くことにしてみました。使った補完アルゴリズムは面積平均法です。
できあがった画像は極めて高品質で感動したのですが、肝心の実行速度がめちゃくちゃ遅いのです。100x75の画像の処理に約7秒かかります(既存のimageRotate関数は0.005秒・・・)。
どうやら回転によって傾いた画素と、出力用のまっすぐな画素との重なった部分の面積を求めるのに、交点をひたすら出して多角形の面積を求めているためかと思います。
希望する結果としては、品質的には少しくらい劣っても斜めになった縁の部分のギザギザがあまり目立たなければオッケーで、実行速度は今の状態の数倍はほしいです。なにか良い知恵がありましたら、ご教授願います。
環境はレンタル鯖で、Apache/1.3.33 で PHP/4.3.11 です。
0237nobodyさん
2005/05/30(月) 10:11:41ID:g9V9N+zSeaccelerator.keys
eaccelerator.content
は、何のことを指しているのでしょうか?
0239nobodyさん
2005/05/30(月) 13:51:32ID:???レンタルサーバでも、ImageMagick(Cで書かれた画像ライブラリ)は
使えるところが多いと思うけどな。未インストールなら相談すれば
入れてもらえる可能性も。勿論画像の回転機能がある。
その手の実装をPHPでやろうとすると、スピード面ではやっぱりつらいやね。
書きやすいから試作ではやることもあるけど。
0240236
2005/05/31(火) 00:30:14ID:???サーバ側でコンパイルする方法がない(もしくは知らないだけ?)のです。
Cで書けたら断然スピードアップしそうですよね^^;
>>239
ImageMagickは初めて知りました。
うちのサーバではインストールされてなかったのですが、オープンソースのようなので、ソースの関連部分を読んでみると、とても参考になるアルゴリズムで書かれていました。
PHPで書くと限界があるかもしれないので、相談してImageMagickを入れてもらうことも検討してみます。
お二方ともどうもです。
0241nobodyさん
2005/05/31(火) 01:43:20ID:???えなりかずきが「簡単じゃないか」って言ってるように聞える
0242nobodyさん
2005/05/31(火) 02:16:33ID:???巷のレンタルサーバはそんなに特殊なハードやOSで動いてる訳でもないので、
ローカルでターゲット(レンタルサーバ)に合わせて、リンクも静的にしといて
コンパイルして、バイナリーで持ち込むようにすると、
ちょっと変わったことをやろうとする場合には良い。
まあ、自作のバイナリーの持込に制約のある鯖屋も多いけどね。
0243236
2005/05/31(火) 03:07:08ID:???そんなこと実際にできてしまうんですね。
そういう場合ってハード面はどこまで合わせる必要があるんですか?
それともOSだけ合わせればオッケーなんでしょうか?
0245nobodyさん
2005/05/31(火) 07:21:05ID:???0246nobodyさん
2005/05/31(火) 09:17:49ID:???ターゲットの動画のファイルフォーマットを調べて、それに適合するようにファイルを作成する。
文字では一行で書けるけど、かなりめんどくさいよ。
0247nobodyさん
2005/05/31(火) 09:29:16ID:???GDもImageMagickもサポートしてるけどな。
他の動画フォーマットは製品では見かけるけど、
安く簡単に使えそうなのは知らない。
0249nobodyさん
2005/06/02(木) 15:52:47ID:???普通、ブラウザでアドレス欄に「http://aaa.com/bbb」と入力すると、
実際には「http://aaa.com/bbb/index.htm(または.php)」だと解釈されて、
ブラウザはそのファイルを探しに行ってしまいます。
これを、「http://aaa.com/index.php」の「引数bbb」だと解釈させるには
どうしたらいいのでしょうか。アパッチの設定変更が必要ですか?
0251初期不良
2005/06/02(木) 17:04:29ID:???http://aaa.com/?bbb
でいいとか
0252nobodyさん
2005/06/02(木) 19:43:56ID:???mod_rewriteってレン鯖でもいじくれましたっけ?
いじくれたとしても、なんか設定とか相当に難しいらしいけど・・・。
>>251
それなら引数として認識させるのはわりと簡単なんだけど、
http://aaa.com/?bbb じゃなくて
http://aaa.com/bbb で認識させたいのです。
■ このスレッドは過去ログ倉庫に格納されています