【PHP】下らねぇ質問はID出して書き込みやがれ 98
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2010/09/18(土) 19:20:37ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 97
http://hibari.2ch.net/test/read.cgi/php/1279833891/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0002nobodyさん
2010/09/18(土) 19:21:19ID:???【PHP】下らねぇ質問はID出して書き込みやがれ 96
http://pc11.2ch.net/test/read.cgi/php/1275032024/
【PHP】下らねぇ質問はID出して書き込みやがれ 95
http://pc11.2ch.net/test/read.cgi/php/1271636105/
【PHP】下らねぇ質問はID出して書き込みやがれ 94
http://pc11.2ch.net/test/read.cgi/php/1268835461/
【PHP】下らねぇ質問はID出して書き込みやがれ 93
http://pc11.2ch.net/test/read.cgi/php/1266229386/
【PHP】下らねぇ質問はID出して書き込みやがれ 92
http://pc11.2ch.net/test/read.cgi/php/1263035502/
【PHP】下らねぇ質問はID出して書き込みやがれ 91
http://pc11.2ch.net/test/read.cgi/php/1260247989/
【PHP】下らねぇ質問はID出して書き込みやがれ 90
http://pc11.2ch.net/test/read.cgi/php/1258187482/
【PHP】下らねぇ質問はID出して書き込みやがれ 89
http://pc11.2ch.net/test/read.cgi/php/1255263534/
【PHP】下らねぇ質問はID出して書き込みやがれ 88
http://pc11.2ch.net/test/read.cgi/php/1253061577/
【PHP】下らねぇ質問はID出して書き込みやがれ 87
http://pc11.2ch.net/test/read.cgi/php/1251447028/
【PHP】下らねぇ質問はID出して書き込みやがれ 86
http://pc11.2ch.net/test/read.cgi/php/1249042741/
0003nobodyさん
2010/09/18(土) 19:22:01ID:???■本家マニュアル http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル http://pear.php.net/manual/ja/
■メーリングリスト http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル http://framework.zend.com/manual/ja/
■Smartyマニュアル http://www.smarty.net/manual/ja/
(以下英語)
■Zend本家 http://www.zend.com/
■Zend Framework http://framework.zend.com/
■php | architect http://www.phparch.com/
■Smarty http://www.smarty.net
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0004nobodyさん
2010/09/18(土) 19:22:42ID:???1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→ http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
0005nobodyさん
2010/09/18(土) 19:23:24ID:???→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
0006nobodyさん
2010/09/18(土) 19:50:58ID:qF/0CouG【OS名】CentOS 5.5 (32bit)
【PHPのバージョン】5.3.3
【連携ソフトウェア】Qdmail 1.2.6b
【質問内容】
問題点:メールのタイトルが特定の文字列のときに文字化けしてしまいます。
タイトルが「メール」のときは文字化けするんですが「テスト」なら文字化けしません。
タイトルが文字化けするときの文字列を本文に書くと同じく文字化けします。
どこを見直せば良いでしょうか?
ちなみに$mail->charset('UTF-8', 'base64');にしてもiso-2022-jpからutf-8になるだけで改善されませんでした。
mb_language("ja"); と mb_internal_encoding('UTF-8');も先頭に書いてみましたが同じ結果でした。
メール→文字化け / テスト→正常
あかさたなはまやらわ→正常 / アカサタナハマヤラワ→文字化け
ちなみに「あかさたなはまやらわ」のときのメールヘッダは
Subject: =?iso-2022-jp?B?GyRCJCIkKyQ1JD8kSiRPJF4kZCRpJG8bKEI=?=
ですが、
「アカサタナハマヤラワ」のときは
Subject: =?iso-2022-jp?B?GyRCZWIbKEI/GyRCZWIbKEI/GyRCZWIbKEI/GyRCZWIbKEI/GyRCZWMbKEI=?=
=?iso-2022-jp?B?GyRCNGUlb2VjXGUmJmVjGyhCPxskQmVjGyhCPw==?=
となっています。二行になって頭にTabが入っているようです。
↓のファイル自体はUTF-8で作られています。
require_once 'qdmail.php';
$mail = new Qdmail();
$mail->to('test@example.com'); // 実際はGmail宛 Yahoo宛で確かめています
$mail->subject('メール');
$mail->text('ここに本文');
$mail->from('info@example.com', '管理者');
$mail->send();
0007nobodyさん
2010/09/19(日) 01:14:28ID:o0omnz79new するときのcall_user_func_array的なものってないですかね?
0008nobodyさん
2010/09/19(日) 09:24:49ID:???俺もQdメール使ってたけど、作者さんに聞いたほうが早いよ。
とりあえず俺の場合の文字化け無しのソース抜粋
// メールクラス読み込み
include('../class/qd_simple_mail.php');
$from_address = "送信元アドレス";
$from_name = ”送信者”;
$subject = 'タイトル';
$to_address = '宛先';
$content = ”本文”;
$additional = array();
$option = array(
'CHARSET_CONTENT'=>'utf-8',
// 'CHARSET_CONTENT'=>'iso-2022-jp',
// 'ENC_CONTENT'=>'base64',
);
qd_simple_mail( $to_address , null , $subject , $content , $from_address , $from_name ,$additional , $option );
こんな感じ。
俺の場合はシンプルメールのほうにしたけど、そちらの方法のやつは
ちょっと不明かも、良かったらシンプルメールにて試してみて欲しい。
#ちなみにサーバー依存しないソケット通信がしたくてそちらを選んだならごめん。
0009nobodyさん
2010/09/19(日) 11:00:31ID:???何度もやり直してはいますが まったくできませんでした
サーバの文字コードはUTF-8
エンコード時の文字コードもUTF-8
index.htmlの文字コードもUTF-8
です
これで全くできないのです…自分の環境がおかしいのでしょうか
0011nobodyさん
2010/09/19(日) 11:07:50ID:eIEN7Yyo【PHPのバージョン】5.3
【連携ソフトウェア】なし
【質問内容】>>9
0012nobodyさん
2010/09/19(日) 11:11:59ID:???0013nobodyさん
2010/09/19(日) 11:13:12ID:???>何度もやり直してはいますが まったくできませんでした
質問内容を省略しすぎてて意味がわかりません
0014nobodyさん
2010/09/19(日) 11:39:28ID:???そのくらい推察しろよカスどもめが…とか思ってるかもしれんが、
面倒なのは仕方ないと割り切った上で落ち着いて丁寧に質問してくれ。
もしこれ以上の情報が必要ないと考えているようだと、
それはそれで大問題だ。いろんな意味で。
0016nobodyさん
2010/09/19(日) 12:39:44ID:NWy7q6Wmindex.html (文字コード UTF-8)
<html>
<head><title>New Document</title></head>
<body>
<div>
<form action="" method="post" id="test">
<input type="hidden" name="a" value="あ">
<input type="hidden" name="b" value="い">
<input type="hidden" name="c" value="う">
<input type="hidden" name="d" value="え">
<input type="hidden" name="e" value="おあ">
<input type="submit" value="send">
</form>
</div>
</body>
</html>
0017nobodyさん
2010/09/19(日) 12:40:32ID:e0G02OVN同じURL上で、カテゴリをプルダウンメニューで選択すると表示が変わる、
動的なページを作成しています。
POSTでデータを受け渡した時は、選んだカテゴリが次のページにも反映されるのですが、
GETで受け渡した時は、初期カテゴリに自動的に戻ってしまいます。
選んだカテゴリをURLに反映させたいのでGETを使いたいのですが、
なにかヒントをもらえないでしょうか?
0018nobodyさん
2010/09/19(日) 12:41:17ID:???$url = "index.html";
$file = file_get_contents($url);
$doc = new DOMDocument();
$doc->encoding = "UTF-8";
$res = $doc->loadHTML($file);
$items = $doc->getElementsByTagName('input');
$cnt = $items->length;
$str = $items->item(0)->getAttribute('value')."\n";
$str = mb_convert_encoding($str, "UTF-8", "auto");
echo $str;
?>
サーバ側もindex.htmlもencodingもUTF-8にしたのに文字化けしてしまいます
0019nobodyさん
2010/09/19(日) 12:43:22ID:???これいらんのじゃ
0020nobodyさん
2010/09/19(日) 12:44:02ID:???これも
0024nobodyさん
2010/09/19(日) 13:07:40ID:???ttp://hain.jp/index.php/tech-j/2007/02/13/%EF%BC%B0%EF%BC%A8%EF%BC%B0%E3%81%AE%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91
0025nobodyさん
2010/09/19(日) 13:21:49ID:???<?phpの次の行に
header("Content-Type: text/html; charset=UTF-8");
0026nobodyさん
2010/09/19(日) 13:44:14ID:DdIFZWUf削除してみましたが結果は同じでした
>>21
postで送信するのではなく index.htmlというページにあるvalueの値を取得したいのです
>>22
encodingはUTF-8でした
>>23
サーバからです
>>24
それを読んでみましたが まったくダメでした
>>25
それもダメでした…
0027nobodyさん
2010/09/19(日) 14:14:16ID:???0028nobodyさん
2010/09/19(日) 14:18:30ID:d8+XLEjxーーーーーーーーーーーー
クロスサイトスクリプティングの解説記事でよく説明される「入力データチェックを厳密に」という表現から,
フォーム受付時のタイミングでサニタイジングを行うのかと思いがちである。
サニタイジングは(2)HTML生成時のタイミングで行うべきである。
次章「クロスサイトスクリプティング対策の詳細」で説明するが,
データを埋め込むHTML中の文脈に合わせて適切なサニタイジング手法を選択する必要があるからである。
また掲示板の例では,将来的にデータベースへの記事の書き込み手段として,メールによる投稿が導入された場合でも,
HTML生成時のタイミングでサニタイジングしていれば,
なんら手を加えることなく,いろんな入力源から入り込んでくるデータを漏れなくサニタイジングできる。
また,同じデータに誤って2回以上サニタイジングしてデータの意味が変わってしまうという設計上のトラブルも防げる。
ソース
http://www.asahi-net.or.jp/~wv7y-kmr/memo/php_security.html#PHP_Session_about
今はデータベースに入れる前に、こんな感じで、
function delete_tag_changing_line($str){
$str=strip_tags($str);
$str=htmlspecialchars($str,ENT_QUOTES,"SJIS");
return str_replace(array("\r\n","\r","\n","\"","\'"),'',$str);
}
$hoge=delete_tag_changing_line($_GET['hogehoge']){
って感じでエスケープしてるんだけど,
上の記事見ると、print関数とかのhtml出力時にエスケープすべきみたいなんだよね。
でも、正直今の設計上で出力時に全部エスケープすると、かなりソースに変更が必要になってしまうです。
だから、今まで通り
$hoge=delete_tag_changing_line($_GET['hogehoge']){
このやり方で、リクエストのフォームデータを扱う時にエスケープかける方向でいきたいんだけど、
>同じデータに誤って2回以上サニタイジングしてデータの意味が変わってしまうという設計上のトラブルも防げる。
>メールによる投稿が導入された場合でも,
ここら辺が問題なければ、現状通りのやり方でも大丈夫かな。
お手間かけてすみませんが、見解聞かせてください。
00316
2010/09/19(日) 14:35:36ID:???qd_simple_mailは知らなかったのですがそっちの方も使ってみたところ同じでした。
mbstring.detect_orderが原因でした、ASCII,JIS,UTF-8,EUC-JP,SJISにしたら文字化けしなくなりました。
Qdmail側がそこら辺はうまい具合にやってくれてると思ってたんですが違ったようです。
0032nobodyさん
2010/09/19(日) 14:42:52ID:???index.htmlの頭に
<?xml version="1.0" encoding="utf-8" ?>
付けたら出たよ
あとID出してね
0037nobodyさん
2010/09/19(日) 15:43:06ID:RW6Zh2z2$str = trim($str);
文字列から半角スペースだけ削除したいのですが消えません
どなたかご教示おねがいします
0039nobodyさん
2010/09/19(日) 15:48:05ID:???0040nobodyさん
2010/09/19(日) 15:57:35ID:+3xl6Ak5eclipseに移行した場合、どのようなメリットがありますか?
テキストエディタからeclipseに移行することで開発スピードは上がりますか?
0042nobodyさん
2010/09/19(日) 16:11:39ID:???0043nobodyさん
2010/09/19(日) 16:39:27ID:???><form action="" method="post" id="test">
actionはマジで空っぽ?
0044nobodyさん
2010/09/19(日) 16:57:53ID:???0045nobodyさん
2010/09/19(日) 17:00:41ID:LNQ8CDVBecho $test[0];
これがtを表示するのは何故ですか?
0046nobodyさん
2010/09/19(日) 17:08:14ID:4bBjydvfデータベースと接続する部分は共通化していますが、
各データを扱う部分は、直接各クラス毎に、
$sql = "SELCT COLUMN FROM TABLE_NAME WHERE CONDITION = '123'"
という風に書いています。
こういう書き方って、皆さんから見るとどうでしょうか?
データ取得部分だけクラス化するという話もききますが、
それだと、SQLの数だけクラスが増えて相当なクラス数になると思います。
どのような方法が一般的なのか、お伺いできればと思います。
宜しくお願いします。
0047nobodyさん
2010/09/19(日) 17:11:14ID:???そこらへんはCと同じような考え方からきてんじゃないのかね
Cは文字列というものは存在しなくて文字の配列を文字列としてるから
0049nobodyさん
2010/09/19(日) 19:41:04ID:4bBjydvfご回答ありがとうございます。
O/Rマッパーについて調べてみたのですが、Java専用でphpのものはないそうです。
phpでそれに該当するようなものはございますか。
度々のご質問で申し訳ございません。宜しくお願いします。
0050nobodyさん
2010/09/19(日) 19:47:19ID:???過疎ってるけど
【propel】PHPのORMについて語ろうぜ【peropero】
http://hibari.2ch.net/test/read.cgi/php/1173181854/
ORMの問題ではなく、まずはMVC学んで有名どころのフレームワーク使った方が良いと思うが。
サンプルが参考になるはず
0051nobodyさん
2010/09/19(日) 21:05:03ID:2wvRyPkxブラウザに出力です
0055nobodyさん
2010/09/19(日) 22:03:35ID:???0056nobodyさん
2010/09/19(日) 22:08:46ID:???0057nobodyさん
2010/09/19(日) 22:23:54ID:???0058nobodyさん
2010/09/19(日) 22:46:55ID:???/(スラッシュ)って必要?
preg_match("検索パターンを表す文字列", 比較文字列)
だと動作にどういう違いが生じる?
0059nobodyさん
2010/09/19(日) 22:50:52ID:???やってみた。自分でやってみるほうが早いと思うけどね。
Warning: preg_match() [function.preg-match]: No ending delimiter '.' found in ......
で false を返したよ。@5.2.13
0060nobodyさん
2010/09/19(日) 23:09:42ID:???0061nobodyさん
2010/09/20(月) 00:01:59ID:???mysql_query("rollback") and $this->db['autocommit']= 1;
や
mysql_query("begin") or $this->dberr("トランザクション開始エラー");
はどういった意味になるのでしょうか。
ifも書かれていないため、条件分岐でもなさそう
ですので、悩んでます。
よろしくお願いいたします。
0063nobodyさん
2010/09/20(月) 00:29:55ID:???orの場合はその逆で偽なら実行
if文とかでもそうでandとか&&は
先の結果が真の時以外その後は実行されない
0064nobodyさん
2010/09/20(月) 00:30:41ID:???http://jp.php.net/manual/ja/language.operators.logical.php
0065nobodyさん
2010/09/20(月) 00:33:59ID:???本当だ・・・
warning返された・・・
なんてスラッシュなんて要求するんだろう?
ない方が手間も省けるのに
0067nobodyさん
2010/09/20(月) 00:44:25ID:zsEPGaUeすみません。
ID出してませんでした。
>>63 >>64
ありがとうございます。
つまり、
if (!$this->db['autocommit']){
mysql_query("commit") and $this->db['autocommit']= 1;
}
は、書き換えると
if (!$this->db['autocommit']){
if(mysql_query("commit")){
$this->db['autocommit']= 1;
}
}
になり、
if (!$this->db['autocommit']){
mysql_query("commit") or $this->db['autocommit']= 1;
}
は
if (!$this->db['autocommit']){
if(!mysql_query("commit")){
$this->db['autocommit']= 1;
}
}
になるという解釈で宜しいでしょうか。
度重なる質問ですみません。
0068nobodyさん
2010/09/20(月) 00:47:16ID:???0069nobodyさん
2010/09/20(月) 01:39:01ID:zsEPGaUeありがとうございます。
大変助かりました。
0070nobodyさん
2010/09/20(月) 03:41:18ID:???一方htmlの画像表示タグ
<img src="(パス)/(ファイル名)">
では(パス)の部分にrealpath()で取得した絶対パスを指定しても正しく画像を表示できないのはなぜ?
これができるようになったら便利なんだけどね・・・
0072nobodyさん
2010/09/20(月) 05:29:32ID:???一方htmlの画像表示タグ
<img src="(パス)/(ファイル名)">
では(パス)の部分にrealpath()で取得した絶対パスを指定しても正しく画像を表示できないのはなぜ?
これができるようになったら便利なんだけどね・・・
0073nobodyさん
2010/09/20(月) 08:52:50ID:ZY/coBt6【PHPのバージョン】5.2.13 (cli)
【質問内容】
CLI版のPHPは自動でメモリの開放はしてくれないのでしょうか?
ループしているだけで、メモリ使用量がどんどん増えていって、最終的に
メモリが足りなくなって落ちてしまいます。
原因や、回避策をご存知でしたら、教えてください。
例)
<?php
require_once('./simplehtmldom/simple_html_dom.php');
for ($i = 0; $i < 100; $i++) {
$url = "http://www.yahoo.co.jp";
$obj = file_get_html($url);
unset($obj);
var_dump(memory_get_usage(1));
sleep(3);
}
int(5505024)
int(9961472)
int(14942208)
int(19660800)
int(24117248)
int(29360128)
int(33816576)
int(38535168)
0074nobodyさん
2010/09/20(月) 10:02:34ID:???ここをfile_get_contentsにしてやってみ
ちゃんと開放されてるから
原因はfile_get_html
require_once('./simplehtmldom/simple_html_dom.php');
こいつの中身にあるんじゃないかと
なんかメモリにキャッシュするようにしてるのかもしれん
0075nobodyさん
2010/09/20(月) 10:29:28ID:???imgタグのsrcはwebサーバではドキュメントルートからのパスになるし
realpathから$_SERVER["DOCUMENT_ROOT"]を引けばOK
0076nobodyさん
2010/09/20(月) 10:36:00ID:???そこらへんHTML5では改善されるといいね
些細なことだけどプログラム上の余計な手間なんだよね>imgタグのsrc指定
0077nobodyさん
2010/09/20(月) 10:53:27ID:???0078nobodyさん
2010/09/20(月) 10:58:12ID:???<img src="/home/takashi/public_html/img/hoge.jpg">とか書くつもりか
0079nobodyさん
2010/09/20(月) 11:01:18ID:???〜〜〜〜〜〜〜〜|〜〜〜〜〜〜〜〜〜〜
>( c´_ゝ`) |
|
>( c´_ゝ`) J
>( c´_ゝ`)
|
〜〜〜〜〜〜〜〜|〜〜〜〜〜〜〜〜〜〜
| >( c´,_ゝ`)
|
J >( c´,_ゝ`)
>( c´,_ゝ`)
0080nobodyさん
2010/09/20(月) 11:09:18ID:ZY/coBt6「メモリにキャッシュする」というのが、
具体的にどういう処理かがよくわからないのですが。
とりあえず、関数の中で static な変数を保持しているとかはありませんでした。
file_get_html の中では、object を new して返してます。
file_get_html が返した object を unset しても、どんどんメモリが増えていきます。。
file_get_contents なら、増えないことは確認できました。
0082nobodyさん
2010/09/20(月) 11:34:46ID:???マニュアルに書いてありますねぇ
file_get_contents()はファイルの内容を文字列に読み込む 方法として好ましいものです。もしOSがサポートしていれば パフォーマンス向上のためにメモリマッピング技術が使用されます。
0084nobodyさん
2010/09/20(月) 13:22:28ID:Z65z5cwSjcode.phpで文字コードを調べてみると ASCIIコードになっていたようです
0085nobodyさん
2010/09/20(月) 13:25:07ID:???0086nobodyさん
2010/09/20(月) 13:28:19ID:???0087nobodyさん
2010/09/20(月) 14:21:44ID:???0088nobodyさん
2010/09/20(月) 14:28:16ID:M5nqlNJA@を禁止ワードとしてしたいのですが、
strpos($_POST['aho'],"@");
とすると、何故かフォームahoに全角スペースとか入っていると、
falseが返ってきません。
文字コードがshift-jisだからかなとは思うのですが、
何か対策ありますでしょうか。
ちなみに禁止ワードは@以外にも可能性があり、@だけ削ればいいわけではなく、
しっかり禁止ワードを検出して、入力したユーザーはアクセス規制をかけるという処理です。
0090nobodyさん
2010/09/20(月) 14:39:08ID:???0092nobodyさん
2010/09/20(月) 14:54:36ID:???0094nobodyさん
2010/09/20(月) 15:05:27ID:???0096nobodyさん
2010/09/20(月) 15:07:43ID:???009888
2010/09/20(月) 15:14:07ID:???だからしっかり教えてあげただけです
010392
2010/09/20(月) 15:40:03ID:???0106nobodyさん
2010/09/20(月) 15:44:01ID:???↓
バカを釣るためです
さすが
0107nobodyさん
2010/09/20(月) 15:58:27ID:???PHPを使ったパスワード認証をお教えください。
HPにyahooのリンクがあったとします。
そのリンクをクリックした際に(ポップアップ等で)パスワード認証を
かける方法を探しております。
0108nobodyさん
2010/09/20(月) 15:59:30ID:???0111nobodyさん
2010/09/20(月) 16:21:01ID:???スレタイと>>1を読んで、やりたい事をもっと具体的に書いて。
「yahooのリンク」のリンク先(yahoo)は自分のサイト(PHPを動作させているサーバ)なのかい?
それとも自分のサイトでPHPで認証させて、外部(yahoo)に飛ばすという意味なのかい?
0112nobodyさん
2010/09/20(月) 16:21:43ID:???つ detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1346334528
0114nobodyさん
2010/09/20(月) 16:23:27ID:???色々ありすぎるんだよ。
どの程度のレベルのものを必要としているのかわからないけど、
要するにファイルなりデータベースなりに暗号化したパスワードを保存しておいて、入力してもらったパスワードが正しいか確かめるだけ。
簡単なものなら、少し勉強すればすぐ書けるけれど、この手のものはセキュリティ云々も当然あるだろうから、とてもじゃないが全部は説明しきれない。
それだけで本が書けてしまうよ。
ちなみにポップアップさせるのはPHPではなくてJavascript等の守備範囲。
0116nobodyさん
2010/09/20(月) 16:24:35ID:???0120nobodyさん
2010/09/20(月) 16:28:19ID:???0121nobodyさん
2010/09/20(月) 16:31:38ID:???0122nobodyさん
2010/09/20(月) 16:31:56ID:???釣りとかしてたら回答してくれる人がいなくなるぞ
それと回答者もテンプレ守らない質問はスルーしろ
0123nobodyさん
2010/09/20(月) 16:32:16ID:???0125nobodyさん
2010/09/20(月) 16:34:49ID:???Perlの勉強会後の懇親会でPHPスレ荒らしてると公言!
0126nobodyさん
2010/09/20(月) 16:37:16ID:???0127nobodyさん
2010/09/20(月) 16:39:26ID:???PHPがどれだけ嫌われてるかはここにいる連中ならわかってるだろ?
0128nobodyさん
2010/09/20(月) 16:39:29ID:???0129nobodyさん
2010/09/20(月) 16:43:33ID:???∧_∧ (´<_` ;) ・・さ、流石だな、兄者
( ´_ゝ`) / ⌒i
/ \ / ィ | |
/ ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄/
__ _/ Prius // FMV // VAIO // Mebius // LaVie /____
\/_/ ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄/
_ /ThinkPad //WinBook//DynaBook//Libretto // Presario/
\/_/ ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄/
_ / Inspiron //Endeavor//InterLink // Evo //Let'sNote/
\/____//____//____//____//____/
0130nobodyさん
2010/09/20(月) 16:48:12ID:???それで何なのか聞きたい
全くもって悔しくないから困る
あ、これで悔しいんですねm9みたいなレスはいらんよ
0131nobodyさん
2010/09/20(月) 16:55:21ID:???なんでID出さないスレを無くしたのか考えろよ
0132nobodyさん
2010/09/20(月) 17:03:22ID:???0133nobodyさん
2010/09/20(月) 17:14:14ID:???0134nobodyさん
2010/09/20(月) 17:48:40ID:???↑この一行が書かれたテキストファイルをfgetsで文字列に読み込んだ場合、読み込んだ文字列はどうなっていますか?
0135nobodyさん
2010/09/20(月) 17:53:13ID:???0136nobodyさん
2010/09/20(月) 18:01:49ID:???abc\ndef
と表示されました。そこでHTMLで改行されて表示されるよう
nl2br($string)
としてみました。これで\nが<br>\nに置換されるはずなんですがなぜかechoコマンドで
ブラウザに表示したところ
abc\ndef
のままだったんです。
fgetsでテキストファイルから読み込んだ際になにか特殊処理を施されちゃったのかなとおもって
その解除方法に思案しているところです(´・ω・`)
0137nobodyさん
2010/09/20(月) 18:03:24ID:???0138nobodyさん
2010/09/20(月) 18:15:44ID:???0139nobodyさん
2010/09/20(月) 18:23:19ID:25juxIoU> だって\nって改行じゃないし
preg_replaceを使って "\\n" を "<br>" に置換することを試みましたがダメでした。
どういう文字列として読み込まれているんでしょうか・・・
少なくとも
abc\ndef
の表記通りでは無い気がします
0140nobodyさん
2010/09/20(月) 18:26:12ID:???0141nobodyさん
2010/09/20(月) 18:33:22ID:???str_replaceを使え!!!!!!!!!!!!!!!!!!!!
0142nobodyさん
2010/09/20(月) 19:05:30ID:25juxIoUpreg_replace("\\n", "\<br\>\\n", $string);
preg_replace("\n", "\<br\>\n", $string);
↑どちらもダメでした(´・ω・`)
>>141
(;^ω^)・・・
0143nobodyさん
2010/09/20(月) 19:10:11ID:???http://php.net/manual/ja/function.fgets.php
>ファイルポインタから 1 行取得します。
だぞ?
一回の呼び出しで abc\ndef が得られてるってのが変だと思わんか?
これを踏まえてもう一度137が言ってること考えてごらんよ。
0144nobodyさん
2010/09/20(月) 19:13:39ID:???http://php.net/manual/ja/function.preg-replace.php
ここの例をよーく見ろ
よーーーーーく見ろよ?
後、エラーメッセージを出さない設定にしてるのか?
俺の環境ではエラーになったぜ
0145nobodyさん
2010/09/20(月) 19:18:41ID:25juxIoU\nは改行ではないということですね・・・
だとしたら
preg_replace("/\n/", "\<br\>\n", $string);
で \n は <br>\n に置換されてもいいはずなんですが・・・
>>144
すいません、/を忘れてました^^;)
0147nobodyさん
2010/09/20(月) 19:19:16ID:???(;^ω^)・・・じゃええよ素人の分際が!!!!!!!!!
\nを<br>にする程度の置換ならstr_replaceでいいだろ!!!!!!!!!!
0148nobodyさん
2010/09/20(月) 19:21:44ID:???お前は素人なんだから話を聞いたらどうなんだ素人さん
100回マニュアルを読んで書き直して来い
http://php.net/manual/ja/function.str-replace.php
0149nobodyさん
2010/09/20(月) 19:21:57ID:???str_replace('\n', '<br>\n', $string);
じゃね? 試してないけど。
どーしてもpreg_replace 使いたいなら(この程度では馬鹿げてるけど)
preg_replace('/\\n/', '<br>\n', $string);
か? 試してないけど。
0150nobodyさん
2010/09/20(月) 19:25:30ID:???久しぶりに見たわ
http://www.unkar.org/read/pc11.2ch.net/php/1233590976
0151nobodyさん
2010/09/20(月) 19:26:24ID:???これは流石にヒドいわ・・・人間として
0153nobodyさん
2010/09/20(月) 19:44:17ID:25juxIoUちょっと試してみます(;^ω^)
0154nobodyさん
2010/09/20(月) 19:51:44ID:???0155nobodyさん
2010/09/20(月) 20:24:42ID:???パフォーマンス考えるのは二の次
まずは動くもの作ればいい
0156nobodyさん
2010/09/20(月) 20:40:12ID:???↑の時間の30分後を取得する方法。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
$date= '2009-04-01 08:40:00';
preg_match("/(\d{4})\D(\d\d?)\D(\d\d?)\s+(\d\d?):(\d\d?):(\d\d?)/s", $date, $d);
$d= localtime(60*30+mktime($d[4], $d[5], $d[6], $d[2], $d[3], $d[1]));
printf("%d-%02d-%02d %02d:%02d:%02d", $d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0]);
0157nobodyさん
2010/09/20(月) 20:44:03ID:???0158nobodyさん
2010/09/20(月) 20:55:16ID:???0160nobodyさん
2010/09/20(月) 21:27:29ID:25juxIoU> str_replace('\n', '<br>\n', $string);
>
> じゃね? 試してないけど。
どうもです、その方法で\nを<br>\nに置換できました(^ω^)v
ただ未だに解せないんですがなぜnl2brが効果を発揮しなかったんでしょうか・・・
0161nobodyさん
2010/09/20(月) 21:29:49ID:???0163nobodyさん
2010/09/20(月) 21:33:55ID:???だからnl2brは改行コードを<br>に変える関数だから。
$stringの'\n'は改行コード\nじゃなくて文字列'\n'だったってこと。
0165nobodyさん
2010/09/20(月) 21:43:32ID:???これは流石にヒドいわ・・・人間として
0166nobodyさん
2010/09/20(月) 21:51:12ID:25juxIoU> $stringの'\n'は改行コード\nじゃなくて文字列'\n'だったってこと。
φ(^ω^;) メモメモ
そうしますと文字列の'\n'を改行コードの\nに置換するにはどうしたらいいでしょうか?
0167nobodyさん
2010/09/20(月) 21:59:09ID:???0168nobodyさん
2010/09/20(月) 22:04:33ID:???0169nobodyさん
2010/09/20(月) 22:05:17ID:25juxIoU> "\n"≠'\n'
:(;゙゚'ω゚'):
0171nobodyさん
2010/09/20(月) 22:34:13ID:???0172nobodyさん
2010/09/20(月) 22:34:16ID:M5nqlNJA@を禁止ワードとしてしたいのですが、
strpos($_POST['aho'],"@");
とすると、何故かフォームahoに全角スペースとか入っていると、
falseが返ってきません。
を質問したものです。
>>89
さん。
mb_strpos() でも同じ結果でした。
>>90
禁止ワードを入力したら規制という仕様です。
サイト管理者が@を禁止ワードとした場合、意図しない動作が起こる状態なのです。
ちなみにサイト管理者は私ではないのです。
何かいい方法ありますでしょうか。
正規表現使うしかないのかな。。
0174nobodyさん
2010/09/20(月) 22:55:08ID:???http://php.net/manual/ja/function.mb-strpos.php
引数 $encoding の説明を声に出して読もうか
0175nobodyさん
2010/09/20(月) 22:59:27ID:???0176nobodyさん
2010/09/20(月) 23:06:26ID:M5nqlNJA>>174
どうもありがとう。
mb_strpos($_POST['aho'],"@",0,"SJIS")
でできた。
ほんと助かりました。
>175
まあ、そう堅い事言うな。
0177nobodyさん
2010/09/20(月) 23:19:59ID:???0178nobodyさん
2010/09/20(月) 23:24:01ID:???0179nobodyさん
2010/09/20(月) 23:24:39ID:???>mb_strpos($_POST['aho'],"@",0,"SJIS")
>でできた。
解決すると急に馴れ馴れしくなる質問者
0180nobodyさん
2010/09/20(月) 23:59:22ID:???アドレス系いれるとエラーとかポイント消費とか
0181nobodyさん
2010/09/21(火) 00:32:09ID:???0182nobodyさん
2010/09/21(火) 00:48:01ID:zwq2HiIO0183nobodyさん
2010/09/21(火) 00:57:33ID:???0184nobodyさん
2010/09/21(火) 07:51:39ID:???言うなら顔文字じゃなくて文字顔じゃないのか。
0185nobodyさん
2010/09/21(火) 07:56:45ID:???0186nobodyさん
2010/09/21(火) 08:11:40ID:???0187nobodyさん
2010/09/21(火) 10:15:46ID:???0189nobodyさん
2010/09/21(火) 16:49:06ID:DYRmkvRaindex.php?test=aa
とすろと_GET['test']にaaが入ります。
これを
index.php/test/aa
としたとき
/test/aaの値をどうやってindex.phpから取得すればいいのでしょうか?
どうぞよろしくお願いします。
0190nobodyさん
2010/09/21(火) 16:57:48ID:???どこのOSにディレクトリの上位がファイルなんて非常識なことがあろうか
同様にindex.php?test=/test/aa
とやって$_GET['test']で/test/aaの値を取得すればいいと思うが
mod_rewrite使って強引にやるにしてもindex.php/test/aaはおかしいわ
0191nobodyさん
2010/09/21(火) 17:01:55ID:DYRmkvRaそれがrestfulなフレームワークのサンプルを見るとその手法で実現しているのです(mod_rewrite未使用で)
なのでどうにかしてとれると思うのですがどなたかおわかりの方いらっしゃいませんか?
0192nobodyさん
2010/09/21(火) 17:11:07ID:???mod_rewrite使った方が楽だと思うが
$_SERVER["PATH_INFO"]から /test/aa を取ってこれる
0193nobodyさん
2010/09/21(火) 17:16:56ID:DYRmkvRa綺麗にとれました!
ありがとう!
0197nobodyさん
2010/09/21(火) 18:59:20ID:???0199nobodyさん
2010/09/21(火) 19:02:27ID:???まぁ反論したら絶対そうなると思ったが荒らすなカス
0200nobodyさん
2010/09/21(火) 19:13:16ID:???この一文でフレームワークを弄ったことない初心者
苛める価値もないからそのくらいにしといたれ
0201nobodyさん
2010/09/21(火) 19:17:04ID:???0202nobodyさん
2010/09/21(火) 19:21:36ID:???0203nobodyさん
2010/09/21(火) 19:23:00ID:???HTTPリクエストは
全然別物じゃないかな〜
0204nobodyさん
2010/09/21(火) 19:23:46ID:???0205nobodyさん
2010/09/21(火) 19:24:02ID:???ストレス溜まってるんだろうがキモイよお前ら
0206nobodyさん
2010/09/21(火) 19:26:14ID:???※上級者の方は温かい目で見守りましょう
0207nobodyさん
2010/09/21(火) 19:27:01ID:???The HTTP URL scheme is used to designate Internet resources
accessible using HTTP (HyperText Transfer Protocol).
The HTTP protocol is specified elsewhere. This specification only
describes the syntax of HTTP URLs.
An HTTP URL takes the form:
http://<host>:<port>/<path>?<searchpart>
where <host> and <port> are as described in Section 3.1. If :<port>
is omitted, the port defaults to 80. No user name or password is
allowed. <path> is an HTTP selector, and <searchpart> is a query
string. The <path> is optional, as is the <searchpart> and its
preceding "?". If neither <path> nor <searchpart> is present, the "/"
may also be omitted.
Within the <path> and <searchpart> components, "/", ";", "?" are
reserved. The "/" character may be used within HTTP to designate a
hierarchical structure.
http://<host>:<port>/<path>?<searchpart>
これ以外の形式はみとめません(キリッ
0208nobodyさん
2010/09/21(火) 19:33:04ID:???最近感情的なレスばっかで客観的に見れるやつが少ない
大規模規制が解除されたとたん幼稚園になってしまった
0209nobodyさん
2010/09/21(火) 19:34:32ID:???0210nobodyさん
2010/09/21(火) 21:02:17ID:???0211nobodyさん
2010/09/21(火) 21:05:24ID:???これまた背伸びするから的をはずしてるソースを持ち出してくるんだよな
rfcにpath_infoは定義されてるから100回読んで来い
ttp://www.rfc-editor.org/rfc/rfc3875.txt
0212nobodyさん
2010/09/21(火) 21:08:50ID:???0213nobodyさん
2010/09/21(火) 21:13:07ID:???0214nobodyさん
2010/09/21(火) 21:13:49ID:???論破しないと気が済まないわけ?
>>193で全て終わってるんだからそれ以降の煽り合いはいらん
0215nobodyさん
2010/09/21(火) 21:22:18ID:???0216nobodyさん
2010/09/21(火) 21:25:32ID:???0217nobodyさん
2010/09/21(火) 21:27:18ID:???質問は減る一方なのにくだらねえ話でスレは伸びっぱなし。
俺を含めてROM専でこのスレで勉強してるやつにとっては為にならない不毛な議論ばかり。
議論というかガキの喧嘩っぽいわ。
どうせ毎日荒らしてるやつは同一人物なんだろ?
こういうとこではしゃぐやつはだいたい固定されるからな。
まじ迷惑だ。消えろ。
0219nobodyさん
2010/09/21(火) 21:40:35ID:???0220nobodyさん
2010/09/21(火) 21:43:42ID:???追い込まれると自分の味方をつける為に>>217のようなレスをする
こういう光景を10年間2ちゃんねるで見飽きた
0221nobodyさん
2010/09/21(火) 21:45:26ID:???>>215 >>216
>>218 >>219
2度連続レスをすることで複数で同じやつを叩いてるように見せてる荒らしの高等戦術
0222nobodyさん
2010/09/21(火) 21:46:19ID:???0223nobodyさん
2010/09/21(火) 21:48:43ID:???これ以上続けるならID出しましょう
IPだしたら面白いことになりそうだけどな
emobileとOCNが言い合ってたりしてなwwwww
0224nobodyさん
2010/09/21(火) 22:06:39ID:???0225nobodyさん
2010/09/21(火) 22:26:18ID:XfIQm1kHPHPを完全なバックグランドで制御することは可能ですか?
HTML内にあれこれPHPを埋め込んだら、ブラウザ表示速度が激増してしまいました。
埋め込んだプログラムはクライアントのブラウザの表示には関係のないコードです。
プログラムが後ろで処理を終えるまで、ブラウザは読み込みを終えませんので、
この無駄な処理をクライアントに影響を与えないようにしたいのです。
0228nobodyさん
2010/09/21(火) 22:37:15ID:???問題なのは指摘なんだか煽りたいだけなのかわからないレス
煽りに噛み付くほうも問題だけど煽る必要は全くないわけで
おかしいと思ったらどんどん指摘するべき
ストレス解消論破ごっこは楽しいがそういうのは多人数が見てるところでやるべきでない
2chだから何でもおkではなく場所はわきまえないとただの迷惑な奴になりかねない
0229nobodyさん
2010/09/21(火) 22:38:43ID:???0230nobodyさん
2010/09/21(火) 22:41:13ID:???0231nobodyさん
2010/09/21(火) 22:58:10ID:???※初心者が多いので正論は通じません
※回答が間違いに気づいてもスルーするか柔らかく丁寧に指摘してあげましょう
※決して刺激してはいけません
0232nobodyさん
2010/09/21(火) 23:19:49ID:zwq2HiIOここを読みました
http://iwamode.net/etc/cgi_env_param.html
0233nobodyさん
2010/09/21(火) 23:26:11ID:zwq2HiIOプログラマとして失格です。度量が狭いし....
>>201さん言うとおりかなり勉強不足でした。
みなさん教えてくれてありがとうございました。
0235nobodyさん
2010/09/22(水) 01:58:40ID:AVtnNctm別にFWが全部こんな作りだというわけでもないしな
0236nobodyさん
2010/09/22(水) 02:14:55ID:???0237nobodyさん
2010/09/22(水) 07:07:32ID:???飽きないなお前ら
0238nobodyさん
2010/09/22(水) 08:12:57ID:???※真の上級者の方は温かい目で見守りましょう
0239nobodyさん
2010/09/22(水) 08:20:17ID:???0241nobodyさん
2010/09/22(水) 08:26:07ID:???>全くもって悔しくないから困る
>あ、これで悔しいんですねm9みたいなレスはいらんよ
叩かれる前に負け惜しみするなよw
0242nobodyさん
2010/09/22(水) 08:39:33ID:???※初心者が多いので正論は通じません
※回答が間違いに気づいてもスルーするか柔らかく丁寧に指摘してあげましょう
※決して刺激してはいけません
0243217
2010/09/22(水) 08:42:32ID:???質問は減る一方なのにくだらねえ話でスレは伸びっぱなし。
俺を含めてROM専でこのスレで勉強してるニートにとっては為にならない不毛な議論ばかり。
議論というかガキの喧嘩っぽいわ。
どうせ毎日荒らしてるやつは俺一人なんだろ?
こういうとこではしゃぐやつはだいたい固定されるからな。
まじ迷惑だ。消える。
0245nobodyさん
2010/09/22(水) 08:48:57ID:???もう5,6年前のことだが
0246nobodyさん
2010/09/22(水) 09:40:39ID:???0247nobodyさん
2010/09/22(水) 09:51:20ID:???これだけで荒らしは減るよ
それでもひどいようなら削除依頼すればいい。
みながテンプレ守ってない現状では削除依頼だしても受け入れてもらえない。
0248nobodyさん
2010/09/22(水) 09:53:53ID:???質問受付再開↓
0249nobodyさん
2010/09/22(水) 11:51:49ID:???な?w↑
0250nobodyさん
2010/09/22(水) 13:17:00ID:3VMc5XHqGIF画像からJPEG画像を作成してます。
作成されたJPEG画像に、『黒い外枠』が付いてしまいます。
何がいけないのでしょうか??
if($image_size["mime"] == "image/gif"){ //Gif画像だったら
$new_img = @imagecreatefromgif($fullpath);//$fullpath:GIF画像の場所
@imagejpeg($new_img, $fullpath_jpg); //$fullpath_jpg:JPG画像の保存場所
}
【OS名】CentOS
【PHPのバージョン】5.16
0251nobodyさん
2010/09/22(水) 13:19:44ID:???理由を教えてもらえれば最善の方法を考えるが
0252250
2010/09/22(水) 13:22:25ID:???携帯での画像表示と、
1画面に大量に並べるので、容量が少ないほうが良いと思いまして..
0253nobodyさん
2010/09/22(水) 13:23:44ID:???0254250
2010/09/22(水) 13:26:41ID:???2895.gif 11471バイト
↓
2895.jpg 3850バイト となりました。 <(_ _)>
0255nobodyさん
2010/09/22(水) 13:29:16ID:???0256nobodyさん
2010/09/22(水) 13:29:57ID:???0257nobodyさん
2010/09/22(水) 13:30:40ID:???そういう煽り入れるなっていってんのがわからんのかカス
毎日毎日うぜえんだよ消えろカス
いい加減荒らしで通報するぞボケ
0259nobodyさん
2010/09/22(水) 13:34:59ID:???0261nobodyさん
2010/09/22(水) 13:37:52ID:???そのソースで同じPHP 5.1.6で試したけど黒枠付かないな
どんな画像で試してる?
あと@はずしてエラーにならないかも確認してみて。
>>253
元にする画像による。色数が少なければGIFの方が良いかもしれない
GIFの可逆圧縮とJPEGの不可逆圧縮を単純に比べたらJPEGの方が小さくなる場合が多いはず
携帯向けだと圧縮率高めにして容量下げる事もよくあること
0262255
2010/09/22(水) 13:44:22ID:???で、おまいら揃いも揃ってGIFとJPEGの特性を知らないの?
特性を知った上でJPEGのほうがふさわしいと判断して、
さらにその上で圧縮率を見定めるのが筋ってもんだろ。
あとささやかな材料だけど、
JPEGで圧縮されたものを展開してるわけだから、
アルゴリズムの簡単なGIFに比べればCPUを食うのはJPEGのほうだと思う。
これは正直憶測だけどたぶんあってる。
0263nobodyさん
2010/09/22(水) 13:52:37ID:???(画像1枚1枚に対して特別な処理を行うわけではない場合)
画像くっつけて1枚にしたほうがいいよね?
携帯の場合容量制限があるけど
0265261
2010/09/22(水) 13:56:00ID:???俺も「性能上〜」には脊髄反射でねーよと思って>>261のレスをしたんだが
俺の認識も間違ってるのか?
せっかく知識を持っているなら、煽りだけで終わらずに間違いを正してくれた方が
みな幸せになれると思うぜ?
>>263
リクエストの回数も減るから一枚の方が良い
あと携帯だと縦に並べる場合だと↓↓こんな事で悩まないといけないから
一枚の方が楽
[携帯]画像を縦に隙間なく並べる方法 ver02 │ これからゆっくり考L +α
http://sakaki0214.com/2010/09/06232248.html
0266250
2010/09/22(水) 13:58:22ID:???改めて
PNG画像からJPEG画像を作成してます。
作成されたJPEG画像に、『黒い外枠』が付いてしまいます。
何がいけないのでしょうか??
if($image_size["mime"] == "image/png"){ //Png画像だったら
$new_img = @imagecreatefrompng($fullpath); );//$fullpath:PNG画像の場所
imagejpeg($new_img, $fullpath_jpg); //$fullpath_jpg:JPG画像の保存場所
}
0267255
2010/09/22(水) 14:13:32ID:???>>261のあとに>>262を書き込んでしまったけど、これは書き込み中の時間差。
おまいの認識は間違ってないと思います。
とりあえずここの住人のJPEGとGIFの特性くらいはみんな知ってるという前提の元に、
とりあえずみんなを代表して>>255の脊髄反射を書いたけど、
いずれエライ人が(喜び勇んで)解説するだろうと思ってた。
あと正直>>253みたいなのもゴミ書き込みだと思う。
それを皮肉ったつもりでもあるがこの気持ちは責められても仕方ないな。
0268255
2010/09/22(水) 14:15:33ID:???GIFでもPNGでも同等と見なして良いよ、ということだけ伝えとく。
黒い枠の問題は他の諸氏に任せた。
0269nobodyさん
2010/09/22(水) 14:17:15ID:???0270nobodyさん
2010/09/22(水) 14:19:33ID:???今日は無知な人が叩かれ
本当可笑しなスレ
0272nobodyさん
2010/09/22(水) 15:02:27ID:???×昨日は無知に正論叩きつけた人が叩かれ
○面白い反応を期待してわざわざ無知を煽ったから叩かれた
×今日は無知な人が叩かれ
○今日は脊椎反射的なレスを自重している
0274nobodyさん
2010/09/22(水) 15:16:40ID:???imagecreatetruecolor() で作ったキャンバスを白で塗りつぶしてから
α付きPNGを上書きするようにしたらいけるんじゃないかな
0276250
2010/09/22(水) 16:13:27ID:???透過PNGのヒントや白キャンパスのヒントありがとうございました!
if($image_size["mime"] == "image/png"){
$new_img = @imagecreatefrompng($fullpath);
//同サイズのキャンパスをつくる
$background_img = imagecreatetruecolor($image_size["0"],$image_size["1"]);
//白く塗りつぶす
imagefill($background_img , 0 , 0 , 0xFFFFFF);
//キャンパスに画像を貼り付ける
imagecopy($background_img, $new_img, 0, 0, 0, 0,$image_size["0"], $image_size["1"]);
imagejpeg($background_img, $fullpath_jpg);
imagedestroy($new_img); //削除
imagedestroy($background_img);
}
0277nobodyさん
2010/09/22(水) 17:09:56ID:???0278nobodyさん
2010/09/22(水) 17:14:19ID:???0279nobodyさん
2010/09/22(水) 19:47:48ID:KE+VAC9I【連携ソフトウェア】PHPMyAdmin
PHP&MYSQL初心者です。
変数からデータベースへとデータを登録したいのですが、
『クエリの送信に失敗しました。
SQL:INSERT INTO DB名 VALUES( '各変数の値',)』
と表示され登録できません。
上のエラー文の際に記載した値がきちんと表示されているので変数の受け渡しはきちんと行われていると思うのですが・・・・
ご教示願います。
コードは以下の通りです。
<?php
require_once("DB.php");
$*** = $_POST['***'];
$*** = $_POST['***'];
$*** = $_POST['***'];
$sql = "INSERT INTO sf36 VALUES('".$***."', '".$***."', '".$***."',)";
$result = executeQuery($sql);
?>
0280nobodyさん
2010/09/22(水) 19:52:36ID:???0281nobodyさん
2010/09/22(水) 20:02:51ID:???sqlの書き方以前に文字定数のルールを無視している
ttp://oshiete.goo.ne.jp/qa/2876075.htmlの真ん中あたり参照
0282281
2010/09/22(水) 20:05:41ID:???0283nobodyさん
2010/09/22(水) 20:15:00ID:???VALUESの最後の要素のあとにコンマつけたらダメなんじゃね?
phpのarray()はどっちでもいいらしいけど
0284nobodyさん
2010/09/22(水) 20:18:52ID:7dYmP39I必要な文字の置換ってございますか?
文字列はファイルに記録します
$str = 不特定の人物により入力される不特定長文字列
$str = htmlspecialchars($str, ENT_QUOTES);
0285nobodyさん
2010/09/22(水) 20:18:56ID:???別にSQL間違っちゃいねーぞ?
あれだ最後にカンマが無駄に多い
もしくはそこをNULLにするならちゃんと書け
0286nobodyさん
2010/09/22(水) 20:22:27ID:???0287nobodyさん
2010/09/22(水) 20:25:55ID:???ファイルに記録するだけなら「不特定の人物により入力される不特定長文字列」をそのまま記録しとけ。
その後、htmlに出力するなら2行目の処理と共に出力すればいいし、sqlに入れるならsql用のエスケープ処理をすればいい。
0289nobodyさん
2010/09/22(水) 20:33:54ID:???【質問内容】
サーバからYahooに自動でログインするにはどうしたらいいでしょうか
hiddenを全てURLに入れてPOST送信してもできませんでした
0290nobodyさん
2010/09/22(水) 20:37:17ID:???>SQL:INSERT INTO DB名 VALUES( '各変数の値',)
DB名なのか? テーブル名じゃなく。
0293nobodyさん
2010/09/22(水) 21:16:55ID:7dYmP39Iそのまま記録した場合は取り出す時はどのようにしたらよろしいでしょうか?
0294nobodyさん
2010/09/22(水) 22:27:47ID:pnBUUkY6あんたそのままphp+mysqlの入力、出力、更新、削除をここで聞くつもり?
本かって読めよ。
http://www.phppro.jp/これ見るとか。
<? while ( $item = mysql_fetch_array( $result2 ) ) { ?>
0295nobodyさん
2010/09/22(水) 22:29:47ID:???バカは直らないなwwwwwwwwwwwww
0296nobodyさん
2010/09/22(水) 22:34:25ID:pnBUUkY6おれ>>294の答えだしたつもりだけど、間違っている?
0297nobodyさん
2010/09/22(水) 22:36:12ID:pnBUUkY6でしょう?
出力間違っている?
0298nobodyさん
2010/09/23(木) 00:54:17ID:???0299nobodyさん
2010/09/23(木) 10:14:29ID:arHUaaQP$link = "http://www.hoge.com/pic/hoge.jpg"
と、内部リンク
$link = "../pic/hoge.jpge"
$link = "/public_html/pic/hoge.jpg"
とを見分ける関数はありますか?
0300nobodyさん
2010/09/23(木) 10:29:22ID:???0301nobodyさん
2010/09/23(木) 14:38:18ID:y1pwafIuAタグで本の詳細ページなどにリンクするとき、ハイパーリンクに書名を書きたいと思っています。
<a href="/bookdetail/title/ごんぎつね">本を見る</a>
このときタイトルの「ごんぎつね」の部分はurlencode()必須なんでしょうか?
ブラウザや文字コードによって違うのかどうなのか調べてもよくわからなくて困っています。
(smarty的には /title/{$bookTitle|urlencode} って感じかな? 蛇足ですが…)
urlencode必要だとしたらなぜ必要なのか、教えてもらえると嬉しいです。
php5使っています、よろしくお願いします。
0302nobodyさん
2010/09/23(木) 14:48:36ID:???URIの構文
http://tools.ietf.org/html/rfc1945#section-3.2.1
実際はブラウザが勝手にエスケープするからほとんどの場合は大丈夫なんだけどね
0303nobodyさん
2010/09/23(木) 17:20:54ID:Xr2qd2I61.ユーザーがIDとPASSを登録(仮登録)
↓
2.会員のメアドにメールが届く
↓
3.メールに記入されているアドレスにアクセス
↓
4.登録終了(本登録)
と、ここまでのシステムは一応、作れました。
しかし、2のメールに載せる本登録用のURLに、ユーザーのメアドかIDをエンコードしてパラメータとして付けて
本登録ページでデコードして$_GETで受け取るようにしているのですが、ここが良くわかりません。
base64_encodeでやるとパラメーターの前後に==という文字列が入ってしまって見栄えが最悪です。
プロの方はこの辺りをどう処理されていらっしゃるのでしょうか?
0304nobodyさん
2010/09/23(木) 17:28:25ID:???2. ==が入ると見栄えが悪いと思うおかしな感性を捨てる。
0305nobodyさん
2010/09/23(木) 17:29:37ID:???0306nobodyさん
2010/09/23(木) 17:35:45ID:???0307nobodyさん
2010/09/23(木) 17:36:13ID:???0308nobodyさん
2010/09/23(木) 17:36:56ID:???1.ID(メールアドレス)を登録(仮)
↓
2.登録したメールアドレス宛に本登録URLを送る
↓
3.パスワードを設定してもらう(本)
こうする
0309nobodyさん
2010/09/23(木) 17:39:09ID:???照合があって固有IDと一致した場合本登録用データベースにデータを移行する
データは有効期限を設定して時間以内に照合がなかった場合はタスクで削除される
0310nobodyさん
2010/09/23(木) 17:45:59ID:???1.メアド・ID・PASSを登録して貰ってDBに仮登録(Flagというカラムに0で登録)
↓
2.本登録でFlagを1にする。
すみません、正確にはこうでした。
ということは、別にbase64でも良いんですね。
下手にシステム作ってプロの方に「プゲラwwwwww素人乙wwwwwww」
って思われたくなかったので…。
他の方の意見も参考にさせて頂きます。
ありがとうございました。
0311nobodyさん
2010/09/23(木) 17:51:22ID:???0312nobodyさん
2010/09/23(木) 17:52:52ID:???0314nobodyさん
2010/09/23(木) 19:10:01ID:???phpとSQLのデータベースを使ったのしか知らないのですが、他にどんな構成がありますか?
0316nobodyさん
2010/09/23(木) 19:40:47ID:???他の構成を知りたがる理由がわからない。
まずはPHP+MySQLで掲示板を作ってから次を考えても良いのでは?
一度でも何かを作ると他の構成でも容易にこなせる技能を身に付けられるよ。
0317nobodyさん
2010/09/23(木) 19:45:08ID:t81TY9DG【質問内容】
サーバからYahooに自動でログインするにはどうしたらいいでしょうか
hiddenを全てURLに入れてPOST送信してもできませんでした
0318nobodyさん
2010/09/23(木) 19:48:28ID:???データ保存場所にファイルとか
ネットワーク上の何かが来ても良い様に作れ
ただし切り替えは保存するクラスのみを変える事
これで出来ればある程度なんでも出来るようになるかもしれない
0320nobodyさん
2010/09/23(木) 19:50:53ID:???http://developer.yahoo.co.jp/other/oauth/
プログラムからアクセスしたいのならOAuthをお使いください
0323314
2010/09/24(金) 01:10:32ID:IsRiwJnf本当に目からウロコなアドバイスありがとうございます。
これからphpとMySQLを学んでとりあえず作成してみることにします
0324nobodyさん
2010/09/24(金) 01:52:11ID:4goExQXi何を切り替えるんだ?
0325nobodyさん
2010/09/24(金) 02:19:14ID:???0327nobodyさん
2010/09/24(金) 06:34:11ID:iCmL00OPバックエンドでPHPが実行されてログ集計が行えるものを作りたいと思っています。
execやsysytem関数で呼び出す方法じゃなくて
上記のような事が出来る関数があったと思うのですが、忘れてしまいました。
心当たりがある方は教えていただけないでしょうか?pearとかではないです。
0329nobodyさん
2010/09/24(金) 07:11:07ID:???0331nobodyさん
2010/09/24(金) 07:25:12ID:???0332331
2010/09/24(金) 07:30:27ID:???0334327
2010/09/24(金) 08:32:08ID:???以前このスレで教えてもらったのですが、忘れてしまって・・・。
とりあえず、これからAjaxで処理する方法を試してみます。
0335nobodyさん
2010/09/24(金) 08:52:51ID:???全部出力した後に処理しても?
0336nobodyさん
2010/09/24(金) 09:18:32ID:???PHPが終わってくれんとHTTPとしての締めが行われないんじゃない?
0337nobodyさん
2010/09/24(金) 09:29:13ID:???0339327
2010/09/24(金) 10:11:41ID:???その間、Ajax実行元のページも読み込み中のままになってしまい、
バックエンドで動かすのは無理でした・・。
>>338
それが見あたらなくて・・。コテハンでもないので、自分の投稿も覚えてないです。
0341nobodyさん
2010/09/24(金) 11:15:05ID:???0342327
2010/09/24(金) 11:29:29ID:???それだと、パスがサーバ毎に変わると思うんです。
それにあまりコマンドを実行するのも不安ですし。
とりあえず、もう少し調べます。
0343nobodyさん
2010/09/24(金) 11:34:16ID:???というか頻繁に表示されるページに<img src="cron.php" width=1> みたいに埋め込んで
やればいいんじゃないか
0344nobodyさん
2010/09/24(金) 11:35:52ID:???0345327
2010/09/24(金) 11:40:00ID:???それも試しましたが、処理に時間がかかる場合は
ずっと読み込み中になります。(cron.phpにsleppを入れてテストしました)
wordpressのcronってそんなのがあるんですね。ちょっと調べてみます。
0347nobodyさん
2010/09/24(金) 12:45:49ID:NDRyKYW2これって、継承先で、オリジナルのクラスに既にあるクラスのメソッドやプロパティを
丸ごと利用できつつ、新しいメソッドを加えたりプロパティの値を変更して使える機能だと
理解してるんですが間違いないでしょうか?
そうだとすると、継承先で「メソッドを加えたり値を変更したり」しないのであれば
継承する意味がない(継承先クラスの中身{}の記述がカラになる)から
最初からオリジナルのクラスを利用すれば良いってことですよね?
0348nobodyさん
2010/09/24(金) 12:56:30ID:???向こうはこの時間でもアクティブユーザー多いから
0350nobodyさん
2010/09/24(金) 13:13:43ID:???その考え方でだいたい合ってるよ。
でも中身に変更のない場合でも継承して定義することもあるよ。
わかりやすくするためとかの目的でね。
例えばJavaにあってPHPにはないFileNotFoundExceptionっていう例外があるんだけど、
名前の通りファイルが見つからなかった時投げる例外と分かるから、
class FileNotFoundException extends Exception {
}
と、これだけ書かれたクラスをPHPで定義してたりそういうこともするよ。
0353nobodyさん
2010/09/24(金) 13:32:14ID:???http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/io/FileNotFoundException.html
本家も継承するだけで何もしてないよ
0354nobodyさん
2010/09/24(金) 13:52:50ID:???別にそれがダメって言ってる訳じゃないよ
class FileNotFoundException extends Exception {
}
これはちゃんと
ファイルが無いエラーだよ
っていう意味があっての継承で
ただ解りやすくするためというのは若干違う
ただエラーだよと返す事もできるが
それじゃcatchした時に詳細がわからんからな
継承は継承元の一種で振る舞い等が違うから継承するのであって
上書きできるから継承するっていうのは継承としてはどうなの?という事
実際コード書く上では上書きするために継承するとかの方が楽だけどね
0355nobodyさん
2010/09/24(金) 16:29:12ID:???俺的には凄い違和感あるんだけど、必要なんだろうね。
0356nobodyさん
2010/09/24(金) 18:44:38ID:5mEmp/FRという変数があり、if文で
if($a == ""){
}
という判定をかけると、なぜかこの処理の中に入ってしまって
いるようです。
これは正常な動作なのでしょうか?
また、正常系の場合、通常この処理はどのように行うべきか
ご教示いただけますと幸いです。
よろしくお願いいたします。
0357nobodyさん
2010/09/24(金) 18:45:56ID:???0358nobodyさん
2010/09/24(金) 18:54:41ID:???0359nobodyさん
2010/09/24(金) 18:57:56ID:5mEmp/FR即レス感謝です。
やはり "" と 0 は等価だったんですね。
こないだまでPerlをやっていたので、ここで結構つまずきました。。
ありがとうございました。
0360nobodyさん
2010/09/24(金) 19:01:24ID:???一度は型のきつい言語に触れてくれ…
0361nobodyさん
2010/09/24(金) 19:01:29ID:5mEmp/FR$a === ""
と書くことで、「$aは定義されているけど空文字」という
意味になるのでしょうか。
すみません。
0362nobodyさん
2010/09/24(金) 19:04:06ID:???Perlも使ってる俺の肩身が狭くなるっ!
0363nobodyさん
2010/09/24(金) 19:05:50ID:5mEmp/FR不快な思いにさせてしまいごめんなさい。
これ以上書きませんので許してください。
失礼しました。
0364nobodyさん
2010/09/24(金) 19:08:09ID:BFSvi/T0詳しく見てないけど
こんなのやってくれてる人いるよ
もう一度言う 詳しくは見てない
0365nobodyさん
2010/09/24(金) 20:00:09ID:???マニュアルにあるし
0366nobodyさん
2010/09/24(金) 22:45:19ID:39V4jcsO0367nobodyさん
2010/09/24(金) 22:50:29ID:???ていうかスレ違い
0370nobodyさん
2010/09/25(土) 02:34:21ID:???ブラウザの描画がブロックされるのは
XMLHttpRequest#open() を同期で呼んでしまってるとか組み方に問題がある
分からなかったらJavaScript板で聞いてくれ
>>366
echo でもいいし、HTMLと同じように <?php ?> の外へ書いてもいい
あと Content-Type ヘッダにphp.iniの default_mimetype(デフォルトだと"text/html") が使われるんで
必要なら header('Content-Type: application/xml'); などセットしてやる
0372nobodyさん
2010/09/25(土) 03:19:57ID:???取得っていうからてっきり藏側の話かと思ったわ
クライアントに送出するxmlやらjsonやらってことね
0373nobodyさん
2010/09/25(土) 07:55:42ID:5eiUdC6Bのような複数スペースが空いてるのを
「aaa bbb」というように1つにするにはどうすればいいのでしょうか?
str_replaceで置換すると思ったのですが、
同じ文字を複数→1つに出来ないと思い、質問しました。
0374nobodyさん
2010/09/25(土) 08:26:08ID:/+0QJSqIwhile ($row = $res -> fetchRow(MDB2_FETCHMODE_ASSOC)){
とやると、DBが並んでるデータ順にでてくるんですが、
$res = $mdb2 -> query('SELECT * FROM `foo` order by key');
while ($row = $res -> fetchRow(MDB2_FETCHMODE_ASSOC)){
とやると(keyは主でINT型です)
Fatal error: Call to undefined method MDB2_Error::fetchRow() in (whileのある行)
というエラーがでます
どういうことで、どうしたら直りますでしょうか
0375374
2010/09/25(土) 08:30:29ID:/+0QJSqIorderのところをvarchar型(アルファベットがはいってます)で照合順序utf8_unicode_ciにしているものに変えるとちゃんと五十音順に表示されました
INT型だとなにか特殊な指定などがいるんでしょうか?
0376nobodyさん
2010/09/25(土) 09:01:44ID:???if (MDB2::isError($res)) {
var_dump($res->getMessage());
}
とでもして中身みれば?
0377nobodyさん
2010/09/25(土) 09:13:34ID:???回答ありがとうございます
string(24) "MDB2 Error: syntax error"
というエラーが出てます
並べ替えするのに照合できないなにかがあるんでしょうか
keyには数字しかはいってません(auto_incrementで自動で連番になってるだけです)
種別はINTです
0378374
2010/09/25(土) 09:23:29ID:???keyっていうフィールド名は使わないほうがよいんでしょうか
0379nobodyさん
2010/09/25(土) 09:25:50ID:???DB側としては``で括ってないからSQLの構文エラー返してるんだよ
0382nobodyさん
2010/09/25(土) 09:32:54ID:???まあなんだ、テーブル名のfooをちゃんとバッククオートで囲んでるのに、
keyの方は剥きだしってのを直したら、keyって名前のままでもいけるかもね。
でも、
>keyっていうフィールド名は使わないほうがよいんでしょうか
その方が習慣としては良いと思う。
0383nobodyさん
2010/09/25(土) 09:38:34ID:???予約語でもバッククオートで括れば予約語ではないフィールド名として扱えるってことですね
危なそうな単語は使わないように習慣づけます
ありがとうございました
0385nobodyさん
2010/09/25(土) 12:10:01ID:Ra4M62ePあれはどうやって作ってるんですか?
0386nobodyさん
2010/09/25(土) 12:10:45ID:Ra4M62eP×tukaeruyo
○tasukeruyo
0388nobodyさん
2010/09/25(土) 13:13:30ID:???ソース見てないからテキトーだけど
if(ereg("fusianasan",$name)){
$name=$ip;
}
みたいな処理をすればよいんじゃね?
要は名前がこうだったらこうするよってだけだし
0389nobodyさん
2010/09/25(土) 13:22:17ID:Ra4M62eP0390nobodyさん
2010/09/25(土) 13:46:46ID:???0391nobodyさん
2010/09/25(土) 13:56:53ID:???0392nobodyさん
2010/09/25(土) 14:47:49ID:???2chの仕様通りじゃないけどこんな感じでやればいい
0394tasukeruyo
2010/09/25(土) 15:10:08ID:???0395nobodyさん
2010/09/25(土) 16:09:02ID:???"php" == 0 の件、
文字列と数値の比較の場合は文字列が数値にキャストされるので
"php"は0と評価され、trueとなります。
なので>>356の例($a = 0 で $a == "")は、>>357-359の解釈は若干誤りで、
""(空文字列)が数値にキャストされて0と評価されるのでtrueとなります。
>>361のように $a === "" とした場合は、値は同値ですが型が異なるのでfalseとなります。
0397nobodyさん
2010/09/25(土) 17:13:39ID:???PHP5.3だとエラーになる
0398nobodyさん
2010/09/25(土) 17:15:20ID:???ttp://events.php.gr.jp/events/show/101
ttp://phpcon.php.gr.jp/2010/
行けない人は→ttp://www.ustream.tv/channel/phpcon2010-a
0400nobodyさん
2010/09/25(土) 17:16:52ID:W1bFgA20〜が含まれる場合、というのはどう書くのが推奨なんでしょうか?
perlだと
if($foo =~ /bar/){
みたいに書きますけど、phpだとエラーになりました
現在は、>>388と同じようにeregを使ってるんですが、使わない方がいいのでしたらよい書き方をしたいです
よろしくお願いします
0401nobodyさん
2010/09/25(土) 17:20:05ID:???マニュアルに代替の関数書いてあるから嫁
ttp://php.net/manual/ja/function.ereg.php
0402nobodyさん
2010/09/25(土) 17:31:28ID:W1bFgA20ありがとうございます。
if(preg_match("/bar/",$foo)){
に変更することにします
0403nobodyさん
2010/09/25(土) 17:35:30ID:???strposとかでいいよ・・・
0404nobodyさん
2010/09/25(土) 17:42:25ID:???if(strpos($foo,"bar")){
存在すれば位置を返すからtrueになるって解釈でいいんでしょうか?
ありがとうございます。
0405nobodyさん
2010/09/25(土) 18:15:47ID:???0406nobodyさん
2010/09/25(土) 18:17:42ID:???if("" != strpos($foo,"bar")){
こうでしょうか?
preg_matchよりstrposの方が処理が速いんですかね
0407nobodyさん
2010/09/25(土) 18:32:04ID:lqN4c8Xi例えば最初"http://hibari.2ch.net/php/" "php" と登録したら
serach.txt
--------------------------------
http://hibari.2ch.net/php/,php,【PHP】下らねぇ質問はID出して書き込みやがれ 98,【PHP】フレームワーク CakePHP 9ホール目【1.3】,...
--------------------------------
つぎに"http://hibari.2ch.net/php/" "google" と登録したら
serach.txt
--------------------------------
http://hibari.2ch.net/php/,php,【PHP】下らねぇ質問はID出して書き込みやがれ 98,【PHP】フレームワーク CakePHP 9ホール目【1.3】,...
http://hibari.2ch.net/php/,google,Google AppEngine 3アプ目,Google App Engine 3アプ目,...
--------------------------------
となるような感じでカンマ区切りで記録していきたいです.
テキストの保存の方法でもっといい方法はありますか?
0410nobodyさん
2010/09/25(土) 18:57:55ID:???これがインストールされていれば .htaccess 内で特定の国からのアクセスは禁止したり
違うページに誘導できたりするようになるのですが、いま使っているレンタルサーバーに
このGeoIPがインストールされて使える状態になっているかどうか調べるにはどうしたらいいでしょうか?
0412nobodyさん
2010/09/25(土) 19:03:21ID:???http://pecl.php.net/package/geoip
これの事を言っているのなら、peclコマンドで入ってるかどうか調べてみては?
ただ別途ライブラリも必要みたいだけど。
0413nobodyさん
2010/09/25(土) 19:16:11ID:???subject.txt使って文字列抜き取れば
http://hibari.2ch.net/php/subject.txt
0414nobodyさん
2010/09/25(土) 19:17:31ID:???インストールされてなくて入れられなければVPSに乗り換えるのも検討する
今は低価格で良いサーバが借りられるし
0415nobodyさん
2010/09/25(土) 19:28:46ID:???相手が嫌がらせでちょっとタグ変えただけでオワル
APIがないとこからは取る気おきない
0416410
2010/09/25(土) 19:54:12ID:???レンタルサーバーなので特定のコマンドを打って動作を確認することができないのが痛いところです・・・
>>414
最近じゃ月300円くらいから使えるレンタルサーバーとかありますよね
0417nobodyさん
2010/09/26(日) 00:27:13ID:???とするべきところを間違えて
<?php $_SERVER['SCRIPT_NAME'] ?>
と書いてしまったところ,動きました.
これはやってはいけないやり方でしょうか?
0418417
2010/09/26(日) 00:30:42ID:???自己解決というか勘違い.
はずかすい
0419nobodyさん
2010/09/26(日) 02:08:52ID:XvkZ4p7S上記の文字列の<a></a>で囲まれた部分に関数(今回はurlencode)
を適用したいのですが、何かよい方法はありませんか?
preg_replaceを使用し、\\2などの元文字に関数を
適用したいと思ったのですがうまくいきませんでした。
どなたかご教授お願いします。
0420nobodyさん
2010/09/26(日) 02:16:38ID:???0422nobodyさん
2010/09/26(日) 04:37:39ID:XvkZ4p7S掲示板のユーザーから受け取った文字列を書き換えたいので、ダメなのです。
すみません。
>>421
$val = "あの<a>2ちゃんねる</a>がモバイルに";
preg_replace(/(<a>)(.+)(<\/a>)/","<a href ='./index.php&word=\\2'>ひろゆき</a>",$val);
($valは変動する文字列と考えてください。)
\\2の部分にurlencodeやセキュリティー対策の関数を適用したいのです。
preg_replaceでなくともいい方法があればお願いします。
0423nobodyさん
2010/09/26(日) 05:23:46ID:???それをencodeしたものをpreg_replaceで置き換える
<?php
$val = "あの<a>2ちゃんねる</a>がモバイルに";
$regex = "/<a>(.*)?<\/a>/";
if (preg_match($regex, $val, $matchs)) {
$enc = urlencode($matchs[1]);
$val = preg_replace($regex, "<a href=\"./index.php&word={$enc}\">ひろゆき</a>", $val);
}
echo $val;
0424nobodyさん
2010/09/26(日) 05:53:28ID:XvkZ4p7Sありがとうございます。
wikipediaっぽく、受け取った文章中のすべての<a>○○</a>を
置き換えたいのです。
提示していただいた方法だと、複数の対象ができた場合、
preg_matchで取得したものを、置き換える場所に個々に一致させる必要があります。
できれば一度の処理で変換できる方法はないでしょうか?
0425nobodyさん
2010/09/26(日) 05:55:57ID:???0426nobodyさん
2010/09/26(日) 05:56:17ID:???function lnk($matches) {
$url = './index.php?' . http_build_query(array('word' => $matches[1]), '', '&');
return sprintf('<a href="%s">ひろゆき</a>', htmlspecialchars($url, ENT_QUOTES));
}
$val = "あの<a>2ちゃんねる</a>がモバイルに";
echo preg_replace_callback('#<a>(.+?)</a>#s', 'lnk', $val);
0427nobodyさん
2010/09/26(日) 06:45:51ID:XvkZ4p7Sうわぁ一見では理解できない・・・。
ありがとうございます。
これでいいのかどうかが、私のレベルではわからないので
>>426をじっくり解析しながら勉強して出直してきます。
みなさん本当にありがとうございました。
0428nobodyさん
2010/09/26(日) 13:13:49ID:???/home/○○○/Smarty/common.php on line 145
ってエラーが表示されるのですがどうすればいいでしょうか?
0431nobodyさん
2010/09/26(日) 13:22:15ID:???0433nobodyさん
2010/09/26(日) 13:25:07ID:???http://php.net/manual/ja/function.ini-set.php
ini_set("memory_limit", 128M);
の一行をファイルに追加しとけばいい
0434nobodyさん
2010/09/26(日) 13:34:02ID:???配列のキー指定時なんかにダブルクォーテーションかシングルクオーテーションかで悩む
コードの出所によってバラバラだったりして結局ソース内に混在して
気持ち悪いがわざわざ統一する理由もない
お前らどうしてますか?気にしない?
0435428
2010/09/26(日) 13:44:23ID:???追加したのですがFatal error: Allowed memory size of 41943040 bytes exhausted (tried to allocate 512 bytes) in
/home/○○○/Smarty/common.php on line 145
と表示されます。tried to allocate 35 bytesが512と変わっただけみたいです。
記入ミスとかでしょうか?
0436nobodyさん
2010/09/26(日) 14:20:01ID:???自分はZend Framework PHP 標準コーディング規約を基準にしてる
http://framework.zend.com/manual/ja/coding-standard.coding-style.html
0437nobodyさん
2010/09/26(日) 14:23:07ID:???オレオレ仕様に半分なってるわ
0438nobodyさん
2010/09/26(日) 15:16:49ID:???という妄信的な理由でそっち使ってる。短いコードだからそんな微妙な早さとか関係ないんだけどね
0439nobodyさん
2010/09/26(日) 15:18:54ID:???0441nobodyさん
2010/09/26(日) 15:22:53ID:???String型はダブルchar型はシングルにしてるな
0442nobodyさん
2010/09/26(日) 15:23:15ID:q4FftNdHわかりやすく解説していただけないでしょうか?
お願いします
0443nobodyさん
2010/09/26(日) 15:24:39ID:???それはSQLっていう言語なのでデータベース板に行ってください
http://hibari.2ch.net/db/
0444nobodyさん
2010/09/26(日) 15:25:14ID:???変数いれたいけど"のたびにescapeまんどくせって思っちゃう
0445nobodyさん
2010/09/26(日) 15:26:13ID:q4FftNdHPHP側に記述するソースの話でも板違いなんでしょうか?
0446nobodyさん
2010/09/26(日) 15:28:03ID:q4FftNdH>>443
回答ありがとうございました。お礼忘れてた・・・
0447nobodyさん
2010/09/26(日) 15:32:15ID:???PHPを使ってデータベースサーバに問い合わせを行ってるわけで
その文自体はPHPとは直接関係ない
>>1にも書いてあるでしょ
> 【その他諸注意】
> ・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0449nobodyさん
2010/09/26(日) 19:13:56ID:???一応、誘導しておく
http://hibari.2ch.net/db/
でも過疎ってるからね…
0450nobodyさん
2010/09/26(日) 19:55:12ID:Jo67o0kRaタグからのアクセスとimgタグからのアクセスを判別することは可能でしょうか?
aタグでのアクセスではページを
imgタグからのアクセスでは画像を出力したいのです。
宜しくお願いします。
0452nobodyさん
2010/09/26(日) 20:52:56ID:Qwm7T4hv携帯からなのでID変わります
ランキングサイトに多数登録しているのですが
ほとんどのランキングサイトでINよりOUTを多く見せる為に
OUTのURLを1×1ピクセルのimgタグを使ってカウントを増やしています。そんなランキングを使うなと言われればそうなのですが、どのランキングもやってる状態でして。
で、そのimgタグが読み込まれる度に、こちらのindex.phpが呼び出されるので負荷が高くなります。
そこでimgタグからのアクセスの場合はこちらも1ピクセルの画像なんかを出力したいのですが、
PHPで処理しても負荷は変わりませんかね?
と言うか、可能でしょうか?
0456nobodyさん
2010/09/26(日) 22:47:37ID:Jo67o0kR携帯はまだ1/3はリファラ対応してないですし
imgタグでもリファラは吐くと思いますのでリファラの判別は不可能ですね
やっぱ判別する方法は無いですかね・・・
>>454
いや、もうその不正は普通ですよ。
携帯専用サイトはソースが見られないと思ってやりたい放題ですから
逆にINよりOUT少ない方のが信用できますが少ないです。
>>455
晒しはさすがに可哀想かな・・・汗
pcから普通に見てもimgタグの部分は見られません。
mrank.MEGArankを使ってるランキングはほとんどそうです。
OUT率の悪いサイトのOUTURLを表示させる独自タグがありまして
それを使うといい感じにOUTの数字が増やせるんですよ。
0457nobodyさん
2010/09/26(日) 22:59:19ID:???その発想がわからん
0458nobodyさん
2010/09/26(日) 23:01:46ID:???SEOなんざ汚れてなんぼ
良い子じゃ結果はついてこない
0459nobodyさん
2010/09/26(日) 23:50:53ID:???0460nobodyさん
2010/09/26(日) 23:52:47ID:???0461nobodyさん
2010/09/27(月) 01:00:34ID:UWQKEOZ6こっちがびっくりだよ
0462nobodyさん
2010/09/27(月) 01:21:17ID:???0463nobodyさん
2010/09/27(月) 03:56:36ID:???<?php
$key = pack('H*', "8C35192D964DC3182C6F84F3252239EB4A320D2500000000");
$iv = pack('H*', 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF');
$iv = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $iv, MCRYPT_MODE_ECB);
$dh = opendir('./');
while (($file = readdir($dh)) !== FALSE) {
if (preg_match('/^(.+)\.rsdf$/', $file, $m)) {
$f = $m[1];
$data = file_get_contents($file);
$data = pack('H*', $data);
$data = base64_decode($data);
$data = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CFB, $iv);
$lines = explode('CCF: ', $data);
array_shift($lines);
$fh = fopen($f. '.txt', 'wb');
foreach ($lines as $line) {
fwrite($fh, $line."\n");
}
fclose($fh);
}
}
closedir($dh)
0464nobodyさん
2010/09/27(月) 10:35:31ID:???いつもの人ですか?
0465nobodyさん
2010/09/27(月) 11:37:08ID:???ttps://web-tan.forum.impressrd.jp/q/201010offmeeting
0467nobodyさん
2010/09/27(月) 14:51:58ID:???アクセスされた側に何か違いが分かるのかという質問だろ
分からないからって変なとこに噛み付いてるヤツがいるな
知恵袋かここは
0468nobodyさん
2010/09/27(月) 16:31:45ID:5rzeHvzlexec()を使って、コマンドを実行し、実行結果が取得したいのですが
「at」コマンドだけなぜか結果が取得できず困っています。
exec('echo "hoge"',$result);
# $result -> hoge
exec('at -f at.sh now + 1minute',$result);
# $result -> NULL
コマンドの実行自体は成功しているのですが、
system()と同じく強制的に標準出力されてしまいます。
いったい、どうすればいいのでしょうか?
0469nobodyさん
2010/09/27(月) 16:50:08ID:???おまえも回答せず住人に噛みついてるだけじゃないか
つか答えてやりたいが何度読んでもなにを言ってるかわからないんだよ
むしろ読めば読むほどわからなくなる
ランキングサイトの運営やってるのか参加者なのか
どうなっててそれをどうしたいのか
0470nobodyさん
2010/09/27(月) 16:58:14ID:???手元に環境なくて試せないが、atコマンドの結果が標準出力では無いのでは?
↓これでどうだろう?
exec('at -f at.sh now + 1minute 2>&1',$result);
0471nobodyさん
2010/09/27(月) 17:51:11ID:???そこらのランキングサイトはもうそんなの通用しないようになってるでしょ
0472nobodyさん
2010/09/27(月) 18:04:07ID:???そういうことしてるサイトはどんどん晒し者にしてくれ
0473nobodyさん
2010/09/27(月) 18:36:17ID:???atの結果が欲しいのか、atで指定した at.sh の結果なのか?
質問の結果はatの結果ではないかと思うが。
0476nobodyさん
2010/09/28(火) 08:55:29ID:QwKdPwv2【PHPのバージョン】5.26
【連携ソフトウェア】Actionscript3.0(FlashDevelop)
echoの仕方についてです。
$fp = fopen("./data.txt", "rb")
$contents = stream_get_contents($fp);
↑で読み込んだテキストデータなのですが(動作は確認済み)、
actionscript側に、うまく渡すことができません……。
○echo "comp="."完了"."0";
×echo "comp="."完了".$contents;
×echo "comp=".$contents;
↑のような描き方なのですが、
正常に表示されたのは○のついたものだけでした……。
なぜでしょうか?
よろしくお願いします。
0477477
2010/09/28(火) 09:10:26ID:QwKdPwv2○echo "comp="."完了".$num; //$num = 0
また、>>47の×のついた2パターンを実行すると
何も表示されませんでした。
更にいうと、actionscript側の話になりますが、
どうやらloaderのCOMPLETEイベントを達成していないみたいなのです……。
0479nobodyさん
2010/09/28(火) 12:48:01ID:???echo $contents だけだとどうなる?
print $contents の場合は?
0480nobodyさん
2010/09/28(火) 13:07:16ID:???0481nobodyさん
2010/09/28(火) 13:09:43ID:???0482nobodyさん
2010/09/28(火) 13:46:12ID:???printでも一緒じゃん
0483nobodyさん
2010/09/28(火) 13:48:56ID:p2mX25rgテーブルAからSELECTで受け取ったデータをテーブルBに入れたいと思っているのですが
$result = $dbh->query($sql);
$row = $result->fetchAll(PDO::FETCH_ASSOC);
で受け取った配列が
Array ( [0] => Array ( [id] => 0000 [pass] => 0000 [mail] => xxxx_xxxx@xxxx.co.jp [birth] => 2000/6/15 [sex] => 1 [hash] => 2e910fer4bd1e1caafg61781 )
という感じで、これを
$insql = "insert into `user` value(\"{$row[id]}\",\"{$row[pass]}\",\"{$row[mail]}\",\"{$row[birth]}\",\"{$row[sex]}\")";
$stml = $dbh->query($insql);
としてクエリ発行しているのですが
print_r()でリクエストの中身を表示させると
PDOStatement Object ( [queryString] => insert into `user` value("","","","","") )
となってしまい、INSERTできません。
どうすればデータを入れられるのでしょうか?
0484nobodyさん
2010/09/28(火) 13:49:03ID:???echoは文字列を評価しない
0485nobodyさん
2010/09/28(火) 14:00:21ID:???最近のはどれでもSELECT結果をINSERTできるからそっちでやればいい
INSERT INTO `user`
SELECT `id`, `pass`, `mail`, `birth`, `sex` FROM unko;
0487nobodyさん
2010/09/28(火) 17:28:42ID:???とりあえず、
>$insql = "insert into `user` value(\"{$row[id]}\",\"{$row[pass]}\",\"{$row[mail]}\",\"{$row[birth]}\",\"{$row[sex]}\")";
valueじゃなくて、values じゃないの?
でも、
http://hibari.2ch.net/test/read.cgi/db/1276247839/405
からするとMySQLみたいだね。
>>485が正解。
0488483
2010/09/28(火) 17:42:09ID:???SUGEEEEEEEEEEEEEEE!!!!!!
マジパネェっす先輩!
かっけぇっス!
0490nobodyさん
2010/09/28(火) 20:51:41ID:???制御構造だろ
0492nobodyさん
2010/09/28(火) 21:09:57ID:???構文は構文だ
日本語マニュアルじゃ制御構造とまるで名詞扱いだが言語の構造という意味合い
>>491
言うに事欠いて無知、ねぇ
echoは構文だから右辺に持って来ればシンタックスエラーになって当然
printは関数だから式として評価できる
0493nobodyさん
2010/09/28(火) 21:15:33ID:???0495ちんぴら
2010/09/28(火) 21:27:19ID:???そうっスね。だが文字列を評価については間違い
引数はどちらも評価されるし、
展開の事を言ってるのならそれは文字列リテラルをシングルクォートかダブルクォートで書くかで決まる
0496ちんぴら
2010/09/28(火) 21:42:27ID:???サーセンwww
0497nobodyさん
2010/09/28(火) 22:17:11ID:???0499468
2010/09/28(火) 22:55:57ID:YVGjdndOありがとうございます!
無事、取得できました。
0500nobodyさん
2010/09/28(火) 23:47:15ID:???>>479でprint $contents と書いたのは、色々試したのか聞きたかっただけ。
printとechoの違いで盛り上がることになるとは思わなかった。
ちなみに制御構造じゃなくて言語構造な。
0501476
2010/09/29(水) 07:11:26ID:VYhAt3Fb>>479
$contentsの中身はテキストファイルに書き出して正常を確認しました。
改行コードの問題かとも思ったのですが……。
>>500
phpとactionscriptの連携で見たサイトの全てが、
echo "comp=".変数
となっていたのと、一部にprintはやめろと書かれていたので
printは試していませんでした。
一応試してみたら、やっぱり駄目でした。
0502nobodyさん
2010/09/29(水) 10:50:33ID:???分からないのに無理に答える必要なんてないのにね
0503nobodyさん
2010/09/29(水) 11:16:59ID:???0504nobodyさん
2010/09/29(水) 11:41:05ID:AW7qXGB4【連携ソフトウェア】Apache、MySQL
PHPの設定がもともと magic_quotes_gpc=on; となっています。
自分でoffに変えることができますが、
前の担当者がonのままにしてstripslashesを多用しています。
今回offにする必要が出てきたのですが、影響はありますか?
onでもoffでも使えるように、よく下のような方法がとられるようですが、
そのような方法は組み込まれていないようです。
offにしてstripslashesを使うと問題が出るのでしょうか?
if (get_magic_quotes_gpc()){
$text = stripslashes($text);
}
どうぞよろしくお願いします。
0505nobodyさん
2010/09/29(水) 12:05:39ID:???テスト環境を作っておかないといろいろ困るぞ
0506nobodyさん
2010/09/29(水) 15:30:30ID:lyrqwiNJhttp://jp2.php.net/manual/ja/function.stripslashes.php
バックスラッシュが取り除かれた文字列を返します(\' が ' になるなど)。 2 つ並んだバックスラッシュ (\\) は 1 つのバックスラッシュ (\) になります。
期待している文字列が変化する可能性があるので影響あろう
にしても質問範囲が広すぎて答えられないのが正解
0507nobodyさん
2010/09/29(水) 17:25:48ID:???あんたはバカげてると思うだろうけど、このレベルのことでつまづく人は
大抵何か些細なケアレスミスが原因だったりする。
バカげてると思うようなことでも一応やってみると原因がわかることもある。
0508nobodyさん
2010/09/29(水) 17:30:54ID:???まぁ、stripslashesを検索して全部削除するのが無難だろうな。
もしくは>>504のif文を含んだ関数を作ってstripslashesを置換するとか。
0509nobodyさん
2010/09/29(水) 17:37:55ID:AW7qXGB4アドバイスありがとうございます。
stripslashesが使われている箇所の数が多いですが、
地道に消そうと思います。
テスト環境も時間のあるときに作ろうと思います。
ありがとうございました!
0510nobodyさん
2010/09/29(水) 18:51:24ID:ohuXeJ7TのようにパラメータにURLが入るとref.phpが403 Forbiddenになります。
ref=ttp://www.google.co.jp/ですと表示されます。
多分セキュリティ的な設定のせいと思うのですが
設定の名称教えていただけませんでしょうか。
0511nobodyさん
2010/09/29(水) 18:55:41ID:???0512nobodyさん
2010/09/29(水) 19:34:13ID:???0513nobodyさん
2010/09/29(水) 19:36:07ID:???&はURLの中では変数を切り分ける意味合いがある。
log.php?a=1&b=2
ってするとa=1,b=2を渡せるわけ。
で、URLに&が入ってると、こっちの意味とわけわかんなくなる。
ref = http://www.google.co.jp/&ua=ie
と渡したいんだったら、渡す値をURLエンコードして
渡した先のプログラムでデコードして使うのがセオリー。
0514nobodyさん
2010/09/29(水) 19:52:06ID:ohuXeJ7Thttp://image.3-a.net/?re=http%3a%2f%2fwww.google.co.jp%2f
http://image.3-a.net/?re=ttp%3a%2f%2fwww.google.co.jp%2f
この様になります。
サーバのライブチャットで担当に言えば何とかなると思うのですが
何せ英語が全然でして。
cpanelのphp.ini QuickConfigなどで設定できないかと思い質問してみました。
0515nobodyさん
2010/09/29(水) 20:17:49ID:ohuXeJ7Tもうhttp抜きでやろうと思います。
ありがとうございました。
0516nobodyさん
2010/09/29(水) 20:28:16ID:???クリックしたらサーバ側で処理をするようなものなら
エンコードデコードができてhttpが含まれない方法ででやればいいんじゃない?
base64_encode() base64_decode()あたり使うとか
0517nobodyさん
2010/09/29(水) 20:45:31ID:ohuXeJ7Tbase64でいけそうな感じです!
Google Analytics携帯版での作業だったのですが
うまくga.phpでデコードされてanalyticsに表示される事を祈ります。
ありがとございました!
0518nobodyさん
2010/09/29(水) 21:10:34ID:NnO/2D7Z【OS名】WinXP SP3
【PHPのバージョン】5.3.3
【連携ソフトウェア】Apache2.2
【質問内容】
上記環境に「ふたば(改)動画板」を導入したところ、
画像のアップロードや動画の投稿は問題ないのですが
サムネイルが生成されません。特にエラー等も表示されません。
以下の点は確認したのですが、他に解決に向けての
ヒントがあれば教えていただきたいです。
・スクリプト側で、サムネイルを生成する設定になっていること
(生成しない設定も試してみたが同じ)
・スクリプト側で、サムネイルを保存するパスが間違っていないこと
・サムネイルを保存するフォルダ名が間違っていないこと
・サムネイルを保存するフォルダが読み取り専用になっていないこと
・php.iniにてphp_gd2.dllのコメントアウトが外されていること
・extension_dirが想定通りであること
0519nobodyさん
2010/09/29(水) 21:40:17ID:???ttp://gch.uni.cc/
0520nobodyさん
2010/09/30(木) 00:13:37ID:???0521nobodyさん
2010/09/30(木) 05:45:06ID:I9MDDWo92010-09-01
2010-09-02
2010-09-03
というデータと
2010-07-00
2010-08-00
のようなデータ(年月のみ)が混在している場合、
前者をxxxx年yy月zz日、
後者をxxxx年yy月
というようにフォーマットしたいのですが、
効率の良いやり方はありますでしょうか?
よろしくお願いします。
0522nobodyさん
2010/09/30(木) 05:57:07ID:???http://jp2.php.net/manual/ja/ref.datetime.php
0523518
2010/09/30(木) 07:18:09ID:YkwDopQPすみません、その本家で質問掲示板みたいなのが
見つからなかったのでここに書いたのですが…
0524nobodyさん
2010/09/30(木) 08:10:07ID:???それとも君は僕たちにソースを読んで解決方法見つけろとおっしゃるわけ?
0525nobodyさん
2010/09/30(木) 08:24:37ID:???'-'で年月日を分けて、日がゼロだったら(以下略
だろうけど、きっと何でもあるPHPならもっと便利な関数があるに違いない。
俺は知らんけど。
0527518
2010/09/30(木) 12:44:25ID:Jf2uMKoj>>524
すみません。
スクリプトの名前を出したのは話を分かり易くする為のつもりでした。
勘ですがPHPの導入段階でミスを起こしている気がしていたのでここに書きました。
で、その勘は当たってたみたいでC:\Windowsにphp.iniを入れ忘れていたので
GD他ライブラリが読み込まれておらず、結果サムネイルが生成されてないっぽいです。
しかし、C:\Windowsにphp.iniを放り込むとスクリプトが上手く動作しなくなります。
スクリプトの拡張子をhtmlに変えたような、ソースが見える状態になってしまいます。
php.iniをC:\Windowsに入れなければ一応スクリプトは動きますので、
Apache側の設定は大丈夫だと思うのですがphp.iniの何処をチェックしたら良いでしょうか?
0528518
2010/09/30(木) 12:48:05ID:Jf2uMKoj使用しているphp.iniは同梱のphp.ini-developmentをベースに
ネット上の情報を参考にして書き換えたものですが、
php.ini-developmentをphp.iniにリネームして編集せずに
C:\Windowsに放り込んでも同じ現象が起きます。
0530nobodyさん
2010/09/30(木) 16:22:13ID:xlyY++2I今日作った料理は美味しくなかった
料理はイタリアンです。おいしくなるヒントを下さいレベル
エスパーしか答えられない
0531518
2010/09/30(木) 17:41:42ID:bBmLZhr9すみません。他にどんな情報があれば良いのか分からないんです。
初心者用の質問スレは無いんでしょうか?
0532nobodyさん
2010/09/30(木) 17:52:35ID:???残念ながら、>>518の質問は、「下らねぇ質問」じゃないんだよ。
同じ状況を現場で解決する能力のある人はこのスレにいっぱいいるけど、
それを2chのスレでのやりとりで解決するにはたいへんな手間がかかる。
>>530の例えじゃないけど、絵の描き方を電話で聞いてるようなものだ。
0533nobodyさん
2010/09/30(木) 17:58:19ID:???0534nobodyさん
2010/09/30(木) 18:01:54ID:???自分でつくったスクリプトじゃないと答える方も難しいかな
まずエラーがでないというのは、本当にエラーが無いからなのか
php.iniでエラーを抑制しているのか、スクリプトで@つけてるせいなのかわからない
gdについては、phpinfo()でGD Support が enabledになっているか確認して。
0536nobodyさん
2010/09/30(木) 18:26:15ID:???0537527
2010/09/30(木) 19:26:25ID:YkwDopQPありがとうございます。質問を変えます。
php.iniを指定するとスクリプトがHTML扱いされて中身が見えます。
ttp://imepita.jp/20100930/694720
スクリーンショットをうpしてみましたがこんな感じになります。
php.iniがないと普通に動作しますが、GDが読み込まれてない(phpinfoで表示されてない)ので
使いたいスクリプトでサムネイルが生成されません。
pathで指定されてるところにphp.iniが無い場合、どこから設定を読んでるんでしょうか?
それをベースに設定を変えていけば動かせそうな気がするんですが…
>>529さんの貼ってくれたサイトに従ってphp.ini、httpd.confを設定してみましたが状況は同じです。
0538527
2010/09/30(木) 19:27:27ID:YkwDopQPあと
×スクリプトがHTML扱いされて中身が見えます。
○スクリプトがHTML扱いされたように中身が見えます。
です。
0540nobodyさん
2010/09/30(木) 19:39:32ID:???0541527
2010/09/30(木) 20:04:52ID:YkwDopQP落としてきたスクリプトの一行目が「<?」だけだったので
「<?php」にしたら動きました…
ググってみたらPHP5はデフォルトでショートタグがオフなんですね。
ていうかショートタグなんて今初めて知りました(´;ω;`)
散々スレ汚して本当にすみませんでした。
こんなアホに付き合ってくれた方に本当に感謝です。
ありがとうございました。
0542nobodyさん
2010/09/30(木) 20:16:32ID:???0543nobodyさん
2010/09/30(木) 20:30:29ID:???捨ててしまえ
0544nobodyさん
2010/09/30(木) 20:31:59ID:???0545nobodyさん
2010/09/30(木) 21:16:21ID:xlyY++2Iあぁ おいらのコードは見られると穴だらけだなw
0547nobodyさん
2010/10/01(金) 00:55:26ID:???0548nobodyさん
2010/10/01(金) 01:22:52ID:???0549nobodyさん
2010/10/01(金) 01:23:42ID:???・ショートタグ
・文字コードがShift-JIS
・extract
・タグを閉じたり開いたり忙しい
・echo "{$var}";
・ファイルの先頭・要所にコメントがない、
あってもコード見たら分かる事しか書いてない(仕様を書かないと意味がない)
・1行がやたらと長い
・$_GETとか$_POST配列扱う時にisset使わず分岐したりしてる(警告出るちゅーねん!)
…書き出したらきりがないのでこのあたりにしておく
0551nobodyさん
2010/10/01(金) 01:44:11ID:???0552nobodyさん
2010/10/01(金) 01:48:55ID:???基本的に、関数(もしくは言語構造)の本来の意味を考えて使い分けてる、
”あるかどうか”を調べたいのならisset
”無いかどうか”を調べたいのならempty
$_GETとかで使うのはほぼ前者
0553nobodyさん
2010/10/01(金) 01:53:57ID:???isset($_GET['name'], $_GET['email'], $_GET['body']);のように複数渡せるからというのもある
0554nobodyさん
2010/10/01(金) 01:54:18ID:JW8iU96Hこれって
$hoge = $_GET['hoge'];
がだめっていってるんだよね?
$hoge = null;
if (isset($_GET['hoge'])) {
$hoge = $_GET['hoge'];
}
にしろってことだよね?
もしいっぱいあった場合ってすべての$_GET $_POSTに対してこの処理をするの?
10個ぐらいあるとだいぶ間抜けに見えそうなんだけど
なんかいい記述方法あるかな?
0555nobodyさん
2010/10/01(金) 01:56:53ID:???判断基準が全然違うので目的にあったものを使う
どちらも未定儀の変数に対する挙動は null の場合と同じ
is_null()
> var が null の場合に TRUE、 それ以外の場合に FALSE を返します。
empty()
> varが空でないか、0でない値であれば FALSE を返します。
>
> 次のような値は空であると考えられます。:
>
> * "" (空文字列)
> * 0 (0 は整数)
> * "0" (0は文字列)
> * NULL
> * FALSE
> * array() (空の配列)
> * var $var;(変数が宣言されているが、クラスの中で値が設定されていない)
0557nobodyさん
2010/10/01(金) 02:06:44ID:JW8iU96Hあとでよくマヌアルみてみる
ありがとう
0558nobodyさん
2010/10/01(金) 07:01:53ID:???0559nobodyさん
2010/10/01(金) 10:06:47ID:Jbi45SFJ$bar = preg_replace("/あ/","い",$bar);
}
$a = "あいうえお";
foo($a);
echo $a;
と書いたんですが、
あいうえお
と出力されてしまいます。
いいうえおに変換されるようにするにはどこが間違ってますでしょうか
0562nobodyさん
2010/10/01(金) 10:19:36ID:???+ function foo(&$bar){
0564nobodyさん
2010/10/01(金) 10:22:30ID:???0565nobodyさん
2010/10/01(金) 10:28:19ID:???preg_replace("/あ/u","い",$bar);
ってしないとうまく動かないかも。
0567nobodyさん
2010/10/01(金) 11:33:39ID:???0568nobodyさん
2010/10/01(金) 11:35:37ID:???0569nobodyさん
2010/10/01(金) 11:35:40ID:???0570nobodyさん
2010/10/01(金) 11:43:12ID:???return 'いいうえお';
}
$a = 'あいうえお';
echo foo($a);
0571nobodyさん
2010/10/01(金) 14:30:05ID:???0572nobodyさん
2010/10/01(金) 14:39:42ID:???0574nobodyさん
2010/10/01(金) 15:01:22ID:???その程度の認識だからPHPがゴミ扱いされるんだよ
0575nobodyさん
2010/10/01(金) 15:07:51ID:???そうじゃなくて、>>549-554の言うようにisset等でチェックする意味あるの?
$var=$_GET["var"] 等とした後に$varの内容を目的に応じてチェックするんじゃ
だめなの?
0576nobodyさん
2010/10/01(金) 15:26:09ID:???0577nobodyさん
2010/10/01(金) 15:36:01ID:???チェックしないと警告でるじゃん
てか、あらゆる入力(入力なしの場合も含む)を想定して
プログラムしないと、後々バグのすくつになる
0578nobodyさん
2010/10/01(金) 16:02:36ID:???error_reporting(E_ALL | E_STRICT);
を設定して、あらゆる操作で一切の警告が出ないことが前提条件
0579nobodyさん
2010/10/01(金) 16:12:42ID:???$_GET["var"]が存在しないとき、
$var=$_GET["var"]
とすると警告出る?記憶にないんだが。
0580nobodyさん
2010/10/01(金) 16:13:50ID:???設定次第
0581nobodyさん
2010/10/01(金) 16:16:28ID:???その場合代入できるわけないでしょ
0583nobodyさん
2010/10/01(金) 16:30:59ID:???E_ALLはphp4にもある
それに$var=$_GET["var"]これでエラーが出る設定は
E_NOTICEを出力する場合だからE_ALLだけで十分
5.3とか関係ないな
0584nobodyさん
2010/10/01(金) 16:39:55ID:???これって、つまり$_GET["var"]が存在しないのに評価しようとしてWarningが出るってこと?
配列だからエラーになるの?
$var=$a($aは未定義)の場合もエラーになるの?
0585nobodyさん
2010/10/01(金) 16:48:29ID:???0586nobodyさん
2010/10/01(金) 17:56:49ID:???先頭に
error_reporting(E_ALL);
つけてやればわかるだろ
まぁ予想通りの結果>>585になるが
0588nobodyさん
2010/10/01(金) 18:10:31ID:???0589nobodyさん
2010/10/01(金) 18:28:01ID:???0590nobodyさん
2010/10/01(金) 19:04:14ID:/wsXjKAq0593nobodyさん
2010/10/01(金) 19:44:38ID:???0594nobodyさん
2010/10/01(金) 19:48:17ID:???釣りとしか思えない
0598nobodyさん
2010/10/01(金) 20:17:46ID:???>>593は単純なprintもwhileで10回まわして表示するタイプ
0600nobodyさん
2010/10/01(金) 21:19:30ID:???>>599
スレに張り付きすぎ少しゆとりを持て
0601nobodyさん
2010/10/01(金) 21:21:30ID:???ってどんだけ単純な頭なんだよ
0602nobodyさん
2010/10/01(金) 21:55:01ID:???プロジェクトリーダーの理解 : Unicode修飾子が怪しくね?
アナリストのデザイン : 正規表現使うなカス
プログラマのコード : function foo($bar) { return 'いいうえお'; }
得られたサポート : 過去ログ10回読め
顧客が本当に必要だったもの : 参照渡し
0603nobodyさん
2010/10/01(金) 22:01:40ID:???0605nobodyさん
2010/10/01(金) 23:17:39ID:???スレ相応しいくだらないくだりを必死で考えたことは褒めてやろう
0606nobodyさん
2010/10/02(土) 00:20:26ID:2C+2SXQ6もうしばらくメンテナンスがされておりません。
それを使ってみたのですが、いくつか動かない個所を見つけました。
apacheのエラーログにエラーが残ってないので、スクリプトのエラー
はなくバグで動いていないかと思うのですが、こういったものの一般的な
デバッグはどのように行うのでしょうか?
PHPはほぼ初めてで、でバッギングツールがあるのかどうなのかもわかっていません。
0607nobodyさん
2010/10/02(土) 00:34:52ID:???0608nobodyさん
2010/10/02(土) 00:49:00ID:???デバッグはxdebugを使う
開発環境と連携するには
http://www.vkazoo.com/?p=260
0609nobodyさん
2010/10/02(土) 03:18:46ID:???設定次第でどこにでもエラーログを作れるので
必ずしもapacheのログにある訳ではない
あとそのオープンソースのって何?有名所のなら
ちゃんとコミュニティとかはあると思うけど・・・
>>608
別にxdebugじゃなくても良いけどな
デバッガなんて開発環境に合わせて選べば良いんじゃない?
0610nobodyさん
2010/10/02(土) 06:50:18ID:???ソース読めるならおかしいと思う辺りにデバッグ用のprint文とかを
入れてみるのが早い。
あぁ、PHP初めてでしたか
0611nobodyさん
2010/10/02(土) 11:36:38ID:???0612nobodyさん
2010/10/02(土) 11:45:41ID:???0613nobodyさん
2010/10/02(土) 11:57:15ID:???printはprint_rの書き間違いだと思うけど
0614nobodyさん
2010/10/02(土) 12:10:07ID:???0615nobodyさん
2010/10/02(土) 12:13:19ID:???たいていはprint_rでやってるけど
ログに書き込むときに便利だし
0616nobodyさん
2010/10/02(土) 12:42:53ID:???echo '<pre>';
var_dump($var);
echo '</pre>';
}
0617nobodyさん
2010/10/02(土) 13:36:21ID:???0618nobodyさん
2010/10/02(土) 14:34:56ID:???鯖で動かしていると無理だな
0619nobodyさん
2010/10/02(土) 14:59:48ID:???0620nobodyさん
2010/10/02(土) 16:05:29ID:???0621nobodyさん
2010/10/02(土) 17:36:19ID:???var_dumpかvar_exportで2番目の引数をtrueにする
0622nobodyさん
2010/10/02(土) 17:40:42ID:???某大手家電メーカの情報部はみんなprint_r使ってるぞ。
(みんなっちゅうか教育でそう教えられるのかも知れんが
何かあるごとにprint_rみせて print_rみせて って聞こえるし
「すみません。ココが動かないんですけど」って新人の問いに print_r使えばいい
って言ってる。
ちなみに今そこの会社の人間に
「PHPのバグではまった」ってメール送ったら
「print_rで見ればいい 」 っていわれた。
0623nobodyさん
2010/10/02(土) 18:00:31ID:???>「PHPのバグではまった」ってメール送ったら
矛盾してないか?
0624nobodyさん
2010/10/02(土) 18:12:17ID:???エラー文字列をDBに保存して見てるわ
0627nobodyさん
2010/10/02(土) 18:35:41ID:l4wTIWl0空白のある文字列をそのまま渡したいんですが、GETだと空白の所で途切れてしまうんです。
どうやればいいんでしょうか?
0629627
2010/10/02(土) 18:55:08ID:l4wTIWl00630nobodyさん
2010/10/02(土) 19:11:10ID:???次は人が書いたコードのデバッグにチャレンジしてみようと思っています。
PHPってCの用に頭から読んでいくのが一般的なのでしょうか?
0631nobodyさん
2010/10/02(土) 19:41:48ID:???0632nobodyさん
2010/10/02(土) 20:07:54ID:???何カ月かかるんだよ
0633nobodyさん
2010/10/02(土) 20:15:19ID:???0634nobodyさん
2010/10/02(土) 20:17:02ID:???0635nobodyさん
2010/10/02(土) 20:25:46ID:???Cはmainから動くことが決まってるけど、PHPなんてどこから呼び出されるかわからん
0636nobodyさん
2010/10/02(土) 20:39:32ID:???0637nobodyさん
2010/10/02(土) 20:53:14ID:???0638nobodyさん
2010/10/02(土) 21:48:54ID:???0639nobodyさん
2010/10/02(土) 22:03:17ID:???0641nobodyさん
2010/10/02(土) 22:21:36ID:???エントリポイントとなってるスクリプトの<?phpが先頭だろ
そこからおってけばどーとでもなる
0642nobodyさん
2010/10/02(土) 22:32:23ID:???全コードを網羅しているわけではないっしょ。
マジであほなの?
それともマジでわかってない?
0643nobodyさん
2010/10/02(土) 22:39:52ID:???0644nobodyさん
2010/10/02(土) 22:41:05ID:???一旦includeしてるファイルを読み込んだあとに
エントリポイントから順に実行してくだけだろ
それ以外での実行順序があるなら知りたいわw
ちなみにエントリポイント=mainという事を指してるわけじゃないからな?
0645nobodyさん
2010/10/02(土) 22:46:23ID:???と揚げ足を取ってみるテスト
0646nobodyさん
2010/10/02(土) 23:31:14ID:???0647nobodyさん
2010/10/02(土) 23:57:04ID:???扱う人のレベルが低すぎるんだな…
0648nobodyさん
2010/10/03(日) 00:09:36ID:???CとかPythonに挫折した連中の巣。
0649nobodyさん
2010/10/03(日) 00:19:15ID:???PHPの中身がCとC++なのに挫折したのに作れるんだな
0650nobodyさん
2010/10/03(日) 00:20:45ID:???あと一番使われてるってどこの数字?
明らかに数でいえばPerlだろ。
0651nobodyさん
2010/10/03(日) 00:23:01ID:???GNOMEとかPerl無いと動かないし
0652nobodyさん
2010/10/03(日) 00:24:21ID:???日本語がわかりづらくてどういう意味かわからないけど、
それで言ったらアセンブリは全プログラマができるってこと?
0653nobodyさん
2010/10/03(日) 00:29:49ID:???使ってる、なんて断言できるもんでもないと思うけど
まあ、簡単だしPHP。
0654nobodyさん
2010/10/03(日) 00:31:45ID:???C言語が扱える時点で挫折してない連中が作ってるだろ
結局苦労して難しいことやってるのはそのCプログラマであって
PHPプログラマはプログラマって呼べるかどうかも怪しい
0655nobodyさん
2010/10/03(日) 00:43:45ID:???なんかC言語にコンプレックスがあるやつがいるみたいだけど。
0656nobodyさん
2010/10/03(日) 00:44:50ID:???0658nobodyさん
2010/10/03(日) 01:07:08ID:???それは他の言語も同じだろ。オープンソースでなんでも揃う。
大抵のプロジェクトでは独自の便利な部品持ってるし。
言語よりも、「層」を理解した方がいいぞ。
0659nobodyさん
2010/10/03(日) 01:12:02ID:???0660nobodyさん
2010/10/03(日) 01:14:07ID:???0661nobodyさん
2010/10/03(日) 01:16:18ID:???PHPでつくったらなんでもオープンソースだと思ってるのかこいつ・・
こいつがかいたコード危ないな・・
0662nobodyさん
2010/10/03(日) 01:18:20ID:???0663nobodyさん
2010/10/03(日) 01:19:59ID:???0664nobodyさん
2010/10/03(日) 01:20:56ID:???こいつの知識にもなるんだし
むだかもしれんけど
0665nobodyさん
2010/10/03(日) 01:53:25ID:???今さら議論することでもないな
0666nobodyさん
2010/10/03(日) 02:13:59ID:???0667nobodyさん
2010/10/03(日) 08:50:34ID:xREippUy今はwhileで全ての行を書き換えています。
0668nobodyさん
2010/10/03(日) 09:03:09ID:V+S/ga5Q全てだけど特定なのね。
0671nobodyさん
2010/10/03(日) 09:11:59ID:???ありがとうございます。
最初に覚えたのが、where foo = $barみたいに特定の行を指定してのUPDATE方法だったので、
わざわざwhileで$barを++させながら1行ずつやってました
whereで行を特定させなければよかったんですね
0672nobodyさん
2010/10/03(日) 11:23:57ID:xREippUy項目に数値を追加したくて、
SET `foo` = foo+1
としたのですが、
フィールドfooが数値があれば+1されるんですが、NULLだとされません
NULLの場合に追加する方法教えてください
0673nobodyさん
2010/10/03(日) 11:31:47ID:???if($row[foo] == NULL){
でNULLだったら0入れてやればいけました
0674nobodyさん
2010/10/03(日) 12:17:47ID:3FmHKfz0【PHPのバージョン】5.2.5
【質問内容】 preg_match_allの最短一致で、下記のデータから
<TR>と</TR>タグで囲まれた部分を取り出したいんですが、うまくいきません。
$pagedata
<TR><TD>YAMAHA1</TD></TR>
<TR><TD>KORG2</TD></TR>
<TR><TD>KORG3</TD></TR>
preg_match_all("/<TR>.*?KORG.*?<\/TR>/sui", $pagedata, $match);
上記のデータに対しこのコードを実行すると、
$match[0][0]には<TR><TD>YAMAHA1</TD></TR><TR><TD>KORG2</TD></TR>、
$match[0][1]には<TR><TD>KORG3</TD></TR>が格納されるのですが、
ちっとも最短一致ではない気がします。
最初に一致した文字列の後に同じ文字列が出た場合、
.*?の量指定子は最短にならんから開始位置を変更とか
気を利かしてくれるわけではなく、最後の文字列が見つかった時点で
検索をやめる、というだけの機能を持つのでしょうか。
ちなみに$pagedataに格納されるデータには改行がありません。
どなたかご存知の方、お教えください。
0675nobodyさん
2010/10/03(日) 12:33:43ID:???申し訳ないが、質問の意図を理解するために、以下の部分を解説ください。
> ちっとも最短一致ではない気がします。
あなたが考えている最短一致であれば、どの様な結果が得られることを想定されていたのでしょうか?
また、preg_match_all がどの様な動作をすることを想定されてたのでしょうか?
0676nobodyさん
2010/10/03(日) 12:36:42ID:???一番最初に引っかかったものだけとりたいならpreg_match使うと思うけど
preg_match_allは引っかかるもの全部取るから
0677nobodyさん
2010/10/03(日) 12:43:06ID:???ちなみにそのパターンの<TR>.*?KORGで.*?の部分に<TD>YAMAHA1</TD></TR><TR><TD>が入って当たり前です
0678674
2010/10/03(日) 13:31:10ID:???なるほど、よく分かりました。
<TR>で始まりKORGを含み</TR>で終わる文字列で最短のものを抜き出そうとしていたのですが、
あのパターンでは抜き出せなくて当たり前なのですね。
改行を加えてもう一回作り直すことにします。ありがとうございました。
0679nobodyさん
2010/10/03(日) 18:23:34ID:xcbjzXzrネットでこのようなコードを見かけたのですがこれは変数の中身をそのまんま出力するという意味ですか?
0680nobodyさん
2010/10/03(日) 18:40:10ID:???と同義
使わないほうがいい
0681nobodyさん
2010/10/03(日) 18:47:13ID:???0682nobodyさん
2010/10/03(日) 18:57:08ID:???全部phpの場合はむしろ閉じたらいけない
理由は忘れた
プログラムの終端に改行を入れたらだめとか
なんかそういう説明してるHPに書いてあったな
0684nobodyさん
2010/10/03(日) 19:11:41ID:???0685nobodyさん
2010/10/03(日) 19:42:45ID:V+S/ga5Q> ファイルの先頭に<?php書いて閉じないほうが見やすくて良い
「閉じる」そんな言葉に憧れる年頃なんです。許してやってください。
0687nobodyさん
2010/10/04(月) 00:03:39ID:2MPeos+U0688nobodyさん
2010/10/04(月) 00:05:45ID:0ApRMxGiデータマイニングのデータがなくて困っている。
0689nobodyさん
2010/10/04(月) 00:34:07ID:???0690nobodyさん
2010/10/04(月) 00:37:55ID:0ApRMxGi協調フィルタリングのデータを生成したら意味ねーだろ(笑)
なんていうのかな、はてなブックマークみたいにタグで関連付けられたデータ
みたいなAPIでもcsvでもいいんだけど・・・
0691nobodyさん
2010/10/04(月) 00:46:16ID:???0692nobodyさん
2010/10/04(月) 01:16:04ID:???0693nobodyさん
2010/10/04(月) 03:41:46ID:???Xamppの同フォルダにある場合はINSERTできたのですが、デスクトップ等に置いてあるが画像はINSERTできませんでした。
画像のパスの関係のようですが、どうすれば解決できますか?
0694nobodyさん
2010/10/04(月) 04:19:32ID:???0695nobodyさん
2010/10/04(月) 06:59:11ID:oDHTZ/dyecho" 【画像を選んでください】<br><br><br>";
echo"<form method='post' action='image.php' enctype='multipart/form-date'>";
echo"<input type='file' name='image' />";
echo"<input type='submit' name='submit' />";
echo"</form><br><br>";
echo"</tr></td></table></div>";
このように書いています。
同一フォルダ以外の画像を選ぶと
Warning: file_get_contents(003.jpg) [function.file-get-contents]: failed to open stream: No such file or directory in C:\xampp\htdocs\osusume\image_2.php on line 18
Warning: getimagesize(003.jpg) [function.getimagesize]: failed to open stream: No such file or directory in C:\xampp\htdocs\osusume\image_2.php on line 19
このように出ます。
0696nobodyさん
2010/10/04(月) 07:03:18ID:???色々と駄目なのは分かっているんですが
×action='image.php'
○action='image_2.php'
でした。これでも駄目です。
0697nobodyさん
2010/10/04(月) 07:12:29ID:???echoでフォームを出力しちゃってるところもさらに・・・
がんばれ・・・超頑張れ・・・としかいいようがない・・・
自信のPHPにPOSTする場合は
$_SERVER['SCRIPT_NAME']使うといいよ
アップロードされたファイルはサーバのtmpに格納されるので
それを自分のホームディレクトリに移動(コピー)しないといけない
たぶんその処理ができてないからファイルが見つからないと言われてるんじゃないかな
アップロードはされてるが移動(コピー)ができてないってオチだと思う
あとマルチはいかんよ
0698nobodyさん
2010/10/04(月) 07:37:50ID:???> フォームからPOSTでMySQLに画像を入れようとしているんですが、
> ローカルでのテストではXamppの同フォルダにある場合はINSERTできたのですが、
> デスクトップ等に置いてあるが画像はINSERTできませんでした。
>>695
何回も読み直したが「MySQLに画像を入れる」をどこでやっていますか?
どこにもMySQLに入れる処理が見当たりません。
INSERTできたといいますが本当にできていますか?
0699nobodyさん
2010/10/04(月) 07:45:46ID:???入れる方の処理はPOST先でやってます。
$dbh = new PDO($dsn, $user, $password);
$dbh->query('SET NAMES utf8');
$sql = "insert into image(member,img,mimetype) values (?,?,?) ";
$stmt = $dbh->prepare($sql);
$stmt->execute(array($member,$image,$mimetype[mime]));
これで一応、入れられています。
0700nobodyさん
2010/10/04(月) 08:10:39ID:???データベースのエラーじゃないんだし
そんな名前の画像が見当たらないよ言われてるんでしょ
画像を見当たるようにしないと
>Xamppの同フォルダにある場合はINSERTできたのですが、
これはアップロードされたファイルではなく
xamppの同じフォルダに元から入ってる画像を参照したからうまくいったわけで
アップロードしたファイルを参照したわけではないのでいわばバグ
xamppの同じフォルダにアップロードしたファイルを移動する処理をすればええのよ
0701nobodyさん
2010/10/04(月) 11:59:17ID:???file_get_contentsに前者入れてない?
0703nobodyさん
2010/10/04(月) 12:46:32ID:K3yYGIDv授業でPHPをやるんですけどxamppのインストール方法を教えてください
0705nobodyさん
2010/10/04(月) 12:49:46ID:???0706nobodyさん
2010/10/04(月) 15:25:41ID:K3yYGIDv親いないのでドラクエ9やって暇つぶしながら回答待ってみます
0707nobodyさん
2010/10/04(月) 15:36:41ID:???http://www.apachefriends.org/jp/xampp-windows.html#2619
0709nobodyさん
2010/10/04(月) 18:57:18ID:???}
みたいなことをやっているソースがあるのですが、
2つ目の引数はなぜそのような処理をしているのでしょうか?
$barに値をセットするだけであれば、
関数内で行えばいいと思うのですが。
0710nobodyさん
2010/10/04(月) 19:01:00ID:???0711nobodyさん
2010/10/04(月) 19:02:49ID:???0712709
2010/10/04(月) 19:09:48ID:???と呼び出した場合は、$barに1が入り
hoge( 1)
ト呼び出した場合は、$barに"baz"が入るということでしょうか?
すみませんが、なぜそのようなことになるのでしょうか?
=より優先度の高い代入があるとは思えないのですが・・。
0714nobodyさん
2010/10/04(月) 19:34:10ID:8v2C+34Bすべてconstant()関数を使ったほうがいいんでしょうか。
define('ENABLE_HOGE', true);
というようなtrue/falseを設定する定数があるとき、
if (defined('ENABLE_HOGE') && constant('ENABLE_HOGE')) {
...do something
}
という風に判断するのが良さそうですが、
定数の値をそのまま出力したいときなども、constant()関数を使うほうがよいのでしょうか。
みなさんifでの判断のとき/値を使うとき、それぞれどうやってます?
0716nobodyさん
2010/10/04(月) 19:45:36ID:???使わないし、必ずtrueかfalseで定義してあるはずのものならいちいち
definedでチェックするなんて冗長なこともしない。
if (ENABLE_HOGE) {
だけにすると思う。マニュアルにも
constant() はある定数の値を取得する必要があるが、 その名前が不明な
場合に有用です。これは、定数名が変数に保存されているか、 関数により
返されるかの場合です。
って書いてあるしな。そしてそんな必要に迫られたことはないので一度も
自分では使ったことないわ。
あとそもそもdefineも使わないなー。大抵クラスにするのでクラス内でconst。
0717nobodyさん
2010/10/04(月) 19:50:25ID:???if (ENABLE_HOGE) {
}
constantはデバッグ用には使うかもしれないが普通使わないと思われ
definedはユーザに配布するようなスクリプトで
間違ってコメントアウトされたような時でも正常に動くことを想定して使ったり
(通常そこまで世話見なくていいけど)
他のスクリプトのプラグインなどを作成してる場合
他のプラグインと被る可能性を想定して使うことはあるけど
そうでない場合は使わないと思われ
0718nobodyさん
2010/10/04(月) 20:11:04ID:8v2C+34Bなるほど。
その定数が必ず定義されている前提でコーディングするんですね。
複数人が編集したり、定数を加えたりするようなシステムの場合はどうでしょうか。
0719nobodyさん
2010/10/04(月) 20:13:11ID:???というか最初に定数項目の洗い出しぐらいはするべき
0720nobodyさん
2010/10/04(月) 20:15:31ID:???>>716にあるように定数名を文字列として変数に格納している場合などに意味がある。
プログラム中にconstant('ENABLE_HOGE')等と表記するのはナンセンス。
0721nobodyさん
2010/10/04(月) 20:16:45ID:???なればokでなったら直せばいい。
売り物のソフトで定義忘れの場合に親切なメッセージを出したいとかなら
使うのかもしれないけど、売り物だったらじかにdefine書かせたりは
しないかなぁ。よくわからん。
0722nobodyさん
2010/10/04(月) 20:20:11ID:???後から好き勝手につけたりなんてことは普通しない
むしろ勝手に追加したら問題だし
あとで追加していくっていうような事態がまず考えられない
設計にミスがあって追加するって場合はそれは仕様変更というものだ
0723nobodyさん
2010/10/04(月) 20:34:10ID:???その日の0時0分0秒を計算するにはどうしたらいいでしょうか?
0724nobodyさん
2010/10/04(月) 20:35:44ID:???0725nobodyさん
2010/10/04(月) 20:36:20ID:???0726nobodyさん
2010/10/04(月) 20:37:10ID:???0727nobodyさん
2010/10/04(月) 20:38:20ID:???どうやって表現でけいさんするんだwww
0728nobodyさん
2010/10/04(月) 20:39:57ID:???初心者なんだから優しく教えてやれ
正規表現(キリッ<煽り<ID出さない質問者
俺のウザさの順位
0729723
2010/10/04(月) 20:43:28ID:DrSvP9xKありがとうございます。
UNIXタイムから日時計算して、それをさらに年月日だけ渡してUNIXタイムを計算すればいいんですね。
ココまで考えられたので、なんとかできそうです。頑張ります。
>>728
すみません。>>1等は読んでいるのですが
sageてしまってましたね。
遅いかと思いますが、ageときます。
0731nobodyさん
2010/10/04(月) 21:18:22ID:1jHYo0w9下記のように複数のサイトで同じものを、./dard/dardr.phpの形式で配置しているのを見たので、誰かの個人的なものではないように思うのですが…。
http://www.google.co.jp/search?q=DARD+REDIRECTOR
構造を知らないままリンクを踏み続けるのが嫌なので、分かれば知りたいのですが…。
0732nobodyさん
2010/10/04(月) 21:27:58ID:???0733nobodyさん
2010/10/04(月) 21:55:44ID:VsipBJJZ【PHPのバージョン】5.1
【連携ソフトウェア】MySQL
【質問内容】
<?
echo $subject;
?>
$subjectに特定の言葉「tokutei」が入っている場合に、
その言葉だけを「*******」に置換して表示させたい場合はどうしたらいいでしょうか?
初歩的な質問かも知れませんがよろしくお願いします。
0734nobodyさん
2010/10/04(月) 21:58:04ID:xAyUD82v今考えてるのは型番抜いて管理する方法だけど、他に方法がないか模索中です
0736nobodyさん
2010/10/04(月) 22:12:05ID:Dkwhoo6BIDとパスワードではじく。
0738nobodyさん
2010/10/04(月) 22:18:50ID:Dkwhoo6B0739nobodyさん
2010/10/04(月) 22:19:13ID:xAyUD82vログイン付けてない不特定多数用なんだ。すまない。
>>737
やっぱりそれがベターかね。
それでやってみるよ。トンクス
0740733
2010/10/04(月) 22:55:32ID:LuSvKQN4ID変わってしまいましたがその方法でいけました
ありがとうございました
0743nobodyさん
2010/10/05(火) 11:16:14ID:7SJ2JjUO明日から学校で金曜の2時間目にプログラミングの選択教科があります
0744nobodyさん
2010/10/05(火) 11:40:54ID:O+r9qIdK明日は水曜だろw
0745nobodyさん
2010/10/05(火) 11:47:52ID:???0746nobodyさん
2010/10/05(火) 11:49:37ID:???昼間に2ch書き込んでる小学生がいるんだよ
0747nobodyさん
2010/10/05(火) 12:06:33ID:???0748nobodyさん
2010/10/05(火) 12:12:34ID:???0749nobodyさん
2010/10/05(火) 12:21:02ID:???ttp://www.nakamurakyoshitsu.net/youji/info/y_info15.html
0751nobodyさん
2010/10/05(火) 13:39:18ID:???自宅学習用に自宅のパソで建てて設定下手したらプライバシー大公開
の可能性もあるし
0752nobodyさん
2010/10/05(火) 13:41:35ID:???スルーしとけ
0753nobodyさん
2010/10/05(火) 13:48:13ID:???0754nobodyさん
2010/10/05(火) 14:22:11ID:???>>707 のインストール方法は試したの?
ダウンロードしただけで動かないのは当然。
ダウンロードして何をどう設定したのかをはっきりさせてくれないと何も教えられない
0755nobodyさん
2010/10/05(火) 18:33:15ID:???PHPでどういう処理をおこなっているのでしょうか?
Flickrに写真の色で検索するAPIの提供はないので、そのやり方が独自のエンジンを使っているようですが、
内部的にどうやっているのか。判りません。
http://color.slightlyblue.com/
0757nobodyさん
2010/10/05(火) 18:48:07ID:???0758nobodyさん
2010/10/05(火) 18:52:29ID:vy8xoNvz写真をバイナリで読み込んで一番多い色を検索するタグとしているのでは?
0759nobodyさん
2010/10/05(火) 19:48:06ID:???0760nobodyさん
2010/10/05(火) 22:13:01ID:???0761nobodyさん
2010/10/05(火) 22:14:20ID:???0762nobodyさん
2010/10/05(火) 22:45:55ID:QKUq9nFZ0763nobodyさん
2010/10/05(火) 22:56:01ID:???ソースダウンロードして自分で見極めろや
0764nobodyさん
2010/10/05(火) 23:19:05ID:+k5K8KaF名前空間の必要性は、クラス名が衝突したときのため。
ということでよいのでしょうか?
クラス名が衝突するなら名前変えればいいのに・・・とも思うのですが、
多人数開発ではそうもいかないと言うことなのでしょうか?
では、名前空間かつクラス名が衝突したらどうすれば?とも考えてしまいます。
0765nobodyさん
2010/10/05(火) 23:53:47ID:???名前空間がかぶるならかぶらないように修正するしかないんだよ
0766nobodyさん
2010/10/05(火) 23:54:27ID:???0767nobodyさん
2010/10/05(火) 23:58:14ID:???いいよ
>では、名前空間かつクラス名が衝突したらどうすれば?とも考えてしまいます。
名前空間は住所を記述するようなものなので普通衝突しえない
引越して先の住所に人が住み着いたら変更になるが
インターネット上で表すとドメイン名がそれに当たる
0768nobodyさん
2010/10/06(水) 01:59:54ID:ch9fVyH1理解できました。
ありがとうございます。
0769nobodyさん
2010/10/06(水) 05:42:32ID:pLXTowtb相手への負荷を極力さけるには、どのような方法がよいのでしょうか?
・get_headersを使う
・PEAR:HTTP_RequestでHEADリクエスト
・その他
get_headersって、内部的にはHEADリクエストしているんでしょうか?
わかる方がいましたら、よろしくお願いします。
0770nobodyさん
2010/10/06(水) 06:16:43ID:???もし使えるなら便利だからおすすめ
PEAR使うよりはいいと思う
>get_headersって、内部的にはHEADリクエストしているんでしょうか?
テスト環境で試してみた
Apacheのaccess.log見たらGETリクエストが来てるようだ
0771769
2010/10/06(水) 06:37:09ID:pLXTowtbCURLOPT_NOBODYをtrueにしておけば、HEADリクエストになるみたいですね。
なんといっても、allow_url_fopenがOffでもいけるのがいいですね。
(get_headersはたしかダメだったはず)
>>テスト環境で試してみた
Apacheのaccess.log見たらGETリクエストが来てるようだ
わざわざありがとうございます。
ヘッダ取得用の関数なのに、なんでGETリクエストなんだろう・・・
0772nobodyさん
2010/10/06(水) 09:27:40ID:qEiRZ2w4やろうとしたら型がリソース型なのでエンコードできないエラーが出た
リソースから画像バイナリを取り出す方法が調べてもわかりません、どうすれば良いのでしょう?
0773nobodyさん
2010/10/06(水) 10:50:14ID:???756です
写真をバイナリで読み込んでるってことですが、
Flickrの写真を全部読み込んでいるというのは考えにくいので、
まず赤ならタグでredで検索した上で、
その結果の中から赤じゃない写真を排除してるんとかでしょうか
Flickrの公式API以外の検索というのはできないとおもうんですが、
あくまでも、APIを一回経由して取得した画像群にヒストグラムなりでふるいをかけるというやりかただと思うんですがどうでしょうか?
0774nobodyさん
2010/10/06(水) 12:00:57ID:G1zo7uLEUAだけだとiOS4にした3Gなんかの区別が出来ません。
3Gと4Gを区別する方法はあるんでしょうか?
0775nobodyさん
2010/10/06(水) 13:45:38ID:???どうすればいい?
0776nobodyさん
2010/10/06(水) 14:06:41ID:???0777nobodyさん
2010/10/06(水) 16:01:30ID:XjVBnQmyob_start();
imagejpeg($thumb);
$buffer = ob_get_flush();
$memcache->add('img_'.$_GET["item_no"],$buffer);
こんな感じ?
バイナリそのまま入れても大丈夫なのかは不明
手元ではどうも動いてるっぽいが・・・
0778nobodyさん
2010/10/06(水) 20:26:06ID:3KpUSNpepythonで書かれてるのと、文章が読みづらいのと、俺が頭悪いのと・・・
都内、神奈川の喫茶店で一緒に勉強してくれる方募集したいんですけど
python→phpへプログラムの移植作業手伝ってくれる方誰かいない?
モチベーション維持が大変^^
0779nobodyさん
2010/10/06(水) 20:37:41ID:???0780nobodyさん
2010/10/06(水) 20:45:04ID:3KpUSNpeお茶代ぐらいは出しますよ^^
メールアカウント用意しました。
プログラマとしてコントローラ→アクション→ヴューの流れに嫌気が刺し
なにかもう一つプログラマとして違うレイヤーにチャレンジしたい
数学の知識がプログラマとして足りないと分かっているけど、腰が重い方
メールください
→2chreadingbooks@gmail.***
0781nobodyさん
2010/10/06(水) 20:47:01ID:???最悪iPhoneユーザに選択してもらう画面を作る
PHPと全く関係ないで
もしSBのHPに技術情報がのってなかったなら
モバイル関係のスレで聞いてみな
0782nobodyさん
2010/10/06(水) 20:57:09ID:???しかも募集条件が俺が教えてやるよ的な詐欺条件www
どうせ実際はお前の質問攻めになるんだろ?
マジレスするとモチベ維持に他人の目が欲しいならニコ生放送がいいぞ
0783nobodyさん
2010/10/06(水) 21:03:54ID:3KpUSNpe最初に写真共有サイトから写真の中間色?みたいなのを取得し
写真を特定できるIDを色データと共にデータベースに突っ込でるのかもね
ユーザはUIを元に色を指定
データベースからその色と近いデータを取得
ActionScriptならgetPixcelsで1ピクセルずつ色を取得できる関数みたいなのが
あって写真の左上から右下までのピクセルごとの色をループで取得できるから
flexSDKでもインストールしてみたら面白いかもよ^^
ActionScript getPixcel でググると情報いっぱい出てくるから
0785nobodyさん
2010/10/06(水) 21:42:48ID:???もの好きがたまに来ると思う
0786nobodyさん
2010/10/06(水) 21:50:12ID:???0787nobodyさん
2010/10/06(水) 21:51:33ID:???0788山下太郎
2010/10/06(水) 21:51:51ID:???0789nobodyさん
2010/10/06(水) 21:57:47ID:???0790nobodyさん
2010/10/06(水) 22:02:16ID:???社内研究はあるがカンファレンスとかいかないしな
支援にいくことはあるがそういうとこは技術職いないから黙々と作業するだけ
外部の人間との交流なんて自分で足運ばない限りない
よってSEPG経験したからといって馴れ合いのルールなんてわからんよ
0792山下太郎
2010/10/06(水) 22:05:43ID:???0793nobodyさん
2010/10/06(水) 22:19:20ID:???0794nobodyさん
2010/10/06(水) 22:24:11ID:???まだ答えすらないのに何が理解できるわけないだよ
笑わすなって
0795nobodyさん
2010/10/06(水) 22:40:28ID:???0796nobodyさん
2010/10/06(水) 22:54:34ID:3JzDp8Baこれのだめな理由がわからないのですが。
0797nobodyさん
2010/10/06(水) 22:58:03ID:???0799nobodyさん
2010/10/06(水) 23:17:10ID:???http://b.hatena.ne.jp/entry/codezine.jp/article/detail/5430
0800nobodyさん
2010/10/06(水) 23:41:01ID:L1X+4oQtdです
バイナリそのままで大丈夫でした
0801nobodyさん
2010/10/06(水) 23:50:08ID:3JzDp8Ba0802nobodyさん
2010/10/07(木) 00:32:13ID:???正直このスレより質が低いと思うw
0803nobodyさん
2010/10/07(木) 03:22:53ID:???どのサイトも穴だらけでその携帯の部分だけ躍起になってるのが
滑稽に見えて仕方が無い。
0804nobodyさん
2010/10/07(木) 05:17:02ID:???0805nobodyさん
2010/10/07(木) 05:37:10ID:???0806nobodyさん
2010/10/07(木) 12:30:52ID:???0807nobodyさん
2010/10/07(木) 12:32:13ID:???0808nobodyさん
2010/10/07(木) 12:48:45ID:???0809nobodyさん
2010/10/07(木) 13:52:26ID:???0810nobodyさん
2010/10/07(木) 14:27:39ID:bfwxS3EJphp5.3.3をインストールしようとしたところ下記のエラーが出てしまうのですが
解決方法はありますか?
Apache2.2はインストールしてあります
Error trying access httpd.conf file. You will need to manually
configure the web server
OS:VISTA Home Premium
0811nobodyさん
2010/10/07(木) 14:33:05ID:???ttp://pocketstudio.jp/log2/2007/01/windows_apache_224_php_520.html#comment-9327
0812810
2010/10/07(木) 14:47:07ID:bfwxS3EJ返信ありがとうございます、解決できました。
Apacheの設定ファイルがある場所の指定が間違っていたようです
簡単なミスでした、お手数おかけしました。
0813nobodyさん
2010/10/07(木) 19:58:56ID:???専門C++です^^
っていうの?
0814nobodyさん
2010/10/07(木) 20:02:35ID:???0815nobodyさん
2010/10/07(木) 21:48:04ID:???道具は要所で使うことに意味がある
0816nobodyさん
2010/10/07(木) 22:41:42ID:???お蔭様でもうほぼ完成したんですが、どうしても解決しない所がありまして質問させてください。
$dbh = new PDO($dsn, $user, $password);
$dbh->query('SET NAMES utf8');
$sql = "select * from `user` where `id` = ? AND `pass` = ?";
$query = $dbh->prepare($sql);
$result = $query->execute(array($id,$pass));
$res = $result->fetchAll(PDO::FETCH_ASSOC);
ログインの部分で上のように記述すると
Fatal error: Call to a member function fetchAll() on a non-object in C:\xampp\htdocs\osusume\login_2.php on line 50
と出てしまいます。
$sqlを "select * from `user` where `id` = \"{$id}\" AND `pass` = \"{$pass}\"";
のように書くとログイン可能なんですが、これだと脆弱性が残る気がして不安です。
ちなみに$idと$passの箇所は
$id = htmlspecialchars($_POST[id],ENT_QUOTES);
$pass = htmlspecialchars($_POST[pass],ENT_QUOTES);
のように受け取っています。
何が駄目でエラーになってしまうのでしょうか?
0817nobodyさん
2010/10/07(木) 22:42:28ID:cS3lZo050818nobodyさん
2010/10/07(木) 22:47:20ID:???何を見て作ったのか知らないがhtmlspecialcharsをエスケープ替わりにするな
htmlspecialcharsで解説しているもので勉強したならそいつを今すぐ捨てろ
0819nobodyさん
2010/10/07(木) 23:00:16ID:???htmlspecialcharsはその名のとおりHTML出力用ね。
SQL用のエスケープはMySQLならmysql_real_escape_string
`id` = ? AND `pass` = ?
だと引用された$id,$passがクオートされていないのでSQLエラーになってるんじゃないかな。
`id` = \"{$id}\" AND `pass` = \"{$pass}\"
で問題ないんじゃね?
0820nobodyさん
2010/10/07(木) 23:06:40ID:???$id='"'.mysql_real_escape_string ($_POST[id],).'"'
とかか。
0821nobodyさん
2010/10/07(木) 23:13:46ID:54RcKHkSAND `pass`=". mysql_real_escape_string( $pass ) ."
0822nobodyさん
2010/10/07(木) 23:21:25ID:cS3lZo05ありがとうございます。
0824nobodyさん
2010/10/08(金) 05:47:41ID:???もっとマニュアルちゃんと読めば正しいエスケープ方法も書いてるでしょうに
ましてやプリペアードステートメントまで使ってるのに
0825nobodyさん
2010/10/08(金) 10:56:38ID:???0826nobodyさん
2010/10/08(金) 11:31:27ID:gdsV0D6r0827nobodyさん
2010/10/08(金) 11:36:50ID:???0828nobodyさん
2010/10/08(金) 11:49:17ID:???その教え方だと危険。プレースホルダ使えというべき。
プレースホルダ使わないでデータ埋め込みでSQL文作って
prepareする奴いるから!!(笑)
0829nobodyさん
2010/10/08(金) 12:27:15ID:???さすがにプレースホルダ使わずprepare使うアホがいるとは想像してなかったんだろう
0831nobodyさん
2010/10/08(金) 12:40:32ID:???0832nobodyさん
2010/10/08(金) 13:01:04ID:gdsV0D6r0833nobodyさん
2010/10/08(金) 13:44:14ID:???>$query = $dbh->prepare($sql);
>$result = $query->execute(array($id,$pass));
>$res = $result->fetchAll(PDO::FETCH_ASSOC);
ここおかしくね?
$resultにfetchAllなんてあるわけない
$query->fetchAllだろ
>>832
816に書いてあるようなやり方
0834nobodyさん
2010/10/08(金) 15:00:00ID:puBZJtRMブログ名を取得する方法教えてください
タイトルとかurlとか時間は取得できるみたいなんだけどブログ名は無理なのかな?
↓ソースの一部
foreach ($rss->item as $item) {
$dc = $item->children('http://purl.org/dc/elements/1.1/');
$link = $item->link;
$title = $item->title;
$date = $dc->date;
$desc =$item->description;
0835nobodyさん
2010/10/08(金) 15:34:59ID:???0837nobodyさん
2010/10/08(金) 15:54:18ID:puBZJtRM宣伝じゃないです
0838nobodyさん
2010/10/08(金) 16:00:48ID:rSpcfsYfバナナケーキは出来ないですかね。
↓イチゴケーキのおいしさ
ほのかに香るいちごのあまずっぱさ
プチプチとイチゴの小さな種の食感も最高
-------------------------------------------------
何いってるかわかんねwww
0839nobodyさん
2010/10/08(金) 16:05:04ID:puBZJtRMphpでrssからブログタイトルを取得する方法を教えてください
0840nobodyさん
2010/10/08(金) 17:01:55ID:rSpcfsYf0841nobodyさん
2010/10/08(金) 17:11:43ID:???その形だと$rss->channel->titleとかでしょ。
XMLの構造見てお目当てのを探せばいいだけ。
RSSのバージョンによって構造が違うので幸運を。
0842nobodyさん
2010/10/08(金) 17:26:49ID:puBZJtRMちょっと試してみるですありがと
0843nobodyさん
2010/10/09(土) 01:37:40ID:???0844nobodyさん
2010/10/09(土) 01:55:06ID:???使う必要性もないしむしろ使ったらPDO使ってる意味がない
特定のドライバにこだわらずどのRDBでも使えることを想定してるのに
わざわざドライバ固有の関数使うってどうなのよって話
0845nobodyさん
2010/10/09(土) 01:59:56ID:???0847nobodyさん
2010/10/09(土) 02:11:36ID:???ttp://www.php.net/manual/ja/pdo.quote.php
ここの説明を読みなさいよ
0848nobodyさん
2010/10/09(土) 02:14:03ID:???0849nobodyさん
2010/10/09(土) 02:24:26ID:???$res = $pdo->prepare("INSERT INTO hoge(foo, bar) VALUES (:foo, :bar)");
$res->bindValue(":foo", $_POST['foo']);
$res->bindValue(":bar", $_POST['bar']);
$res->execute();
↓のようなことはする必要がないの
$res->bindValue(":foo", mysql_real_escape_string($_POST['foo']);
0850nobodyさん
2010/10/09(土) 02:29:53ID:???0851nobodyさん
2010/10/09(土) 02:34:57ID:???0852nobodyさん
2010/10/09(土) 09:53:36ID:???以下の例で、「[num] => 3」 が3つあり、それを逆順にソートしたいです。
ソート関数の使い方はわかります。多次元配列の扱い方がわかりません。
Array
(
[0] => Array
(
[num] => 1
[body] => aaa
)
[1] => Array
(
[num] => 2
[body] => bbb
)
[2] => Array
(
[num] => 3
[body] => eee
)
[3] => Array
(
[num] => 3
[body] => ddd
)
[4] => Array
(
[num] => 3
[body] => ccc
)
)
0853nobodyさん
2010/10/09(土) 10:18:33ID:???array[0][num]=1
array[1][num]=2
array[2][num]=3
0854nobodyさん
2010/10/09(土) 10:29:04ID:Cr7uTEHePHP5.3.3使ってます
MysqldeでPDOを使いたいんですけど
php_pdo.dllが入ってないんですけど
どこでphp_pdl.dllをダウンロードするのですか?
0855nobodyさん
2010/10/09(土) 10:40:55ID:???ていうかマニュアルみなさいってばぁ
http://www.php.net/manual/ja/pdo.installation.php
0856nobodyさん
2010/10/09(土) 11:22:45ID:Cr7uTEHephp.iniでextension=php_pdo.dllは書いたほうがいいですか?
0857nobodyさん
2010/10/09(土) 11:33:52ID:???いちいち聞かんとわからんのか?
0858nobodyさん
2010/10/09(土) 12:12:44ID:Cr7uTEHe0859nobodyさん
2010/10/09(土) 16:40:12ID:???0860nobodyさん
2010/10/09(土) 22:43:54ID:???0861nobodyさん
2010/10/10(日) 00:05:53ID:ouOWFWUJ調べるにはどうすれば良いでしょうか?
0862nobodyさん
2010/10/10(日) 00:29:20ID:???0863nobodyさん
2010/10/10(日) 00:33:16ID:???0864nobodyさん
2010/10/10(日) 00:37:49ID:???0865nobodyさん
2010/10/10(日) 00:48:04ID:???0867nobodyさん
2010/10/10(日) 12:52:11ID:3r76ILk10868nobodyさん
2010/10/10(日) 13:02:31ID:???0869nobodyさん
2010/10/10(日) 13:13:30ID:???0870nobodyさん
2010/10/10(日) 13:14:31ID:???0871nobodyさん
2010/10/10(日) 13:14:38ID:sl1VHVin0872nobodyさん
2010/10/10(日) 13:30:43ID:???0875nobodyさん
2010/10/10(日) 17:06:50ID:vFML8UIU↓
そのページの特定の文字列を正規表現で取得(+できれば画像も)
↓
取得したデータを整形して表示
こんか感じの動作をPHPで実現できませんか?
イメージとしてはにこサウンド(http://nicosound.anyap.info/)
のように、フォームからアドレスだけ入力→整形データ表示
とできるようにしたいのです。
ですが他のページからデータを抽出する方法が
(あるのかどうかすら)わかりません。
もし似たようなシステムを組んだことがある方、
どうかご教授をお願いします。
0877nobodyさん
2010/10/10(日) 19:44:33ID:R6wxDE8S0879nobodyさん
2010/10/10(日) 20:10:08ID:???0880nobodyさん
2010/10/10(日) 20:45:02ID:???0881nobodyさん
2010/10/10(日) 20:54:27ID:lA2cYk+uSearchAPIでURL検索するとき、短縮URLの書き込みも展開後のものを対象に検索してくれるんでしょうか?
ググったらbacktweet?backtype?そういうの使うって記事がいっぱいあるけど、
でもSearchAPIでurl検索かけるとbit.lyとかow.lyとか展開後のURLが検索対象になってる気がする
この辺詳しく書いてあるところないですか?
TwitterAPIの仕様書にも目を通してるんですが短縮URLに関する言及が一切なくて困ってます。
わかる方助けてください。
最適なスレがあれば誘導してもらえると嬉しかったりします。
0883nobodyさん
2010/10/10(日) 21:09:06ID:lA2cYk+u全URLを一旦チェックし、リダイレクトされるものはリダイレクト後のURLを保存してある
という仕様が考えられますが、それだとUAによって違ったURLに飛ばされるようなURLだった時に厄介な気がします
従いまして、短縮URLサービスのリストを持っていて、該当するURLの場合は展開しているのではないかと思うのですが、
だとしたら仕様に乗らないのはおかしいなと思っておりました。
なにはともあれ私以外の方から、明確に「圧縮されたURLもヒットする」というお言葉をいただけたので
backtypeといった外部サービスを利用せず、公式検索APIを使って開発したいと思います。
どうもありがとうございました。
0884nobodyさん
2010/10/10(日) 21:33:56ID:???bit.lyとかAmazonのamzn.toとか、Pixivのp.tlとかはtwitterで展開されるのを確認してるけど
個人で作ったものまではやってみたことが無いので気を付けて
それでもほとんどの短縮URLは検索できるから問題ないが
0885nobodyさん
2010/10/11(月) 00:58:16ID:BmMGNfccそこでデフォルト引数の機能を使って擬似的に関数の多重定義を実現してみました
↓
function hoge ($a, $b = 0) {
if ($b === 0) {
// hoge($a) が指定されたことにする
}
・・・
}
このような実装にすれば
hoge("ahya");
hoge("ahya", "hoge");
のように擬似的に関数の多重定義を実現できると思うのですがこのやり方はありでしょうか?
もっとスマートな方法があるようでしたら教えてください。
0886nobodyさん
2010/10/11(月) 01:08:48ID:???0888nobodyさん
2010/10/11(月) 01:37:15ID:???0889nobodyさん
2010/10/11(月) 05:52:26ID:???引数によって処理を変えてるだけだから多重定義と呼べるかどうか。
目的によってはオーバーライドのほうがスマートかも知れん。
0890nobodyさん
2010/10/11(月) 07:24:03ID:C9wk+ULb1文でできる関数ないでしょうか
例
$list1 = array('aaa', 'bbb', 'ccc');
$list2 = some_func('bbb', $list1);
結果 list1 = ('aaa','ccc') list2 = ('bbb')
0891nobodyさん
2010/10/11(月) 07:44:21ID:???0892nobodyさん
2010/10/11(月) 08:00:33ID:VsEhTdxopixivチャット(http://chat.pixiv.net/)と言うphpで構成されたサイトがあるのですが、
そこでamfファイルというものが扱われています
このamfファイルというものがよくわかりません
phpとamfファイルはどのような関係なのでしょうか?
また、質問に対して他に適切なスレをご存知でしたら
誘導していただければとても助かります
よろしくお願いします
0893nobodyさん
2010/10/11(月) 08:24:27ID:???ttp://blog.asial.co.jp/323
これ?よくわかんないけどXML-RPCとかJSONの仲間なのかな
もしこれならこのスレで待ってれば分かる人が答えてくれるかもね
AniMationFileの略とかいうオチではないよね
0894623
2010/10/11(月) 10:10:47ID:???ttp://www.smarty.net/forums/viewtopic.php?p=67137&sid=7c16c90aaa2aacb822de0aef8b4d3853
0895nobodyさん
2010/10/11(月) 11:20:30ID:???if (true) {
echo $a;
} else {
echo $b;
}
オープンソースなどのコードを読んでると、
同じ動作をこんなふうに書いていることがあります
if (true) {
echo $a;
break;
}
echo $b;
この書き方をすると、どんないいことがあるのでしょうか。
前者と後者でどう使い分ければいいのか、教えてください。
0896nobodyさん
2010/10/11(月) 11:31:00ID:???自分のコーディングスタイルでやればいい
0897nobodyさん
2010/10/11(月) 11:37:07ID:???構文からしておかしいじゃん
if-else文にbreakなんて使えない
0898nobodyさん
2010/10/11(月) 11:40:22ID:???0900nobodyさん
2010/10/11(月) 11:44:40ID:???だって上の場合ループ毎に必ず$aか$bのどちらかが出力されて
下は一致して$aが出力されたあとに$bが出力されじゃん
だいたいcontinueならともかくbreak使ってたら上と違って全て回りきらないよ
ようするに>>895の2通りの書き方はどうみても違う結果が出る
0901900
2010/10/11(月) 11:46:33ID:???>下は一致して$aが出力されたあとに$bが出力されじゃん
これ嘘 $bは出力されないね
0902nobodyさん
2010/10/11(月) 11:49:48ID:???0903nobodyさん
2010/10/11(月) 11:51:42ID:???ループ中で
if (true) {
echo $a;
} else {
echo $b;
}
if (true) {
echo $a;
continue;
}
echo $b;
じゃないと同じ動作にならない
0904nobodyさん
2010/10/11(月) 12:05:03ID:???上と下が同じ動作とか誰も書いてないわけだし
>>895さんは、単にこういう書き方どうなのって聞きたいだけでしょ
0905nobodyさん
2010/10/11(月) 12:07:54ID:???$j = 1;
while (1 == $i){
if (1 == $j) {
echo $a;
break;
}
echo $b;
$i++;
}
0906nobodyさん
2010/10/11(月) 12:08:24ID:???>同じ動作をこんなふうに書いていることがあります
0909nobodyさん
2010/10/11(月) 13:08:47ID:STo2MEV20910nobodyさん
2010/10/11(月) 13:20:06ID:???0911nobodyさん
2010/10/11(月) 13:37:54ID:???0912nobodyさん
2010/10/11(月) 14:44:54ID:???条件が見つかった段階でループをやめたい時などはbreak使ったりするよ
>>911
「○○」って何ですか?て質問は最も無駄な質問のうちの一つ
0914nobodyさん
2010/10/11(月) 15:06:21ID:???0915nobodyさん
2010/10/11(月) 15:09:38ID:???と同じ意味で書いたことぐらいは察してやれよ
0916山下太郎
2010/10/11(月) 15:10:51ID:???0918nobodyさん
2010/10/11(月) 15:13:05ID:OkdHn3lDこれって具体的にどんなことするんでうsか
0921nobodyさん
2010/10/11(月) 15:16:41ID:OkdHn3lD会社に入るまで気にしなくていいですかね?
0922nobodyさん
2010/10/11(月) 15:18:45ID:???プログラムの設計をするお仕事です
0924nobodyさん
2010/10/11(月) 15:22:18ID:OkdHn3lDapache+php+mysql+linuxを覚えれば30歳でも就職できますかね?
0926nobodyさん
2010/10/11(月) 15:23:30ID:???設計できないのにできますっていっちゃあかん
プログラマーの募集要件に設計求めるのはブラック会社だから注意
0927nobodyさん
2010/10/11(月) 15:27:44ID:???0928nobodyさん
2010/10/11(月) 15:40:00ID:???プログラマーなら未経験でも平気だよ
でも最近は不況で社内育成とかしてる余裕ないから即戦力が欲しい
だからプログラマー募集といいつつ要件きつくしてるとこもある
嘘偽りのない自分にあった要件のとこさがすといいよ
プログラマーは30歳定年というけどそれはプログラマーのままだと
給料が割に合わなくなるからで(プログラマーは楽で給料が安い)
後進に枠譲ってSEになっていく運命
SEはプログラマー5年もやってればそういう知識が身につくでしょう
安いの我慢して若い子たちの中でプライド捨ててやる勇気があれば
30からプログラマーでも全然OK
0929nobodyさん
2010/10/11(月) 15:46:11ID:???経験浅いやつが設計したDBにまともなものはない
0930nobodyさん
2010/10/11(月) 15:49:21ID:???0931nobodyさん
2010/10/11(月) 16:04:35ID:???0932nobodyさん
2010/10/11(月) 16:06:23ID:???0933nobodyさん
2010/10/11(月) 16:18:40ID:OkdHn3lD0934nobodyさん
2010/10/11(月) 16:25:01ID:???0936nobodyさん
2010/10/11(月) 17:02:48ID:???0937nobodyさん
2010/10/11(月) 17:08:22ID:???if (false == $a) die("error");
echo $a,"\n";
}
$t = "test";
test($t);
echo "-----\n";
$v = "";
test($v);
0938nobodyさん
2010/10/11(月) 20:29:21ID:???0941nobodyさん
2010/10/11(月) 23:44:59ID:???0942nobodyさん
2010/10/11(月) 23:45:29ID:???0943nobodyさん
2010/10/11(月) 23:57:08ID:???関数の引数の省略を許可しないことはできますか?例えばprint関数
0944nobodyさん
2010/10/12(火) 00:13:56ID:NImtwDmY// do something ...
}
$ar = array( 1, 2 );
とあるときに、
func( $ar[0], $ar[1] );
とせずに、
func( hoge($ar) );
とできる hoge( ) のような関数はありませんか?
0945nobodyさん
2010/10/12(火) 00:21:08ID:???で動くようにすればいいのでは?
0947nobodyさん
2010/10/12(火) 02:46:50ID:???$arg0が配列の時に展開する処理を書き加えるくらいしかないかね
0948nobodyさん
2010/10/12(火) 05:19:42ID:???0949nobodyさん
2010/10/12(火) 07:06:18ID:???0950nobodyさん
2010/10/12(火) 10:17:30ID:???0952nobodyさん
2010/10/12(火) 12:48:03ID:???0953nobodyさん
2010/10/12(火) 12:53:24ID:???語彙が少ないからバレバレだ
mysql_real_escape_stringでググレって粘着してたのもお前だろ?
0954nobodyさん
2010/10/12(火) 13:13:52ID:???0955nobodyさん
2010/10/12(火) 13:20:15ID:???自分のことじゃないならスルーすればいいのに
0956nobodyさん
2010/10/12(火) 13:30:19ID:???0957nobodyさん
2010/10/12(火) 13:46:18ID:???チンピラじゃないって言い張るなら
チンピラのせいにされたくないのなら
チンピラのためにも黙ってるのが一番ですよ
0958nobodyさん
2010/10/12(火) 13:50:54ID:???0959nobodyさん
2010/10/12(火) 14:41:25ID:???0960nobodyさん
2010/10/12(火) 14:56:51ID:???0961nobodyさん
2010/10/12(火) 16:05:29ID:???0962nobodyさん
2010/10/12(火) 16:44:52ID:???0963nobodyさん
2010/10/12(火) 17:20:07ID:???0964nobodyさん
2010/10/12(火) 18:00:47ID:???0965nobodyさん
2010/10/12(火) 18:56:36ID:???0966nobodyさん
2010/10/12(火) 22:30:41ID:???0967nobodyさん
2010/10/12(火) 22:56:56ID:???MACアドレスでできるかな?と考えていましたが取得が難しいようでした
各PCを識別する一般的な方法などあるのでしょうか?
0968967
2010/10/12(火) 22:58:16ID:???0969EM114-48-18-102.pool.e-mobile.ne.jp
2010/10/12(火) 23:23:41ID:yhWOtHC10970967
2010/10/12(火) 23:41:44ID:5BhqBxZb0971nobodyさん
2010/10/12(火) 23:44:06ID:???http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=17160&forum=11&8
0972nobodyさん
2010/10/12(火) 23:59:45ID:???出来たら問題だろうが・・・
0973nobodyさん
2010/10/13(水) 01:04:26ID:???MACアドレスはPHPでは取得できないが、javascript等を使えば可能と聞いたことがある。
でもLANカードなどのアダプタを変えると変わっちゃうし、ユーザーが任意に変更できる物もあるので
クライアントPCの識別には使えないと思う。
0974nobodyさん
2010/10/13(水) 02:36:44ID:???0975967
2010/10/13(水) 02:54:04ID:jAC530j0ありがとうございます。
できなそうですね
みなさんは同じ人がアクセスしてきたのをどうやって調べているんでしょうか?
cookieなどでしょうか?
0976nobodyさん
2010/10/13(水) 03:21:18ID:iLtV/Tenのは基本logとか見ればわかるけど、詳細なことまでは
わからない。
ただ限定の人だけにみてほしい場合はパスワードを
つけたりすることはできるし、ここからの人から
はみてほしくないとかはIPアドレスなどではじくことは
できる。
と自分は認識している。
0977nobodyさん
2010/10/13(水) 03:42:57ID:???会員制にしてクレカ登録されるって手もある
0978nobodyさん
2010/10/13(水) 05:14:48ID:???IPやcookieじゃ無理だろ。
0979nobodyさん
2010/10/13(水) 05:45:51ID:???会員制にして名乗ってもらうしかない
0980nobodyさん
2010/10/13(水) 07:24:54ID:???0981nobodyさん
2010/10/13(水) 08:05:18ID:???0982nobodyさん
2010/10/13(水) 08:29:40ID:???0983nobodyさん
2010/10/13(水) 08:31:56ID:???アットページズってどうだと思いますか?
それかほかにいいサーバがあれば教えて下さい。
0985nobodyさん
2010/10/13(水) 10:08:28ID:???0987nobodyさん
2010/10/13(水) 10:30:19ID:???0988nobodyさん
2010/10/13(水) 10:33:09ID:???0989nobodyさん
2010/10/13(水) 10:38:45ID:???ここはPHPが大嫌いな俺がこのスレだけで20回以上
過去スレ含めれば100回以上も恣意的なレスしてるスレなんだぜ?
0990nobodyさん
2010/10/13(水) 11:09:43ID:???残るのは出来の悪さにも気がつかないレベルの人と、いやいや使ってる
レベル高い人だからまともな回答が期待できるはずがない
0991nobodyさん
2010/10/13(水) 11:12:12ID:???0992nobodyさん
2010/10/13(水) 11:19:49ID:???0993nobodyさん
2010/10/13(水) 11:21:53ID:???0994nobodyさん
2010/10/13(水) 11:39:36ID:???0995nobodyさん
2010/10/13(水) 11:47:31ID:???0996nobodyさん
2010/10/13(水) 11:48:25ID:???0997nobodyさん
2010/10/13(水) 11:52:31ID:???無知は黙って他方がいいよ
0998nobodyさん
2010/10/13(水) 12:00:32ID:???0999nobodyさん
2010/10/13(水) 12:05:23ID:???http://hibari.2ch.net/test/read.cgi/php/1286938893/
1000nobodyさん
2010/10/13(水) 12:06:33ID:iLtV/Ten10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。