【PHP】下らねぇ質問はID出して書き込みやがれ 97
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/07/23(金) 06:24:51ID:3G71fl8i過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
前
【PHP】下らねぇ質問はID出して書き込みやがれ 96
http://pc11.2ch.net/test/read.cgi/php/1275032024/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0100nobodyさん
2010/08/04(水) 12:12:53ID:???0102nobodyさん
2010/08/04(水) 15:52:39ID:???0103nobodyさん
2010/08/04(水) 16:07:01ID:???あふれるようだといろいろ工夫が必要。
0104nobodyさん
2010/08/04(水) 17:47:01ID:ycHKzTuW$b =& $blog;
という記述の & の意味が分かりません。
どなたか教えて下さい。
よろしくお願いします。
0105nobodyさん
2010/08/04(水) 17:53:37ID:???PHP: リファレンスの説明 - Manual
http://www.php.net/manual/ja/language.references.php
0106nobodyさん
2010/08/04(水) 18:36:40ID:???その一行でテンプレート読込してるとか?
テンプレートの方でいちいち
<?php $blog->なんとか ;?>
って書くのめんどくさいからじゃなね?
<?php $b->なんとか ;?>
の方がすっきりするからじゃね?
0107nobodyさん
2010/08/04(水) 22:24:57ID:oL+38ijf節約になるって言うけどさ、そもそもPHPってリファレンスカウンティングなんで
データの参照用で値が変わらない配列なら一緒じゃないの?
0108nobodyさん
2010/08/05(木) 02:03:07ID:h++E+uZsここの一番下にあるサンプルのように
http://www.monazilla.org/index.php?e=107
http://jbbs.livedoor.jp/bbs/write.cgi?DIR=[板ジャンル]&BBS=[板番号]&TIME=[投稿時間]&NAME=hogehoge&MAIL=sage&MESSAGE=test&KEY=[スレッド番号]&submit=%8F%91%82%AB%8D%9E%82%D
とブラウザに打ち込んでも
ERROR
invalid method
が帰ってきます。
これは何かパラメーターが不足してると思うのですが、何でしょうか?
0109nobodyさん
2010/08/05(木) 02:09:27ID:???0110nobodyさん
2010/08/05(木) 02:12:08ID:GcQy5YqT【PHPのバージョン】5.3.1 (PEAR, Mail_Mime, MDB2, Zend)
【連携ソフトウェア】cURL 7.19.6 / Apache 2.2.14 (IPV6 enabled) / XAMPP for Windows 1.7.3
【質問内容】
$fp = fsockopen('216.218.211.37', 80);
fwrite($fp, 'GET / HTTP/1.1'."\r\n".'Host: example.com'."\r\n\r\n");
echo stream_get_contents($fp);
fclose($fp);
$ch = curl_init('http://example.com/');
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, true);
curl_setopt($ch, CURLOPT_PROXY, 'http://216.218.211.37:80');
curl_exec($ch);
echo curl_error($ch).' ('.curl_errno($ch).')';
curl_close($ch);
前者は上手くいきますが、後者では curl_exec() で false が返り、http://example.com/ のデータが取得出来ません
curl_error() のエラー文字列と curl_errno() のエラー番号は下記の通りです
cURLでプロキシ経由のアクセスをしたいのですが、どこが間違っているのでしょうか
>Proxy CONNECT aborted (56)
0111nobodyさん
2010/08/05(木) 08:25:56ID:???3個以上チェックしたらワーニング処理(アラートのことかな)を出したいだしいです。
上司が言うにはセッションを使うとかどーたら。。。。。
俺の解釈が間違っているかもしれませんが。。。。
とにかく納期ギリギリです。
だれか方法教えてください。本当にお願いします。
0112nobodyさん
2010/08/05(木) 09:58:25ID:???入力チェックをしたい事だと思うんだが書かれた事だけだと候補が多すぎる
form処理だと思うんだが入力段階ならjavascriptになるし送信後ならphpで入力チェックだし
単独ページなのか複数ページに跨る入力チェックなのか…
焦る気持ちもわかるがルールを守ることも大事だし
聞きたい事が相手に正しく伝わらないと無駄に時間を使うだけ
0113nobodyさん
2010/08/05(木) 11:48:11ID:???0114EM114-48-62-141.pool.e-mobile.ne.jp
2010/08/05(木) 14:19:36ID:VviQKwo30115nobodyさん
2010/08/05(木) 14:20:19ID:???複数許可するブラウザ(フォームの実行系)があるのかな。
0116nobodyさん
2010/08/05(木) 15:21:22ID:???例:Aから1個Cから1個
Bから1個Cから1個
こんな感じだろたぶんw
0117nobodyさん
2010/08/05(木) 15:39:48ID:???3つ選んでたら駄目って表示すればいいだけなのでセッションとかなんか勘違いしてるか
書いてない条件があるのかしらんけど、それが出来ないなら説明しても出来ないと思うけど。
0119nobodyさん
2010/08/05(木) 22:13:58ID:ON5OkfeA$inpo ="baka"."aho"."text";として
↑上の$inpoって変数だけでrequireで指定したファイルを
読み込むことってできるのでしょうか
0120nobodyさん
2010/08/05(木) 23:22:41ID:???0121nobodyさん
2010/08/05(木) 23:29:26ID:???ってわけでなく?
0122nobodyさん
2010/08/05(木) 23:53:58ID:ON5OkfeA0125nobodyさん
2010/08/06(金) 01:08:32ID:S3CmsbHMあまり一般的では無いという事ですかね?
調べてみます
0127nobodyさん
2010/08/06(金) 13:40:38ID:zz9oR7D2$result[] = array(
"title" => $x->title,
"author"=> $x->children("http://purl.org/dc/elements/1.1/")->author
)
}
「$x->children("http://purl.org/dc/elements/1.1/")->author」の中身が複数件ある場合は
どうすれば取得できるのでしょうか。
0128nobodyさん
2010/08/06(金) 14:38:45ID:???0129nobodyさん
2010/08/06(金) 15:02:47ID:???0130nobodyさん
2010/08/06(金) 17:47:46ID:???惚れちゃう
0131nobodyさん
2010/08/06(金) 23:15:11ID:???0132nobodyさん
2010/08/07(土) 00:51:01ID:???0133nobodyさん
2010/08/07(土) 20:05:26ID:6W+R9iQfrequire("Framework.php");
Framework::execute();//実際にはFramework.php内で実行
class IndexAction {
function dispatch(&$c){
$c->set("このページはインデックスページ");
}
}
のように記述して動作するフレームワークのような物を作っているのですが
Framework側からIndexActionクラスの存在が確認できませんでした。
ためしに、Framework::execute();をIndexActionクラス以降に記述すると動作するのですが
classは関数とは違い呼び出される以前に認識させれていないといけないのでしょうか?
環境はwindows 7 + apache2.2 + php4です。
0134nobodyさん
2010/08/07(土) 23:20:10ID:4rhxgL+i0135nobodyさん
2010/08/08(日) 03:01:23ID:344hAWEQPDFファイル内にマーカーとして埋め込んでおいて、プログラムから
そこに実際の文字列を入れるということはできないでしょうか?
(Wordの差し込み印刷のイメージです)
いちいち文字の位置をミリ単位で指定するのが非常に大変なもので。
0136nobodyさん
2010/08/08(日) 17:32:39ID:gTT1Yd8Iみたいなスレあったと思うんだけど、なくなりましたか?
0137nobodyさん
2010/08/08(日) 21:15:52ID:sz2+sMLW稼働中のHPからすべてをダウンロードしてローカルで実行する環境までやっとできました
で、うごかしてみたところopendirで failed to open dir: No error in 〜 というエラーが出ています
パスの設定がローカルと本番で違うのかといろいろ試してみたのですが、ずっと解消しません
もしかしてApachかフォルダに権限を与える必要があるでしょうか?
方法を具体的に教えていただければと思います
0138nobodyさん
2010/08/08(日) 21:50:19ID:???ApacheとPHPを一つずつ入れられるようになってから使え!!!!!!!!!!
0139nobodyさん
2010/08/08(日) 22:02:30ID:sz2+sMLWそれがわかっただけでも収穫です
0140nobodyさん
2010/08/08(日) 22:43:01ID:???エラーメッセージの詳細がわからないからなんともいえないな。
パスが存在しないのかもしれないし、権限がないのかもしれない。
>>138はXAMPPが悪いといっているのではなくて、問題の切り分けができない人が使うと、
「何が問題なのかが分からない」という状態になることを危惧しているのだろうと思う。
0141nobodyさん
2010/08/09(月) 00:09:41ID:???100%パス間違ってる、だな
0142nobodyさん
2010/08/09(月) 01:16:25ID:???仮想マシンでUbuntu動かした方がいい
0143nobodyさん
2010/08/09(月) 01:47:43ID:DI3eal4w0144nobodyさん
2010/08/09(月) 06:16:44ID:???php 投稿サイト で検索しても出てこなくて。
0145nobodyさん
2010/08/09(月) 08:08:41ID:???0146nobodyさん
2010/08/09(月) 09:46:50ID:???0148nobodyさん
2010/08/09(月) 21:48:06ID:ZoOeKZuo(
[0] => Array
(
[name] => abc
[age] => 14
),
[1] => Array
(
[name] => def
[age] => 47
),
[2] => Array
(
[name] => ghi
[age] => 21
)
)
以上のような連想配列があるのですが、
ageの大きい順にソートするには、どういうやり方があるでしょうか?
0149nobodyさん
2010/08/09(月) 21:57:36ID:???0150nobodyさん
2010/08/09(月) 22:00:58ID:???arsortで並び替える
それをforeachかなんかで回して
元の配列からからの配列に値をいれていけばいいんじゃね
間違ってたらごめーんね
0151nobodyさん
2010/08/09(月) 22:27:09ID:ZoOeKZuoとてもヒントになりました。
何とか形にできそうです、ありがとう!
0152nobodyさん
2010/08/10(火) 11:23:59ID:???書籍とかがあまり無い気がします。
Javaの本でも読んだ方が概念的な理解は早いですかねえ。
0153nobodyさん
2010/08/10(火) 11:26:39ID:???その方が良いな。
0154nobodyさん
2010/08/10(火) 13:05:11ID:???携帯から画像のアップロードが出来るページを
作成したいと思っています。
現在、サクラインターネットを使っているのですが、
ページ内に複数のリンクが存在しており、
それぞれのリンクがクリックされると
mailto: ***
でそれぞれ異なるメールアドレスへ向けてメールを送信する事によりサーバ側で
受け取ったメールに添付された画像をページごとに用意したディレクトリに
保存しようと思っています。
例) 1 例) 2
pagename1@test.co.jp pagename2@test.co.jp
※メールアドレスはページによって変えたいですがドメインは同じです。
しかし、動的にページが増える場合にはメールアドレスも動的に生成しなくては
ならない事と、スパムメールが届く可能性があるのですが、
この様な事をしたい場合にはどうするのが一般的なのでしょうか?
当方にて調べたところ、
携帯から画像のアップロードを行う場合は、
メール送信を介して行うのがオーソドックスな様なのですが他に何か良い方法はありますか?
0155nobodyさん
2010/08/10(火) 14:09:30ID:???教育評価研究所
0156nobodyさん
2010/08/10(火) 14:15:18ID:???まさかそんなドメインのHPがあるとは思ってもいませんでした。
それより >>154 を実現するにはどうすれば良いのかご教示下さい。
0158nobodyさん
2010/08/10(火) 14:53:16ID:???動的に生成したページの為、
どのページよりアップロードされたかを
メールアドレスのうち@の左側の部分で判断しようと思っていたのですが、
メールアドレスは1つで、本文に何がしかの値を設定する事により
その部分で判定をすれば良いということでしょうか?
ただ、スパムメール業者にメールアドレスを拾われて、
スパムメールが届く可能性があるので、
メールを受信した場合に送信されたメールの本文を元に
スパムメールであるかどうかを判定し、スパムメールの場合には、
自動でメールの削除処理を行いたいのですがどうすれば良いでしょうか?
※さくらインターネットの共有鯖を想定しています。
0159nobodyさん
2010/08/10(火) 15:45:47ID:???でググれ
0160nobodyさん
2010/08/10(火) 16:03:33ID:???次の関数を使用しているのですが、
第3引数の $iv に9文字以上を設定して実行すると警告が出てしまいますが、
これは仕様なのでしょうか?
(8文字以内で無いとダメなのか?)
mcrypt_generic_init($resource, $key, $iv);
【警告内容】
Iv size incorrect; supplied length: 14, needed: 8
暗号強度を高める為に、最終的には最低でも15桁程度は
$iv に指定したいと思っています。
0161nobodyさん
2010/08/10(火) 16:25:14ID:???0162nobodyさん
2010/08/10(火) 16:37:39ID:???マニュアル見てる限りivの使い方間違ってないか?
0163nobodyさん
2010/08/10(火) 16:50:04ID:???いや、かなりそっち方面の詳しい人の書いた
HPのソースを拝借してるので正しい筈。
ってか雑魚に質問した俺がアホだった。
0164nobodyさん
2010/08/10(火) 16:58:30ID:???マニュアルには
IV は通常そのアルゴリズムのブロック長と同じ大きさですが、
mcrypt_enc_get_iv_size() をコールする ことにより、その大きさを得る必要があります。
IV は ECB では 無視されます。IV は CFB、CBC、STREAM、nOFB では必須です。
IV はランダムで一意である必要があります(しかし、秘密ではある必要は ありません)。
暗号化と復号で同じ IV を使用する必要があります。
IV を使用したくない場合にはゼロに設定しますが、これは推奨されません。
こう書いてあるけどどうなのよ
ていうかその人に聞けば良いんじゃないのか
0165nobodyさん
2010/08/10(火) 17:12:55ID:???何か研究者っぽい人が趣味で載せてるっぽいHPなので
質問しても華麗にスルーされそうなのでやめました。
あのサイトどこだったかなぁ。
0166nobodyさん
2010/08/10(火) 17:26:55ID:???IDださないと誰かわからんよ
暗号化のアルゴリズムは何を使ってる?
種類によって長さが変わってくるはず
mcrypt_generic_init($resource, $key, $iv);
↑
この前に$resouce生成している行があるでしょ?
そこで種類はわかる。
というかmcrypt_enc_get_iv_sizeで得られる長さ以上は無理だよ
0167nobodyさん
2010/08/10(火) 17:32:23ID:???0168nobodyさん
2010/08/10(火) 17:34:06ID:mBoLwcDd1行目 $test ="こんにちは";
と書いておき
sample.phpで
$sample = file(test.txt)で読み込み
$sample[1]とした時、文字列が[1]に入ってますが、
sample.php内で、
変数$testとして使いたい場合はどうすればよいのでしょうか?
0169nobodyさん
2010/08/10(火) 17:36:31ID:???PHP: include - Manual
http://jp2.php.net/manual/ja/function.include.php
0170nobodyさん
2010/08/10(火) 17:51:37ID:???$testでかくなら.txtじゃなくphpとして扱ってincludeしたほうがいい
どうしてもテキストがいいなら
test=こんにちわ
php側
list($a, $b) = preg_split("/=/",$c);
${$a} = $b;
これでいいはず
0171nobodyさん
2010/08/10(火) 18:40:33ID:mBoLwcDd0172nobodyさん
2010/08/10(火) 18:40:54ID:???http://php.net/manual/ja/function.parse-ini-file.php
0173nobodyさん
2010/08/10(火) 18:55:47ID:mBoLwcDdご指導ありがとうございます。
0174nobodyさん
2010/08/10(火) 23:27:55ID:f5P1YaX5データ型に応じた型で返るでおk?
0175nobodyさん
2010/08/11(水) 19:42:33ID:???.mailfilter に転送設定を行い abc.php を実行させようとしています。
受信メールの内容を取得し加工した上で
別のメールアドレスに送信しようとしているのですが、
/home/xxx/www/abc.php
abc.php の中に require_once('Mail/mimeDecode.php'); という宣言を入れた状態で
次の3パターンを実行した場合、(1)の場合のみエラーも出ずに正常に送信されますが
これは一体なぜでしょうか?
(Pearのパッケージは既にインストール済みです。)
(1)ブラウザからのアクセスした場合
http://xxx.sakura.ne.jp/abc.php
(2)CUI上からキックした場合
php abc.php
(3)起動元となるメールアドレスにメールを送信し
.mailfilter経由で abc.php をキックした場合
※【abc.php】の中身
<?php
require_once('Mail/mimeDecode.php');
// 〜 略:別のメールアドレスへの送信処理 〜 //
?>
0177nobodyさん
2010/08/11(水) 20:18:48ID:???(2)
→ TeraTerm上では何もエラーが表示されません。
(3)
→ メールを送信すると、送信元のメールアドレスに次のエラーメッセージが返って来ました。
The original message was received at Wed, 11 Aug 2010 20:16:33 +0900 (JST)
from ksav**.sakura.ne.jp [***.***.***.***]
----- The following addresses had permanent fatal errors -----
<***@xxx.sakura.ne.jp>
(reason: 255)
----- Transcript of session follows -----
554 5.3.0 unknown mailer error 255
0178nobodyさん
2010/08/11(水) 22:29:45ID:hbz/oQrU・外部からはアクセス不可
・PHPで操作(作成・削除など)可能
にするためには、そのファイルをドキュメントルートより上に置けばいいと思いますが、
その方法を使わずに、ドキュメントルートの下に置いて同じことを実現するためには
どうすれば良いのでしょうか?
0179nobodyさん
2010/08/11(水) 22:55:16ID:???Order allow,deny
Deny from all
を書く、IISは知らん。
0180nobodyさん
2010/08/12(木) 00:06:04ID:0qoFhKL3環境を書き忘れててすみませんでした。
Ubuntu+Apacheなので、.htaccess試してみます。
ありがとうございました!
0181nobodyさん
2010/08/12(木) 00:23:53ID:???Pearへのパスをどうやって設定しているか知らないけど、
(2)でシェルから php -i 実行して、ちゃんとinclude_pathに入っている?
(3)も同じようにでメール受信をトリガに php -iの結果を
適当なファイルに保存して、あとで中身を確認すると何かわかるかも。
カレントディレクトリが、/home/〜/wwwだとは限らないよ
0182nobodyさん
2010/08/12(木) 00:44:45ID:???Pearへのパスは、php.iniより設定しています。
⇒ サーバコントロール > PHP設定の編集 > * php.ini 設定ファイル編集 *
;■Pearのインストールディレクトリの設定
include_path = ".:/home/xxx/www/pear/PEAR/"
しかし、php -i で include_path を調べたところ上記で指定したパスが表示されていませんでした。
include_path => .:/usr/local/php/5.2.13/lib/php => .:/usr/local/php/5.2.13/lib/php
しかし、php.iniではしっかりと指定している為おかしいと思い、
ブラウザから abc.php に次のコードを追記し確認したところ
$ip = get_include_path();
echo "get_include_path()=".$ip."<br>";
次の出力がされました。
get_include_path()=..:/home/xxx/www/pear/PEAR/
従って、インクルードパス指定は通っていると思われるのですがなぜ
CUI上からのコマンド実行をした場合 や メール受信のトリガからコールされた場合に
abc.phpに記載した require_once('Mail/mimeDecode.php'); の部分で
なぜ、失敗してしまうのか分りません・・・
うーん、参ったぁ〜〜〜
0183nobodyさん
2010/08/12(木) 00:58:40ID:???それぞれ別のphp.iniを参照するようになっている場合がある。
php -c 〜で直接iniファイルを指定する方法もあるから、調べてみ
0184nobodyさん
2010/08/12(木) 01:14:46ID:???0186nobodyさん
2010/08/12(木) 11:13:04ID:???【PHPのバージョン】5.2.13
【連携ソフトウェア】MySQL
【質問内容】
PHPからMySQLに持続的接続をしたいのですが
mysqli_connect('p:localhost');
これを実行しても
Unknown MySQL server host
と言われてしまいます。
p:を外すと接続できます。
何か使い方間違えているのでしょうか…?
0187nobodyさん
2010/08/12(木) 11:21:16ID:???http://php.net/manual/ja/mysqli.persistconns.php
0189nobodyさん
2010/08/12(木) 17:20:40ID:PSNYtZ9Gサーバに渡ってきている文字列の改行コードが\r\nになっていることに気づきました。
これはOSとブラウザによって変わる部分ですよね
今まで意識していなかったのですが、
本来は文字列のバリデーション等をする前に、
改行を\nに統一するフィルタをかける必要があったのでしょうか?
今までDBに格納したデータも混在した改行コードが入っていると思うとへこみます
0190nobodyさん
2010/08/13(金) 01:39:53ID:CCRng8uMローカルのコマンドラインから呼ばれてる時ってどのように判断したらいいでしょうか?
昨日あげたphpで
$debug = true;
としたままアップロードしてしまって大変な目に会ったんで
自動的に判断してくれるようにしたいのですが
0191nobodyさん
2010/08/13(金) 02:01:26ID:???各々で実行した時の$_SERVER変数の違いを確認してみたら?
または、コマンドラインからは引数付きで起動し、argc、argvの有無をみるとか
0193nobodyさん
2010/08/13(金) 04:16:01ID:???0194nobodyさん
2010/08/13(金) 10:07:59ID:21Z4+sGWイメージ的には array(1,2,3)[2] みたいな
0195nobodyさん
2010/08/13(金) 11:16:26ID:???0196nobodyさん
2010/08/13(金) 11:36:45ID:???0197nobodyさん
2010/08/13(金) 11:43:14ID:???たとえば $value に任意の値が入ってくるとして、
<?php
$kari[0] = 'yes';
$kari[1] = 'no';
?>
<b><?php echo $kari[$value]; unset($kari) ?></b>
こんなん書かずに
<b><?php echo array('yes', 'no')[$value] ?></b>
この1行で済ませられたらいいなと
あとはexplodeで分割した中からn番目を取り出すときに
一旦配列変数に格納するのもなんか嫌だ
>>196
うー、なんとかならんのかね
0198nobodyさん
2010/08/13(金) 11:52:09ID:???作成しているのですが、次のコードがどうしても分りません。
どの様に記述すれば良いかご伝授下さい。
<知りたいコード>
・添付されたファイルの総数
・添付されたファイル名称の取得
・送信先メールアドレス
⇒ 送信元では無く、送信先のメールアドレスです。
<参考にしているサイト>
http://www.aiwake.co.jp/modules/bulletin/index.php?page=article&storyid=4
0199nobodyさん
2010/08/13(金) 14:45:22ID:???ファイル名は $part->ctype_parameters['name']
あて先は $structure->headers['to']
いろんな形でメールくるので、携帯の対応したかったら
いろんなメール送って $structure 見てみるといいよ。いろいろ足りない。
■ このスレッドは過去ログ倉庫に格納されています