トップページ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を表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
0284nobodyさん2012/08/21(火) 15:33:54.23ID:???
削除するってどこの部分を削除するんだよ
0285nobodyさん2012/08/21(火) 15:35:01.77ID:qLhbnQlN
>>283
ありがとうございます。
一歩近づきました。
フォルダの場合やクエリがある場合はスルー出来ればと思っております。
0286nobodyさん2012/08/21(火) 15:42:56.61ID:???
>>285
/index\.\w+$/
は?
0287nobodyさん2012/08/21(火) 15:50:30.26ID:???
?が含まれていたら?の前後の2つの文字列に分割
?の前の部分を置換して、それに?の後の部分をくっつける
0288nobodyさん2012/08/21(火) 16:04:13.08ID:???
それはスルーって書いてるのに
0289nobodyさん2012/08/21(火) 16:04:55.14ID:???
そもそも、最後とかクエリとかいうよりも
URLのファイル名部分を抜き出す、という定義でいいんでないの?
0290nobodyさん2012/08/21(火) 16:07:54.36ID:qLhbnQlN
>>286
ありがとうございます。
こちらで思うような動作を確認できました。
確かに実際にこうして見て見るとなるほどと思います。

>>287
実は最初はそうしてたんですが、スマートに出来ないものかと思いまして。
あと拡張子の終わりをどう判断するか?というのがありましてクエリ以外にもスラッシュでフォルダといった場合やエンコードの関連などもありまして正規表現で出来ればと思っておりました。

みなさんご回答いただきありがとうございました。
0291nobodyさん2012/08/21(火) 16:30:27.81ID:???
>>290
分割していくのが保守性もいいし確実だ
0292nobodyさん2012/08/21(火) 16:32:24.74ID:???
http://php.net/manual/ja/function.parse-url.php とかね
0293nobodyさん2012/08/21(火) 16:35:56.40ID:qLhbnQlN
>>291
確かに不明なものが出てきた際は、正規表現ではなく個別に動作を変更できる分割のほうがいいかもしれないですね。
今後を見据えてどちらがいいのか検討してみます。

>>292
こんな関数あるの知りませんでした。
ちょっと試して見たいと思います。
0294nobodyさん2012/08/21(火) 19:37:58.47ID:40TN/F5z
cakePHP2でアップデートを行おうとしているのですが
テーブルの主キーはかならず id という名前で1つのみ存在
する状態でなければ

save()を実行してもだめなのでしょうか?
どうやっても思い通りの更新をする事ができないので
直接UPDATE分を書こうか迷っています。
しかし、そもそも折角cakeを使っているのでSQLの直書きだけは避けたいです。

@現在のテーブル
[ tb_hoge ]
user_id ( int )
emploied_id ( int )
user_name ( text )
0295nobodyさん2012/08/21(火) 20:58:53.77ID:???
専スレいけよ
0296nobodyさん2012/08/21(火) 21:04:36.92ID:???
【PHP】気軽にPHP質問スレ
http://kohada.2ch.net/test/read.cgi/php/1343015189/
0297nobodyさん2012/08/21(火) 21:10:28.42ID:???
>>296
違うだろwww
0298nobodyさん2012/08/21(火) 21:14:09.83ID:???
【PHP】下らねぇ質問はID出して書き込みやがれ 119
http://kohada.2ch.net/test/read.cgi/job/1337174486/
0299nobodyさん2012/08/21(火) 21:15:21.92ID:???
>>298
なんで転職板なんだよ・・・
0300nobodyさん2012/08/21(火) 21:31:00.04ID:???
【CakePHP】大人気フレームワークCakePHP【Ver2.2.1】
http://anago.2ch.net/test/read.cgi/river/1343861550/
0301nobodyさん2012/08/21(火) 22:51:31.69ID:???
<link rel="start" href="file:///C|/Users/じゅん/desk/index.html" />
0302nobodyさん2012/08/21(火) 23:57:26.73ID:ZlOByRzF
<img src="file:///" />
0303nobodyさん2012/08/22(水) 07:41:29.02ID:???
Aptanaより軽くてAptanaみたいにPHP、HTML、Javascriptのインテリセンス機能が付いて
ファイルをツリー形式で表示できるエディタかIDEってありますか?
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ってあってんの?
■ このスレッドは過去ログ倉庫に格納されています