【PHP】質問スレッドpart18【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/06/14 14:36ID:???・新規質問の方は上げてください。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
抜けているものがあったら補足願います
0269nobodyさん
04/06/21 16:30ID:???libmysqlclient.so.12 をPHPがロードしようとして、
見付からなくて止まってるんだな。
find /usr -name libmysqlclient.so.12 で探して、
見つけたディレクトリを /etc/ld.so.conf に書き加えて、
ldconfig しとけ。
0270sage
04/06/21 17:23ID:???umask(0);
if(mkdir("/hoge/hoge", 0707)) {
...
} else {
...
}
これで同名のディレクトリが存在した場合に
Warning: mkdir(/hoge/hoge): File exists in /***/result.php on line --
と、警告がでてしまいます(処理は流れきっているぽい)
できればこの警告を表示させたくないのですが
なにか対処方法はありますでしょうか
0271sage
04/06/21 17:24ID:???umask(0);
if(mkdir("/hoge/hoge", 0707)) {
...
} else {
...
}
これで同名のディレクトリが存在した場合に
Warning: mkdir(/hoge/hoge): File exists in /***/result.php on line --
と、警告がでてしまいます(処理は流れきっているぽい)
できればこの警告を表示させたくないのですが
なにか対処方法はありますでしょうか
0272nobodyさん
04/06/21 17:52ID:???umask(0);
if(!file_exists("/hoge/hoge") && mkdir("/hoge/hoge", 0707)) {
...
} else {
...
}
でどぅ?
単にエラー表示したくないのなら
error_reporting(0);
0273nobodyさん
04/06/21 18:43ID:???0274nobodyさん
04/06/21 18:46ID:???そのエラーの発生要因が判っていて、かつ、
そのエラー発生を防ぐ為だけにとまどろっこしくなる(複雑になる)
のなら、エラー制御演算子
ttp://jp.php.net/manual/ja/language.operators.errorcontrol.php
を使うといいかも。
臭いものには蓋的な解決法なんで、>>272の方がいいけど
0275nobodyさん
04/06/22 10:25ID:???PHPからmysql_queryするとエラーが出る場合、SETする文字に問題があるとは
想うのですが、どんな文字が原因となっていると考えられるしょうか?
mysql_query($query)の部分をecho $queryで出力してC&PでphpMyAdmin
のSQLで実行すると成功します。文字コードも関係しているのでしょうか?。
0277275
04/06/22 10:53ID:???と書いていたせいでした。お騒がせしましたm(_)m。
>>276
アドバイスありがとう^^
0278nobodyさん
04/06/22 16:04ID:5HQSlaavセッション以外に格納できる良い場所はないでしょうか?(毎回ページアクセスするたびにDBにアクセスされたくないため)
0279nobodyさん
04/06/22 16:07ID:???0280nobodyさん
04/06/22 16:47ID:uF7//6+H0282nobodyさん
04/06/22 16:56ID:???0284nobodyさん
04/06/22 18:39ID:???0285nobodyさん
04/06/22 19:41ID:???0287nobodyさん
04/06/23 08:56ID:???診断君へ逝く
もしくはLAN外で、<?=$_SERVER['REMOTE_ADDR']?>
または、>>281
2.プライベートIPが知りたいなら
LAN内で<?=$_SERVER['REMOTE_ADDR']?>
もしくは、Windowsだったら、ipconfig
Linuxだったら、>>285
3.メアドが知りたいなら
ISPに聞く。
4.住所が知りたいなら
>>283
たぶん…3かな。
0288nobodyさん
04/06/23 09:04ID:???出力バッファに貯めておいて横取りしてファイルに出力する。
<?php
ob_start();
?>
(ここでいろんな出力)
<?php
$file = fopen('ファイル名','w');
fputs($file, ob_get_clean());
fclose($file);
?>
0289nobodyさん
04/06/23 12:22ID:gFRZUYHbは、PHPではどうやるのでしょうか?教えてください、お願いします
0290nobodyさん
04/06/23 12:23ID:gFRZUYHbPHP5.0β4
Apache2.0.48
です。
0291nobodyさん
04/06/23 12:30ID:???csvファイルのアップロードをするのに、fgetcsv関数をつかってるんですが
excel2000で"," をという値で保存したcsvファイルをアップロードすると,"と読み込まれます。
これは仕様でしょうか?
PHP Version 4.3.6を使っています。
よろしくお願いします。
0292うんこ
04/06/23 12:40ID:???http://jp.php.net/reserved.variables
0295nobodyさん
04/06/23 12:53ID:???すいません。
エディタで見たのですが、わかりませんでした。
こちらのほうで正常に読み込まれたのでこちらをつかう事にします。
http://pukiwiki.org/index.php?%E8%87%AA%E4%BD%9C%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%2Fcsv2newpage.inc.php
0296nobodyさん
04/06/23 14:01ID:???0297nobodyさん
04/06/23 14:20ID:qX+B9Isgis_numeric($str)
0301nobodyさん
04/06/23 15:06ID:???これで文字列に \ を入力すると どんどん増えていきます (バイバイン級)
どうしたらいいでしょうか
送信前にJavaScriptでurlencodeしなきゃだめ?
0302nobodyさん
04/06/23 15:17ID:???<INPUT NAME="unko" VALUE="<?= stripslashes($_GET['unko']) ?>">
0305nobodyさん
04/06/23 15:39ID:???0306nobodyさん
04/06/23 15:44ID:???$kurimanju = $kurimanju * 2;
return $kurimanju;
}
0309301
04/06/23 16:11ID:???まあそうなんだけどさ
VALUE="<?= urlencode(stripslashes($_GET['unko'])) ?>"
ってやってもだめだったし
preg_replace("/\"/","\\\"",$dpreg) でもだめだった
そもそも"\""という表記がだめっぽだし
シングルクオーテーションで囲えばいいんだけど
今度はそのシングルクオーテーションが入力できなくなるし
もうおっぱいおっぱいなんですよ
0311nobodyさん
04/06/23 16:15ID:jqDhu+uCVALUE="<?= urlencode(htmlspecialchars(stripslashes($_GET['unko']))) ?>"
0313nobodyさん
04/06/23 20:26ID:15bnd+/J$key=mb_convert_encoding($_POST["keyword"], "EUC-JP","auto");
で文字コードを変換すると、変換したくない他の検索エンジンもEUCに変換されてしまうのですが、
変換されないようにするにはどうすればよろしいのでしょうか。
<?php
$Key=urlencode($_POST['keyword']);
$key=mb_convert_encoding($_POST["keyword"], "EUC-JP","auto");
switch($_POST['engine']) {
case "kakaku": $url="http://www.kakaku.com/txtsearch/txtsearch.asp?SearchWord=";
break;
case "yahooauction": $url="http://search.auctions.yahoo.co.jp/jp/search/auc?auccat=0&alocale=0jp&acc=jp&p=";
break;
}
header("Location: ".$url.$Key);
?>
0315nobodyさん
04/06/23 20:38ID:???方法は色々あるけど、件のソースのようにswitchで
切り替えてるなら、caseの中でそれぞれのサイトに合わせて
$key←$_POST["keyword"]の処理をしたらいいでそ。
最も、各サイトのurlとか変換処理の有無なんかは
配列かなんかで前の方で設定を集約するのがスマートやね。
0317nobodyさん
04/06/24 11:14ID:Ig3nklaT昔のPHPはGETやPOSTなど区別する必要が無いと効いています。
例えば、
$_POST["giko"] : 10
$_GET["giko"] : 20
$_COOKIE["giko"] : 30
$_SESSION["giko"] : 40
のような場合のときに、
echo $giki
とすると何が表示されるのですか?
0318nobodyさん
04/06/24 11:40ID:???0322nobodyさん
04/06/24 12:36ID:???variables_orderで指定した優先度の高い(右側)ものが入る。
通常の$_SERVER[]と同じ。
ああ、PHPの設定で変わるもんだから、仮にPOSTが無かった
時にはGETでという処理を書くときも、システムの動作に
依存させないで、ちゃんとコーディング上で処理しないと駄目。
# register_globalsはコードの中でini_setできないし
0323nobodyさん
04/06/24 13:35ID:???register_globals = Offで使おうとしてこうやった事あるw
$key = array_keys($_REQUEST);
$i = 0;
while(isset($_REQUEST[$key[$i]])){
${$key[$i]} = $_REQUEST[$key[$i++]];
}
0324nobodyさん
04/06/24 13:46ID:???0325nobodyさん
04/06/24 13:49ID:???0326nobodyさん
04/06/24 16:35ID:???0327317
04/06/24 17:36ID:???自分ではそのようなかき方はしないのですが、
頂いたソースがそのように書いたものでしたので。
0328nobodyさん
04/06/24 20:43ID:???@function_name で呼出してる例があって
探したんだけど@についての説明を見つけることができませんでした
@つけるとどうなるんですか?
0329nobodyさん
04/06/24 21:54ID:???0330nobodyさん
04/06/24 22:26ID:WjPQG3mJphpのソースをプレーンテキストとして表示させるにはどうしたらよいでしょうか?
apacheの設定なのか拡張子をtxtに変えただけでは、プレーンテキストとして表示してくれません。
よろしくお願いします。
0333nobodyさん
04/06/24 23:03ID:???parse errorが出た時に重宝してる。
0334nobodyさん
04/06/24 23:05ID:WjPQG3mJほーほー
どうもありがとう。調べてみます。
0335nobodyさん
04/06/24 23:42ID:???http://www.php.net/manual/ja/language.operators.errorcontrol.php
これだ。
0336nobodyさん
04/06/25 00:13ID:QzuvB6xta.phpというスクリプトに
<?
readfile("http://hoge.com/hoge.php?a=1&b=2");
?>
と記述してスクリプトを動かすとError 0がでるのに
<?
header("Location: http://hoge.com/hoge.php?a=1&b=2");
?>
と書くとうまく動きます。どうしてでしょうか。
0338nobodyさん
04/06/25 11:22ID:ydrfhQOCファイルに書き込むときはfwriteとfputsのどちらがいいのでしょうか。
教えてください。よろしくお願いします
0339nobodyさん
04/06/25 11:28ID:???http://www.php.net/fputs
意味わかるか。
0341nobodyさん
04/06/25 13:58ID:???echoとprintの決定的な違いってなんでしょうか
マニュアル読んだけどわかりませんでした
0342nobodyさん
04/06/25 14:13ID:???print $a,$b (だめ)
0343nobodyさん
04/06/25 15:16ID:???print "$a$b"; はできるよ?
0344nobodyさん
04/06/25 15:29ID:???0346nobodyさん
04/06/25 17:39ID:???phpinfo() の出力結果を横取りしてファイルにでも落としたいんだけど
どうしたらいいかな
0347nobodyさん
04/06/25 17:47ID:???0349nobodyさん
04/06/25 18:02ID:???0350nobodyさん
04/06/25 18:10ID:???http://jp.php.net/phpinfo
マニュアルを隅々と嫁。特に下の方
0351346
04/06/25 18:24ID:???できた!
<? ob_start(); phpinfo(); fwrite( fopen("unko.html",'w'), ob_get_contents() ); ?>
0352nobodyさん
04/06/25 18:28ID:76ADPduI$sub =~ s/^Re://g;
$sub =~ s/\[\d+\]\s?//g;
$com =~ s/<br>/\r> /ig;
PHPで使えないんであればどう書き直せばいいのか教えてくださいm(_ _)m
0353nobodyさん
04/06/25 18:30ID:???$sub =~ s/\[\d+\]\s?//g;
$com =~ s/<br>/\r&gt; /ig;
こうでした……
0354nobodyさん
04/06/25 18:36ID:???gはallだなぁ
0355nobodyさん
04/06/25 18:48ID:???こんなかんじでね?
gはデフォで、マッチさせる数を制限したいときだけpreg_replaceの第四引数で指定する。
$sub =preg_replace( '/^Re:/', '', $sub);
$sub = preg_replace('/\[\d+\]\s?/', '', $sub);
$com = preg_replace('/<br>/i', '\r> ', $com);
つーかマニュアル嫁。
ttp://jp.php.net/manual/ja/ref.pcre.php
ttp://jp.php.net/manual/ja/function.preg-replace.php
0356352
04/06/25 19:08ID:???マニュアル調べたりしたんですけど、Perlがよくわからなくてできませんでした_| ̄|○
0357nobodyさん
04/06/25 19:18ID:???phpでhead.txtを取得してスレッド一覧を表示するプログラムを作っています。
head.txtの内容はご存知かと思いますが、「9999999999.dat<>スレタイ(数)」という感じになっています。
「9999999999.dat」と「スレタイ(数)」はsplitで分割できたのですが、そこから「スレタイ」と「数」を取得するにはどうすればいいのでしょうか?
今は、
「(」で分解して、配列の最後を取得し、「)」より前を取得して・・・→数
「(」より前を最後を除いて連結・・・→スレタイ
とやっているのですが、これだと処理に時間がかかりそうな気がしてしまいます。
正規表現などで簡単にやる方法はないのでしょうか?
どなたか教えてくださいm(__)m
0358357
04/06/25 19:19ID:???preg_match('`^(\d+)\.dat<>(.*)\((\d+)\)$`', $line, $match);
こんな感じでは?
[1] スレッドID、[2] スレッドタイトル、[3] レス数
0360nobodyさん
04/06/25 19:46ID:???俺もそういうの作ったが、なぜsubject.txtを読みに行かない?
それで1行毎に<>でsplitして表示すればいいじゃん
0361nobodyさん
04/06/25 19:46ID:???ケツから最初の"("をサーチ。そこから")"まで、もしくはケツの1つ前の範囲がスレ数。
スレ名称は頭から、ケツから最初の"("の手前の範囲。そのままだと多分
スレ名称とスレ数の間にセパレータのスペースが入ってると思うけど。
しかし、subject.txtは鯖ごとに微妙に作りが違うというというワナ。
0363nobodyさん
04/06/25 19:53ID:???http://pc5.2ch.net/php/head.txt
http://pc5.2ch.net/php/subject.txt
0364nobodyさん
04/06/25 20:14ID:???できました。
ありがとうございます!
>360、>362
subject.txtの間違いでした。
すいませんm(__)m
0365nobodyさん
04/06/25 22:40ID:???具体的にはjavascriptにて取得した画像サイズなどの情報をphpへ
渡したいのです。
<img>タグを使う方法以外で何かありますか?
0366nobodyさん
04/06/25 22:49ID:???可能。javascriptでPOSTするデータを
作ってformで送ってやればよい。
><img>タグを使う方法以外で何かありますか?
?
0367nobodyさん
04/06/25 22:57ID:???POSTするってことは、
ページの遷移があるってことですか?
■ このスレッドは過去ログ倉庫に格納されています