トップページ⇒php
1001コメント296KB

【PHP】下らねぇ質問はID出して書き込みやがれ 92

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/01/09(土) 20:11:42ID:lsb/cZ9k
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 91
http://pc11.2ch.net/test/read.cgi/php/1260247989/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0276nobodyさん2010/01/21(木) 14:15:50ID:IMaJrSoT
>色々と試したらうまくいきました。回答していただいた方有り難うございました。
逃げたな。


マルチポストまともに反論できないなら最初からやらなければいいのにどうしてこういうバカは
それでもマルチポストをするのだろうか?
バカの考えは凡人にはわからないね。
0277nobodyさん2010/01/21(木) 14:19:39ID:???
都合の良いサポート感覚だな。

どういう問題があって、どのように修正したらうまくいったのかを書いとけば
今後、同じような問題で困った人の助けになるのにな。
0278nobodyさん2010/01/21(木) 14:22:13ID:???
>>277
教えて君ってそういう物だよ。
・ネットマナーなにそれ?それっておいしいの?
・情報共有って必要?俺が満足すればそれでいい。
0279nobodyさん2010/01/21(木) 14:22:49ID:???
未コンパイルのテキストの拡張子を変えただけのもの
が設置してある神展開希望w。
0280nobodyさん2010/01/21(木) 14:24:54ID:???
>>279
それよりサーバにアップしたらサーバ側で動かないと言う定番を希望。
0281nobodyさん2010/01/21(木) 14:32:23ID:???
ID付くようにならんかなぁ。
0282nobodyさん2010/01/21(木) 14:48:42ID:???
IDってなんで非表示なんや
0283nobodyさん2010/01/21(木) 14:56:53ID:???
非表示がいやならID出せやハゲ
0284nobodyさん2010/01/21(木) 14:58:48ID:???
ID:PEXDjvL/逃げてないではやく謝罪しろよ。
0285nobodyさん2010/01/21(木) 15:02:58ID:???
>>283
ばーか^^
いやだよ^^
お前がだせよ^^
0286nobodyさん2010/01/21(木) 15:03:43ID:???
ワロス
0287age2010/01/21(木) 15:47:35ID:rC/oBUeG
<?
echo 'Hello World!';
?>
実行できない。ちなみに
<?php
echo 'Hello World!';
?>
は実行できる。なんで?
0288nobodyさん2010/01/21(木) 15:48:03ID:???
つマニュアル
0289nobodyさん2010/01/21(木) 15:57:06ID:???
>>287
short_open_tag
0290age2010/01/21(木) 16:16:58ID:rC/oBUeG
かいけつしました
0291age2010/01/21(木) 16:18:50ID:rC/oBUeG
289 ありがとうです
0292nobodyさん2010/01/21(木) 22:18:45ID:???
ttp://www.xrex.net/~webs/k-shop/script/heredoc_php.php

echo<<<_HTML_
_HTML_;
の存在を今初めて知った。
0293nobodyさん2010/01/21(木) 22:32:44ID:???
スクリプト言語にはほとんどあるが・・
0294nobodyさん2010/01/21(木) 22:36:58ID:???
マニュアルに思いっきり載ってるのに・・・
0295nobodyさん2010/01/21(木) 22:37:03ID:???
>>292
おまえ普通にバカだろう。
「_HTML_ 」の部分は特別な意味はない。自由に決めることができる。意味があるのは「<<<」の部分。
http://jp.php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc
ヒアドキュメントの事くらい知っておけよ。
でヒアドキュメントってPHPに限った機能ではない。Perlなどの言語にもある機能。
常識中の常識的な機能。
0296nobodyさん2010/01/21(木) 22:38:00ID:???
http://oshiete1.goo.ne.jp/qa5611599.html
昼間のキチガイマルチがまた質問しているよ。
0297nobodyさん2010/01/21(木) 22:42:51ID:???
>>292-296
メモ用紙にでも書いとけ、な?
0298nobodyさん2010/01/21(木) 22:45:36ID:???
>>296
誰か知らんがどうでもいいよ
消えろ
0299nobodyさん2010/01/21(木) 22:46:54ID:???
>>298=ID:PEXDjvL/
必死だな。
0300nobodyさん2010/01/21(木) 22:48:26ID:???
もうそういうのやめてスルーしようぜ
マルチもスルーな。
0301nobodyさん2010/01/21(木) 22:49:38ID:???
とマルチをしたID:PEXDjvL/が事態の沈静化に躍起です。
0302nobodyさん2010/01/21(木) 22:51:54ID:???
え?PEXDjvL/じゃねえよあほ
0303nobodyさん2010/01/21(木) 22:53:03ID:???
え?PEXDjvL/だよよあほ
0304nobodyさん2010/01/21(木) 22:55:33ID:???
ID:PEXDjvL/あっちの方退会しているな。
時間的にここ見て退会したようだね。
タイミング的にもこの中の誰かがID:PEXDjvL/だった可能性はあるね。
0305nobodyさん2010/01/21(木) 22:56:32ID:???
だよよってなんだよ
脳外科行ってこい
0306nobodyさん2010/01/21(木) 22:59:20ID:???
>>305
この必死さ、おまえID:PEXDjvL/だろ。
0307nobodyさん2010/01/21(木) 23:00:24ID:???
私のために喧嘩しないで><
0308nobodyさん2010/01/21(木) 23:03:31ID:???
けんかをやめて二人を止めて
私のために争わないで
もうこれ以上
0309nobodyさん2010/01/21(木) 23:35:03ID:???
ワロス
0310アルト2010/01/22(金) 10:45:46ID:lVM55VZv
質問お願いします。
掲示板作成してます。PHPで掲示板を作成しているのですが、どうしてもわからないところがあるので教えてください。
投稿コメントに
---------------------------
[例1]
>a
>>a
>>>a
>>>>a
#a
[例2]
aaa>a
aaa>>a>a
---------------------------
とあったとします。これを掲示板の機能でよくある、色を変える処理をしたいです。
【条件】
�@、行の初めに記号(例1)があるとき色を変える。
�A、行の途中に記号(例2)があるときは色を変えない。
�B、�@の条件から改行まで色を変える。
私が考えた正規表現だとバグがありました・・・
$res_comment = preg_replace('/^>(.+)/','<font color="#">\0</font>',$res_comment);
$res_comment = preg_replace('/^>>(.+)/','<font color="#">\0</font>',$res_comment);
$res_comment = preg_replace('/^>>>(.+)/','<font color="#">\0</font>',$res_comment);
$res_comment = preg_replace('/^>>>>(.+)/','<font color="#">\0</font>',$res_comment);
$res_comment = preg_replace('/^#(.+)/','<font color="'.$sharp.'">\0</font>',$res_comment);
※色コードは今だけ#にしてます。
$res_commentには上記の例だと
$res_comment = "[例1]<br>>a<br>>>a<br>>>>a<br>>>>>a<br>#a<br>[例2]<br>aaa>a<br>aaa>>a>a";
こんな感じの変数になってます。どなたか宜しくお願いします。
0311nobodyさん2010/01/22(金) 10:58:24ID:???
行の始めと行の途中に記号があるときははてどうしたものか・・
0312nobodyさん2010/01/22(金) 11:10:30ID:???
>の連続は正規表現にしないんだw
0313nobodyさん2010/01/22(金) 11:11:32ID:???
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1235641002
はいはいマルチ乙
0314nobodyさん2010/01/22(金) 12:56:41ID:???
誰かがYahooにあったのを貼り付けに来たんだろ

0315nobodyさん2010/01/22(金) 13:02:59ID:???
じゃあスルーだな
0316nobodyさん2010/01/22(金) 13:25:57ID:???
$a = "test1\ntest2";
$b = 'test1\ntest2';

/*ここに文字列化した$bのエスケープシーケンスを解釈する処理*/

($a === $b) ? echo good : echo bad;

一度変数に改行コードではなく純粋に文字列として入ってしまった'\n'などを
解釈させるにはどうしたらいいですか?
0317nobodyさん2010/01/22(金) 13:29:44ID:???
>>316
>>1
03183162010/01/22(金) 13:37:50ID:???
preg_replaceで改行コードに変換することにしました。失礼しました
0319nobodyさん2010/01/22(金) 14:02:09ID:???
まじでか
0320nobodyさん2010/01/22(金) 14:05:40ID:???
ワロタ
0321PEX2010/01/22(金) 14:28:10ID:???
おもろいスレだな
0322サブマリンPHP2010/01/22(金) 14:49:49ID:lrtepsPM
【OS名】レンタルサーバ
【PHPのバージョン】php5
【連携ソフトウェア】特になし
【質問内容】
requireのファイルを読み込んだ場所がカレントディレクトリーになってしまうために
おこる問題についてです。

同じ階層にあるhoge.phpを読み込む。
OK <?php require('hoge.php'); ?>
OK <?php require('/hoge.php'); ?>

他の階層にある(/hoge.phpを /hoge/hogeRead.phpから読み込む)hoge.phpを読み込む。

NG <?php require('/hoge.php'); ?>

相対パスでやればいいことは分かってるのですが、
hoge.phpは変更しない
hogeRead.phpをいろんな階層に配置する
場合、階層ごとにrequireを修正していたのでは大変です。

どの階層からでも同じ構文で読み込ませる方法はないでしょうか?

0323nobodyさん2010/01/22(金) 14:54:23ID:???
define('LIBS', '/path/to/libs/');

しといて

require(LIBS.'hoge.php');

とか?
0324サブマリンPHP2010/01/22(金) 14:58:28ID:lrtepsPM
>>323
それだとdefineを設置するファイルの場所によってパスの内容が変化してしまうんです。
言い方間違えてました。
requireのファイルを読み込んだ場所がカレントディレクトリー
ではなくてphpの場合ファイルを読み込んだ場所がカレントディレクトリーになってしまうです
0325nobodyさん2010/01/22(金) 15:04:34ID:???
>>324
323は絶対パス
0326nobodyさん2010/01/22(金) 15:04:37ID:???
たぶん常套手段と思える手の一つは、

require realpath(dirname(__FILE__)).'/../includeFile.php';
0327nobodyさん2010/01/22(金) 15:09:47ID:???
>>316
function expand_escape($string) {
return preg_replace_callback(
'/\\\([nrtvf]|[0-7]{1,3}|[0-9A-Fa-f]{1,2})?/',
create_function(
'$matches',
'return ($matches[0] == "\\\\") ? "" : eval( sprintf(\'return "%s";\', $matches[0]) );'
),
$string
);
}
0328サブマリンPHP2010/01/22(金) 15:27:13ID:lrtepsPM
>>326
すみません、それでもうまくいかないです・・・・
0329サブマリンPHP2010/01/22(金) 15:32:27ID:lrtepsPM
>>326
realpathやdirnameで取得したファイル自体の位置が変わるためにそれでは
意味がないです。
0330nobodyさん2010/01/22(金) 15:34:03ID:???
絶対パスを自分のところ基準の相対パスに変えればいいんだな。
この板で前にそんな質問があって回答した気がする。
0331nobodyさん2010/01/22(金) 15:37:29ID:???
>>323か>>326でできないならできるように仕様を変更するか相対バスで指定するかしかなくね?
0332nobodyさん2010/01/22(金) 15:43:52ID:???
require $_SERVER['DOCUMENT_ROOT'] . '/../libs/hoge.php';
0333サブマリンPHP2010/01/22(金) 15:56:06ID:lrtepsPM
>>332
あ〜びっくり、ちょっと変えるとそれでうまくいきます!

require $_SERVER['DOCUMENT_ROOT'] . '../hoge.php';

として読み込むファイルはドキュメントルートに配置しました。
これだとOKなんですが
../ が必要な理由が分からない・・・・
0334サブマリンPHP2010/01/22(金) 16:03:22ID:lrtepsPM
>>332
でもとりあえず上手くいきました。有難うございました。
また、ほかの皆様にもたくさんご意見いただきまして有難うございました。
0335サブマリンPHP2010/01/22(金) 16:11:01ID:lrtepsPM
っとローカルで上手くいってたんですがサーバにうぷするとだめでした;;
もうこの迷宮いや;;
0336nobodyさん2010/01/22(金) 16:44:58ID:???
変更が許可されない環境もあったりするかもだけど、
includeパスを設定するとか。

set_include_path(get_include_path().PATH_SEPARATOR.'.'.PATH_SEPARATOR.'..'.PATH_SEPARATOR.'../..');
require('hoge.php');

file_existsとかしながら順に上の階層をみてまわるとか。
0337nobodyさん2010/01/22(金) 16:48:42ID:???
>>335
echo $_SERVER['DOCUMENT_ROOT']して
最後にスラッシュが入ってるか入ってないかとか
0338サブマリンPHP2010/01/22(金) 16:50:06ID:lrtepsPM
>>337
ちなみにスラッシュは入ってませんでした・・
0339nobodyさん2010/01/22(金) 16:56:31ID:???
ところで、絶対パスの指定じゃ駄目なの?
読み込むヤツはあちこちだけど、読み込まれるヤツは固定なんでしょ?
0340サブマリンPHP2010/01/22(金) 17:37:03ID:lrtepsPM
>>339
そこなんですよ!!なんで
/hogehoge/hogehoge.php
みたいな絶対パスが使えないんですかね?
0341nobodyさん2010/01/22(金) 17:41:28ID:???
サブマリン的には絶対パスが使えないって見解なの?
0342nobodyさん2010/01/22(金) 17:49:49ID:???
>>340
絶対パスって、 /var/www/public_html/xxxx/yyyy.php とか  c:\apach\www\html\xxx とかの方。
0343サブマリンPHP2010/01/22(金) 17:51:59ID:lrtepsPM
え〜と私なんか根本的に間違ってるのかもしれないですね・・・
/hogehoge/hogehoge.php
じゃあだめなんですかね?
0344サブマリンPHP2010/01/22(金) 17:53:04ID:lrtepsPM
あ〜やっぱり;;
サーバールートですよね;;;;;;;;;;;;;
0345サブマリンPHP2010/01/22(金) 18:01:53ID:lrtepsPM
お恥ずかしい限りです・・・
ほんとにくだらねえ質問になってしまいました・・・

ここまでお付き合いくださいまして有難うございました。
無事解決いたしました。
0346nobodyさん2010/01/22(金) 18:04:58ID:???
そう言い残してサブマリンは二度と来ることはなかった。。
0347nobodyさん2010/01/23(土) 09:30:58ID:XRhFBb8M
サムネイルを実装したいときって、サムネイル用の画像を保存するのと、毎回縮小するのと、どっちが一般的なんでしょうか?
0348nobodyさん2010/01/23(土) 12:05:43ID:???
保存
0349nobodyさん2010/01/23(土) 14:17:45ID:xU/0Wtfa
HTMLフォームから入力された結果をphpの部分で使おうとしているのですが、特定の文字を使うとうまくいきません

HTML "ソニー"
php "ソ\ニー"

のようになってしまいます
これはどうすれば回避できるのでしょうか?
使っている文字コードはShift_JISです
str_replaceで\を取り除こうと試してみましたが、文字化けするだけでした・・・
0350nobodyさん2010/01/23(土) 14:20:46ID:???
【OS名】CentOS 5
【PHPのバージョン】php5
【連携ソフトウェア】ImageMagick
【質問内容】
PHPにてEPS、AI、PSDやらをWeb表示用にJPEGに変換したいと考えています。
一応、ImageMagickを介してEPSからJPEGが書き出せたのですが色がおかしくなりました。
元画像は不特定多数からの物なので、CMYKとRGBの統一などはできません。
色がおかしくならないようにする方法とか、
他に有用な道具は無いでしょうか。
0351nobodyさん2010/01/23(土) 14:22:18ID:cU7c3b42
>>350
ごめんなさい、sageてしまいました。
0352nobodyさん2010/01/23(土) 14:34:07ID:???
>>349
stripslashes
0353nobodyさん2010/01/23(土) 14:38:02ID:BWTPXOpQ
php.iniの設定変更
0354nobodyさん2010/01/23(土) 14:39:51ID:BWTPXOpQ
http://www.s-memo.net/blog/2005/11/phpshift_jis_1.php
03553492010/01/23(土) 16:37:16ID:xU/0Wtfa
>352-354
無事解決できました。
ありがとうございます。
0356nobodyさん2010/01/23(土) 16:59:17ID:LeVWmeZT
PHPのDOMで一部分のhtmlを読み込むと勝手に日本語が数値参照(しかも間違っている)になってしまいます。
そこで、あらかじめ適切な数値参照に変換した後にDOMに読み込ませ、
出力した後に数値参照をデコードしようと思いました。

しかし、この方法では最初の段階から数値参照だったものまでデコードされてしまいます。
何かいい方法ありますか?
数値参照は、ascii文字以外を変換しようとmb_decode_numericentityでconvmapを指定しても
"が'になってしまっていました。
0357nobodyさん2010/01/23(土) 17:01:57ID:???
>>356
例えばどんなん?
0358nobodyさん2010/01/23(土) 17:09:10ID:???
.. PHP DOM 数値参照で検索したら、
そもそもの数値参照になっちゃうやつの対策が見つかると思うけど、そっちじゃ駄目なの?
0359nobodyさん2010/01/23(土) 17:13:40ID:???
>>358
libxmlを変えろってことですか?それともmetaタグを追加してからDOMに読み込めということですか?
0360nobodyさん2010/01/23(土) 17:15:24ID:???
http://ameblo.jp/utkworks/entry-10387824973.html
解決するかどうかは俺にはわからんけどさ。

libxmlのバージョンは?
0361nobodyさん2010/01/23(土) 17:25:42ID:???
libXML Compiled Version 2.7.6
libXML Loaded Version 20706
でした。

$value='<b>"あa</b>';
$dom = new DOMDocument();
$dom->loadHTML($value);
$dom->encoding = "UTF-8";
echo $dom->saveHTML();

結果:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><b>"ã??a</b></body></html>

やっぱり"あ"が数値参照(間違ってる)になってしまいました。
0362nobodyさん2010/01/23(土) 17:41:15ID:???
..あ (utf-8でE38182 ) が単純に Laten1の 3E 81 82 の文字に認識させられてるような気がするな。
81 81 は制御文字なので変換失敗してるけど。
0363nobodyさん2010/01/23(土) 17:44:06ID:???
$value='<meta http-equiv="content-type" content="text/html; charset=UTF-8" /><b>"あa</b>';
だとOKぽい
0364nobodyさん2010/01/23(土) 17:44:51ID:???
ID出せよ
0365nobodyさん2010/01/23(土) 18:10:59ID:???
やっぱり
metaタグ追加
dom化
出力
metaタグ削除しかないんですかね。
0366nobodyさん2010/01/23(土) 18:22:39ID:???
>>361
new DOMDocument();
↓
new DOMDocument('1.0', 'UTF-8');
0367nobodyさん2010/01/23(土) 19:14:17ID:LeVWmeZT
>>366
そこで設定しても後からencoding指定したら意味ない(まあencoding指定してもダメなんだけど)よ。
結果は同じ。
0368nobodyさん2010/01/23(土) 21:06:55ID:???
metaでしか文字コードを設定できないんだな。
0369nobodyさん2010/01/24(日) 11:41:41ID:DWdjG26G
staticな関数をまとめたクラスを作りインスタンス化せずに利用するか、
同じ機能を持ったクラスをインスタンス化して利用するか、
どちらのほうが高速(メモリ的・処理的)に動作するのでしょうか?
0370nobodyさん2010/01/24(日) 11:45:35ID:???
ヒント

両方を作成して計測する
0371nobodyさん2010/01/25(月) 12:28:48ID:gaHrYkXD
環境:Windows,PHP5.3.1($_ENVは利用できない設定にしてます。GPCSのみ)
コマンドラインからIPを取得する方法はございませんか?
以下の方法でブラウザから動かすとIPを取得できるのですが
MS-DOSでコマンドラインから動かすと取得できません

$_SERVER['REMOTE_ADDR'];
getenv['REMOTE_ADDR'];

無理矢理でもいいのでどなたかcliでも取得できる方法をご教示お願いいたします
0372nobodyさん2010/01/25(月) 12:51:10ID:???
環境変数REMOTE_ADDRにはアクセスしてきた機器のIPアドレスがセットされるけど

コマンドラインで実行してもなにもアクセスしてこないだろうし無理
0373nobodyさん2010/01/25(月) 12:55:07ID:???
.. まさか $_SERVER["SERVER_ADDR"]; じゃないよね? 意味違うけど。
0374nobodyさん2010/01/25(月) 13:33:24ID:???
サーバ立ってないじゃんw
0375nobodyさん2010/01/25(月) 13:54:05ID:???
その環境変数はhttpd(apacheとか)がセットするのだよ
■ このスレッドは過去ログ倉庫に格納されています