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

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

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

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

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

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

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
0304nobodyさん2012/08/22(水) 10:32:44.75ID:???
スレタイ読んで>1-1000読んでエディタスレ行け
0305nobodyさん2012/08/22(水) 11:08:52.78ID:???
嫌だなぁ
PHP版にいる人の意見を効きたいからここに書き込んだっていうのに
0306nobodyさん2012/08/22(水) 11:38:09.95ID:???
>>1
0307nobodyさん2012/08/23(木) 09:45:17.64ID:v9kKdUoC
PHP内でhtmlを取得して、そこに書かれているテキストを変数に格納するにはどうすればいいでしょうか?
動的に変化するURLにアクセスして、その中身を取得したいのですが
0308nobodyさん2012/08/23(木) 09:48:14.92ID:???
HTMLを取得する
HTML内から必要なテキストを抽出する
テキストを変数に格納する
寝る
0309nobodyさん2012/08/23(木) 10:07:56.55ID:???
特定のタグを探して、その中を切りだして文字列にする、という手順で。
簡単なテスト文章から練習するといい。
慣れたらライブラリ使うことも検討して
0310nobodyさん2012/08/23(木) 10:43:56.80ID:???
1.file_get_contentsやDOM当たり
2.1でとったものを正規表現やDOM操作で
0311nobodyさん2012/08/23(木) 10:56:51.48ID:1lZoqEZ8
PHP5.3のsystem関数でrmコマンド,unlink関数が実行できないのはデフォルトでしょうか?
それ自体は納得いくのですが、結構探してもその手の記述がみつからないので気になりました
削除するファイルのパーミションは777で、
system関数はcatやlsなどの関数は問題なく実行できます
(ソース)
$cmd = "rm hoge.txt";
system($cmd,$ret);
echo "return_code[$ret]";
dump_var(unlink("hoge.txt"));

(表示)
return_code[1] bool(false)
0312nobodyさん2012/08/23(木) 11:03:23.56ID:???
サーバ側が制御してんじゃないの
CGIでやってみたらいいのではないか
03133112012/08/23(木) 12:10:33.07ID:CZBgvCvI
>>312
すいません、単純にディレクトリの書き込み権限がありませんでした・・・

スレ汚し失礼しました
0314nobodyさん2012/08/23(木) 23:57:17.04ID:???
二度とくるな
0315nobodyさん2012/08/24(金) 19:39:21.42ID:6pGxEHfe
PHP5.2でmail関数を使って添付ファイルの送信を行っていたのですが
ファイルサイズの合計が8Mを超えたあたりでメールの送信に失敗してしまいます

php.iniのmemory_limitは256Mにしています
考えられる原因等ありましたら教えていただけないでしょうか?
0316nobodyさん2012/08/24(金) 20:28:54.42ID:???
メールの仕組み上、数MBを超えたら分割するのが普通
仮に送れても相手に届かないことがある
0317nobodyさん2012/08/24(金) 23:37:37.09ID:Uqq/1V6c
>>315
「送信に失敗」とは具体的にどうなる?

再現コードは提示できる?

MTAは何?
0318nobodyさん2012/08/25(土) 09:52:39.99ID:CCP03x17
PHPのフォーム送信時によく大括弧(ブレース、[])で括って
配列としてパースする方法を見かけますが、
これって厳密にはルール(W3C勧告)違反ですよね

原典
http://www.w3.org/TR/html4/types.html#type-name
和訳
http://www.asahi-net.or.jp/~SD5A-UCD/rec-html401j/types.html#type-name

ということは、これらの記述方法を解釈しないW3C準拠のブラウザが
今後出てこないとも限らないということですよね。(現実問題はともかくとして)
でも、あまりこのことについて触れられた話題を聞いたことがありません。
(※HTTPプロトコル的には問題はないようです)

それか何か別の上位規約みたいなものがあって問題になっていないのか、
あるいはPHPがオレオレでやっちゃってて、ブラウザ側が柔軟に対応しているのか、
このあたりの情報(話題にしているブログやQ&Aでも結構です)
があれば何でもいいので教えてください。
0319nobodyさん2012/08/25(土) 10:23:06.45ID:???
どのへんが違反だと思ったのか詳しく
0320nobodyさん2012/08/25(土) 10:37:09.73ID:CCP03x17
> ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
> IDトークンとNAMEトークンは、アルファベット([A-Za-z])で開始し、任意の数のアルファベット、数字、([0-9])、ハイフン(-)、アンダースコア(_)、コロン、(:)、ピリオド(.)のみで記述する必要がある。

とありますので、大括弧(ブレース、[])は使用すべきでない文字であると解釈しました。
0321nobodyさん2012/08/25(土) 10:45:11.83ID:???
俺も最初違和感を感じで
hoge[0]をhoge-0にしてサーバ側でhoge[0]に変えてたけど
面倒だし気にしないことにした
0322nobodyさん2012/08/25(土) 10:49:13.58ID:???
IDやNAMEにJSON突っ込むやつなんて見たことないな
0323nobodyさん2012/08/25(土) 10:49:21.87ID:CCP03x17
深く取り上げているトピックなどはご存じありませんか。

ありがとう。
0324nobodyさん2012/08/25(土) 10:55:01.40ID:???
マジレスするとお前が関係ない仕様を持ち出して勝手に問題視してるだけ
0325nobodyさん2012/08/25(土) 11:11:23.54ID:CCP03x17
そうですか、とても斬新な意見ありがとう。
0326nobodyさん2012/08/25(土) 11:39:16.84ID:???
関係ないとする根拠が必要
0327nobodyさん2012/08/25(土) 11:59:23.75ID:???
<input id="ここはIDなので[]とか使えないけどここの値は送信されない"
name="ここはNAMEじゃなくてCDATAだから[]も使える"
value="ここもCDATA まあJSON入れるとすれば普通はここ">

違反になる例ってどんなのかなあ
0328nobodyさん2012/08/25(土) 12:14:04.36ID:???
> ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
> IDトークンとNAMEトークンは、アルファベット([A-Za-z])で開始し、任意の数のアルファベット、数字、([0-9])、ハイフン(-)、アンダースコア(_)、コロン、(:)、ピリオド(.)のみで記述する必要がある。

これにNAMEが入ってるのは何だ?
どこから持ってきたんだ?
0329nobodyさん2012/08/25(土) 12:14:38.57ID:???
ああ、分かった
属性じゃないのか
0330nobodyさん2012/08/25(土) 13:15:38.49ID:???
>>325
http://www.asahi-net.or.jp/~SD5A-UCD/rec-html401j/index/attributes.html
ここのページのTypeの列を見ろ
TypeがNAMEなのは、http-equivとmeta要素のnameだけ
inputとかのnameの中身はCDATA
0331nobodyさん2012/08/25(土) 13:51:07.63ID:CCP03x17
>>330
よくわかりました。私の解釈が間違っていました。
以下が制約となるということを私は理解しました。

CDATAは、文書文字集合中の任意の文字の列であり、文字実体をも含む。ユーザエージェントは、この属性値を次のように解釈する必要がある。
文字実体は文字で置き換える。
改行文字LFは無視する。
個々の改行文字CRあるいはタブ文字は、1つの空白文字で置き換える。

どうもありがとう。
0332nobodyさん2012/08/26(日) 04:37:11.25ID:NUwGA8LG
PDOのプレースホルダでSELECT句のCONCATで使えます?
どうやってもエラーが出る。。。
0333nobodyさん2012/08/26(日) 05:34:39.80ID:???
無理
concatしたい文字列を配列にいれて
array_mapあたりでPDO::quoteを適用
implodeでカンマ区切りで文字列結合
クエリ文字列に組み込む

in演算子とかでも同じ事が言える
0334nobodyさん2012/08/26(日) 07:19:24.54ID:NUwGA8LG
>>333
ありがとうございます クエリを結合しました
エスケープさえちゃんとしてれば必要無いですね
0335nobodyさん2012/08/26(日) 21:42:41.88ID:???
test
0336nobodyさん2012/08/27(月) 18:27:04.38ID:beoPo3Gh
PHPでメール受信をしたあとヘッダ解析を楽にするライブラリを教えて
0337nobodyさん2012/08/27(月) 18:28:46.95ID:???
http://kohada.2ch.net/test/read.cgi/php/1330980652/
0338nobodyさん2012/08/27(月) 20:44:23.38ID:???
PEAR::MailのmimeDecode
0339nobodyさん2012/08/28(火) 18:36:33.00ID:???
require(dirname(__FILE__).'/読み込みたいファイルへの相対パス');
のようにファイル読み込みをさせているのですが、もっと便利なやり方があるだろうと言われました。
自分としては、これが間違いにくくていいと思っているのですが、もっといい方法があるようでしたら教えてください。
0340nobodyさん2012/08/28(火) 19:04:00.85ID:???
相対パスのみ書けば?
0341nobodyさん2012/08/28(火) 19:21:54.52ID:???
>>340
ファイルAからファイルBを呼び出して、さらにファイルBの中でファイルCを呼び出していたりすると、BではAからの相対パスでCを指定しなければいけないはずです
これが面倒だったので、dirname(__FILE__)を追加して回避していました
0342nobodyさん2012/08/28(火) 19:41:39.62ID:???
include_pathを設定して、そこからの相対パスは?
0343nobodyさん2012/08/28(火) 20:38:45.53ID:???
>>342
php.iniでinclude_path(include、requireの基準位置?)を設定してしまうのですか
ありがとうございました
やってみます
0344nobodyさん2012/08/28(火) 20:46:28.64ID:???
オートロード
0345nobodyさん2012/08/28(火) 21:10:40.61ID:???
ID出せって
0346nobodyさん2012/08/29(水) 00:19:08.42ID:R37ZaK/q
markdown.phpがうごきません
wordpress専用なのでしょうか?
0347nobodyさん2012/08/29(水) 00:32:15.59ID:???
>>346
それは僕が決めることです。
0348nobodyさん2012/08/29(水) 00:50:15.00ID:mnj7YyJT
>>346
http://michelf.ca/projects/php-markdown/
せめてどうやってやったのか書かないと分かるわけないじゃない。

>>347
そういうのやめようよ
0349nobodyさん2012/08/29(水) 01:12:03.93ID:R37ZaK/q
うごきました
おさわがせしました
0350nobodyさん2012/08/29(水) 17:33:36.45ID:gT4jykYw
以下のエラーについて質問です。

エラー文
Warning: ftp_put() [function.ftp-put]: Please login with USER and PASS in /home/example.com/public_html/lib/uni_class.php on line 512

ftp_putでエラーが出るのですが
実際のファイルはアップロードされており正常に動作しているようなのですが
エラー表示がされ、ログインの情報等を確認しても正しくて原因が特定できずで困っております。
0351nobodyさん2012/08/29(水) 18:32:25.26ID:???
パッシブモードの問題か、相手のFTPサーバが変なメッセージ返してきてるのかも知れない、しらんけど
0352nobodyさん2012/08/30(木) 22:06:55.45ID:4UCNl7Xf
ちょっと気になる点が

$fp = fopen($pass,"a+");
flock($fp,2);
echo fgets($fp);

ってやるとfopenの時点でファイルポインタはファイル終端に置かれると思うのですが
なぜか1行目をfgetsできてしまいます
最後なので何も取得できないと思うのですがナゼなのでしょうか?
0353nobodyさん2012/08/30(木) 22:09:17.49ID:???
PHPが糞言語だから
0354nobodyさん2012/08/30(木) 22:13:11.94ID:???
そーいうのはPHPの仕様に甘えずちゃーんとやっといたほうがいいぞ
fcloseでflock解除できなくなった!なぁーんて事があったりする
0355nobodyさん2012/08/30(木) 22:29:13.77ID:???
書き込みのポインターと読み込みのポインターは別々だからな
0356nobodyさん2012/08/30(木) 22:32:31.63ID:4UCNl7Xf
なるほど、別々なんですか
ということは書き込みポインターが終端に置かれて、読み込みは一番上って事ですね

>>354氏の言うとおりなら、一番上を取得した後、一番下に置くのなら
fopen(a+)をした後
fseekで一番上にポインタをやる

fget

fseekで一番下にポインタ

fput
とやる方がいいのでしょうか?
0357nobodyさん2012/08/30(木) 22:39:03.44ID:???
モードがa+ならSEEK_SETしようが書き込みされるポイントはファイル末端固定だ
これは変わらない and 変えられない
0358nobodyさん2012/08/31(金) 00:23:15.87ID:???
マニュアルは、下のNoteにしか書いてないことがよくある
この件もfopenのページにある。
0359nobodyさん2012/08/31(金) 00:32:15.92ID:???
マニュアルが不正確だな
'a+'について「ファイルポインタをファイルの終端に置きます。 」ってあるけど
正確には
・ファイルポインタはファイルの先頭に置く
・書き込みはファイルポインタの位置に限らずファイルの終端
ってことだろ
0360nobodyさん2012/08/31(金) 00:34:27.25ID:MVPLX6lz
エフテル関数つかって確かめましたが、ポインタは上になってました
皆さんのレス、物凄く勉強になりました。感謝の極みです!
0361nobodyさん2012/08/31(金) 00:36:13.51ID:???
マイクロソフト オフィス エフテル
0362nobodyさん2012/08/31(金) 00:37:53.11ID:???
エフオープン
エフロック
0363nobodyさん2012/08/31(金) 00:41:48.99ID:???
エフテル関数なんて初めて聞いたわ
0364nobodyさん2012/08/31(金) 00:45:58.20ID:???
俺は職場で平然とfgetc()を
「エフゲットゥク関数で1文字取り出せば解決だろ」
と言ってる
0365nobodyさん2012/08/31(金) 00:50:38.09ID:???
ああfgetっていう意味だったのか
学術的っぽいかっこいい名前だなと真剣にググってしまったじゃないか
0366nobodyさん2012/08/31(金) 00:56:48.60ID:???
エフテル=ftell
0367nobodyさん2012/08/31(金) 02:12:44.75ID:p7ILmJoK
$エフピー = エフオープン($パス, 'え〜ぷらす');

これを実行しようとすると
PHP Fatal error: Call to undefined function エフオープン()
となるんですが、どうすればいいでしょうか?

CentOS 5.8
PHP5.2.14 (cli) です。
0368nobodyさん2012/08/31(金) 02:24:22.85ID:???
エフオープンという関数が定義されていないので正しい関数名を調べて下さい
0369nobodyさん2012/08/31(金) 02:31:14.74ID:p7ILmJoK
>>368
回答ありがとうございます

$え〜ぷらす = 'a+';
$エフピー = エフオープン($パス, $え〜ぷらす);

function エフオープン($パス, $オプション)
{
return fopen($パス, $オプション);
}

上記のようにラッパー関数を作成したところ、
問題なく動作しました
ありがとうございました



っつーか、まじで動くと思わなかったが日本語使えるんだな・・・
0370nobodyさん2012/08/31(金) 02:34:04.75ID:???
あーもうそういいのいいから、二番煎じとかいいから
コスプレとかでも反応困るから
0371nobodyさん2012/08/31(金) 02:44:59.70ID:p7ILmJoK
<?php
class クラス
{
function メソッド($引数)
{
echo $引数;
}
}

$インスタンス = new クラス;
$インスタンス->メソッド('日本語');


これが動くとは知らなかったし試そうとも思わなかったんだが、
いまどき当たり前のように動くのか?
VBはたまに見るが、JavaやRuby、PHPでも日本語変数名使えるんだな
0372nobodyさん2012/08/31(金) 07:03:28.30ID:???
全角空白の変数名とか作れたら楽しそう
0373nobodyさん2012/08/31(金) 08:00:46.89ID:???
本スレ

【PHP】気軽にPHP質問スレ
http://kohada.2ch.net/test/read.cgi/php/1343015189/
0374nobodyさん2012/08/31(金) 08:34:51.14ID:???
エフクントゥル fcntl
イオクトゥル ioctl
とか元の綴りが想像できた方がいい場合もある
0375nobodyさん2012/08/31(金) 14:07:29.17ID:???
テストするとき日本語で書かないの?
0376nobodyさん2012/08/31(金) 14:41:29.69ID:???
ehuo-pun
0377nobodyさん2012/08/31(金) 16:35:40.77ID:???
SQLITEのSQL文で、

Aが1で、BかCかDかEが2の場合っていうwhere句は

A = 1 and b = 2 or c = 2 or d = 2 or e = 2

でいいでしょうか?
0378nobodyさん2012/08/31(金) 16:46:39.80ID:???
ID出してよ
0379nobodyさん2012/08/31(金) 18:08:15.34ID:???
本スレ

【PHP】気軽にPHP質問スレ
http://kohada.2ch.net/test/read.cgi/php/1343015189/
0380nobodyさん2012/08/31(金) 18:24:42.50ID:???
巣から出てくんなw
0381nobodyさん2012/08/31(金) 23:01:38.47ID:???
またSQLite厨が荒らしてんのか
0382nobodyさん2012/08/31(金) 23:04:54.34ID:???
A=1 AND 2 IN (B, C, D, E)
0383nobodyさん2012/08/31(金) 23:25:14.32ID:???
質問出したの忘れてたって思ったら誰一人まともな回答してねーwwwwwww

>>382ってあってんの?
0384nobodyさん2012/08/31(金) 23:29:06.00ID:???
バカは消えろ
0385nobodyさん2012/09/01(土) 14:16:44.73ID:???
>>2
0386nobodyさん2012/09/01(土) 14:19:03.31ID:???
うるせー!!!!!!!!!!!
さっさと答えやがれぼけぇ!
0387nobodyさん2012/09/01(土) 14:36:43.06ID:???
タダでは教えられないぜ
0388nobodyさん2012/09/01(土) 14:47:46.37ID:???
EVAL ( Aが1で、BかCかDかEが2 )
0389nobodyさん2012/09/01(土) 16:34:13.33ID:???
>>377
PHPじゃないし、
ID出してないし、
>>382じゃだめなのか?
0390nobodyさん2012/09/01(土) 16:50:26.76ID:???
眠いなぁ
0391nobodyさん2012/09/02(日) 02:54:13.92ID:cmUGNg2H
ubuntu12.04 localhostのapache鯖で、mb_send_mail関数でgmalのsmtpサーバを用いて送信しようと試行錯誤していたのですが、
unixの場合はmb_send_mail関数はsendmail関数を使用していて、
当初はphp.iniでsmtpサーバやポート番号の設定項目をgmailのsmtpに変更すれば、そのものを使えると思っていたのですが
sendmailは自分のマシンで動いてるメールサーバでないと送れないのでしょうか?

調べていくうちにPEAR::mailを使うとずばりgmailのsmtp経由の送信ができるらしいのですが
サンプルはgmailのユーザ名やパスワードを必要としていたので、
そこの設定をphp.iniにしないで送れるわけないとも思いましたし、そんな設定項目はなさそうでしたので
詳しい方にお聞きしたいです

0392nobodyさん2012/09/02(日) 13:42:57.32ID:???
SMTPはもともとユーザーIDやパスワードはいらない仕様
スパム送るやつが後を絶たないのであとから追加された。
なので、ローカルに限定すれば認証要らないのが通常の仕様。

自分とこにSMTPサーバ立てて、全部GMailに転送するようにすればいいんじゃない?
何に困ってるの?
0393nobodyさん2012/09/02(日) 13:57:56.89ID:???
>>391
何を言いたいんだか
Google/Gmailのアカウントなしでやりたいのならキチガイ
0394nobodyさん2012/09/02(日) 14:33:40.85ID:Y3lSmyBH
xamppに関する質問はスレ違いですか?
0395nobodyさん2012/09/02(日) 14:38:37.96ID:???
聞き返す必要がない適切な質問をするなら、して構わない
回答者が時間をさくんだから、質問にも時間をかけろ
0396nobodyさん2012/09/02(日) 15:55:46.75ID:???
MLじゃないけど
http://www.hyuki.com/writing/techask.html
この辺読んどくといいかもな
0397nobodyさん2012/09/02(日) 17:09:17.53ID:???
悪い例>>391
0398nobodyさん2012/09/02(日) 17:25:49.99ID:???
何らかの理由でメールが送れないからGMailで送りたいということかね?
OBP25あたりだと思うけど、SSL使ってSMTP AUTHもやるんだから
それなりのライブラリ、例えばPHPMailerとかPEAR使えばよろしい、その場合php.iniは忘れろ。
0399nobodyさん2012/09/02(日) 21:21:15.41ID:???
>>392
分かりづらくてすいません
まとめると、自分のとこにSMTPサーバーを立てないとmb_send_mail関数は使えないのかという質問です
gmailのSMTPサーバーは自由に外部から使える のようなことをブログなどで
見かけたので、それこそアカウントなしでただ乗りのような
gmailでないアドレス名義からgmailのsmtpサーバー経由でgmailでないアドレスに送信する
といったことができるのかと気になったのです
0400nobodyさん2012/09/02(日) 21:28:52.59ID:???
それを第三者中継という
送信者と受信者に無関係なサーバが中継する

世界中に第三者中継を許可したまま放置してる糞サーバがあるから
スパマーがそれを悪用する

君がやろうとしてることはスパマーと同じこと
04013992012/09/02(日) 23:19:15.86ID:cmUGNg2H
>>400
実際gmailのアカウントは持ってて
やれてしまいそうな例として出したんだけど
聞きたいのはそれがスパムまがいとかそういう話じゃないんだ

メールを送信したいだこならそれこそpearライブラリを使えばいいという話だろうから
今現在特に問題に差し迫っていふわけではなく、ただ単に
ネットで断片的に集めた情報をまとめた下の解釈が合っているのかどうかを聞きたいだけなんです

unixサーバーのphpスクリプト上でmb_send_mail関数はsendmailコマンドを利用していて、
sendmailコマンドは同一サーバー上のsmtpサーバーがないと使えない
0402nobodyさん2012/09/02(日) 23:24:21.92ID:???
ソケット関数でEHLOから頑張れ
0403nobodyさん2012/09/02(日) 23:34:48.99ID:???
何も分かってないのにmb_send_mail関数で楽しようというのがダメだな
ソケットで1からやってみ?
0404nobodyさん2012/09/03(月) 00:07:19.73ID:???
>>401
合ってるよ
■ このスレッドは過去ログ倉庫に格納されています