【PHP】下らねぇ質問はID出して書き込みやがれ 91
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/12/08(火) 13:53:09ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 90
http://pc11.2ch.net/test/read.cgi/php/1258187482/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0373nobodyさん
2009/12/17(木) 02:09:10ID:DlTo5u8A1個目のdatafile[2]
2個目のdatafile[2]
3個目の...
となってほしいのですが、
最後のdatafile[2]
のみしか表示されませんでした。
>>372
言葉足らずでごめんなさい。
目的はセッションすることではなく、nextpageに$companyfileを渡すことです。
なのでリンクにパラメータもたす方法でもおkということです。
0374nobodyさん
2009/12/17(木) 03:18:54ID:???0376nobodyさん
2009/12/17(木) 10:32:42ID:n6lHIqwVクロスドメインではセッションの維持はできないのでしょうか?
Cookieを使うしかないのでしょうか?
0377nobodyさん
2009/12/17(木) 11:08:42ID:???0378nobodyさん
2009/12/17(木) 11:23:33ID:???0379nobodyさん
2009/12/17(木) 11:26:24ID:???0380nobodyさん
2009/12/17(木) 11:27:04ID:???存在するかどうか返すとか簡単にできるだろ
その際、セッション変数があれば同時に返せばいいし、もちろん問い合わせ時の暗号的なものが必要なことは言うまでもない
0381nobodyさん
2009/12/17(木) 13:58:35ID:XErTSTUM判別する方法はあるのでしょうか?
前者の場合、<html>〜</html>の表示が必要ですし、
後者の場合、コンテンツ部分(<img>とか)だけ出力すればいいです。
やはり2パターンを用意するしかないのでしょうか?
0382nobodyさん
2009/12/17(木) 14:02:02ID:???もっとPHPを進めていって、いずれ今の質問を見返したとき、
いかに自分がおかしな質問をしてるのかがわかると思う。
なので基礎をもっと勉強してね。
0383nobodyさん
2009/12/17(木) 14:09:44ID:???直接アクセスされたのか、includeされたのか判別は一応可能だけど
#html.php
<html>
<?php include("img.php"); ?>
</html>
#img.php
<img src="">
みたいに作っておけばいいんじゃない?
そもそも直接アクセスされるものと、インクルードする物を一緒にしない方がいいよ
0384nobodyさん
2009/12/17(木) 14:53:28ID:???やはりその方法しかありませんか。
ファイルの数を減らしたくて対応策を考えていたのですが
無理だと言う事で理解しました。
0385376
2009/12/17(木) 15:12:41ID:???session_idを取得して、そのidをCookieに保存し、次のリクエストで
Cookieからidを取り出して、明示的にsession_startしたけど
情報はとれませんでした・・・
やはり無理なんでしょうか?
0386nobodyさん
2009/12/17(木) 15:25:08ID:???0387376
2009/12/17(木) 15:30:40ID:???同サーバー内では問題なく動くのを確認しています。
現在単純にログイン成功時にセッション内に入れたデータを
次のリクエストで読もうとしていますが、成功しません。
cakephpとflashを使用しています。
0388nobodyさん
2009/12/17(木) 16:31:12ID:???クッキーにはドメイン情報もあるからそれをもとにセッション弾いてるんじゃ?
スタート前にsession_set_cookie_paramsとかでドメイン合わせてやれば
0389nobodyさん
2009/12/17(木) 19:01:13ID:LUgkaaFginiやxmlやjsonやシリアライズしたものなど
結局全て最終的に連想配列なんかに展開したものをPHP内で使うことになると思うんですけど
どのフォーマットを使うのがベターなんでしょうか?
またなんかそういう設定ファイルを作ることに特化したクラスとか用意されてたら教えてください
0390nobodyさん
2009/12/17(木) 19:04:56ID:???json_decodeで復元
0391nobodyさん
2009/12/17(木) 19:08:04ID:???0392nobodyさん
2009/12/17(木) 19:23:30ID:???0393nobodyさん
2009/12/17(木) 19:37:35ID:LUgkaaFgxmlにしようと思ってましたがどうしても肥大化してしまうので
jsonかシリアライズがいいかなと思っていました
json_encode()とserialize()の速度を比較してたサイトも発見し
jsonのほうが速度的にも有利なようなので設定ファイルにjsonを使うことにします
どうもレスありがとうございました
0394nobodyさん
2009/12/17(木) 19:51:43ID:DlTo5u8Aで飛ばす時、どのようにすればターゲットフレーム名を指定できるのでしょうか?
調べてみてもみつからなかったのでお願いします。
0395nobodyさん
2009/12/17(木) 20:24:08ID:???それはサーバ側じゃなくて、ブラウザ側の処理
input action=゙submit゙あたりに何とかって属性を追加したはず
複数のフレームが変わったりする場合はjavascriptで可能
0396nobodyさん
2009/12/17(木) 21:10:46ID:Uf/bDX+RCall to undefined functionと言われてしまうのです。
0397nobodyさん
2009/12/17(木) 21:16:20ID:???> 警告
> This function has been deprecated as the PECL extension Fileinfo provides
> the same functionality (and more) in a much cleaner way.
http://jp.php.net/manual/ja/function.mime-content-type.php
0398nobodyさん
2009/12/17(木) 21:21:59ID:Uf/bDX+R非推奨である旨は了解してます。
使用できなくなった・標準添付ではなくなった等ありますでしょうか?
0399396
2009/12/17(木) 21:25:09ID:Uf/bDX+Rああああすいません、良く見たらPHP5.2.1でした…PECL標準添付は5.3.1から…吊ってきます
0400nobodyさん
2009/12/17(木) 21:27:01ID:???> (PHP 4 >= 4.3.0, PHP 5)
http://jp.php.net/manual/ja/function.mime-content-type.php
0401396
2009/12/17(木) 21:43:34ID:Uf/bDX+RPHP5.2.1が入ってるのに5.3.1と勘違いしてました。
PHP5.3.1が(間違いなく)入ってる別マシンで試したら追加インストール等なしでしっかり動きました。
早とちり大変失礼しました。
(5.2.1でも追加インストールすれば使えると思いますが)
0402nobodyさん
2009/12/17(木) 21:50:09ID:???> 09-Mar-2005 06:14
> The function mime_content_type only worked for me on Microsoft Windows after
> I added the directive "mime_magic.debug" to my php.ini with the value of "On".
> The default value appears to be "Off". Exampe:
>
> [mime_magic]
> mime_magic.debug = On
> mime_magic.magicfile = "c:\php\extras\magic.mime"
> Sune Jensen
> 29-Aug-2007 04:16
> For me mime_content_type didn't work in Linux before I added
>
> mime_magic.magicfile = "/usr/share/magic.mime"
>
> to php.ini (remember to find the correct path to mime.magic)
> mami at madagascarsurlenet dot com
> 14-Nov-2007 06:58
> Since I enabled the mime_magic extension on my IIS, I also got the error message
> "invalid magic file, disabled" in my phpinfo. After I add these lines to my php.ini,
> the message disappeared and it works great!
>
> mime_magic.debug = Off
> mime_magic.magicfile ="D:\PHP5\extras\magic.mime"
>
> mime_magic.debug is by default off but without this line it fails. I'm using PHP
http://jp.php.net/manual/ja/function.mime-content-type.php
0403394
2009/12/17(木) 22:10:42ID:DlTo5u8Aフレーム使っています。
セッションを持ってないなら、TOPページへ〜
みたいな使い方をしたいので、inputは使わないです
javascriptの知識は全くないのですが、その場合方法をかえるしかないのでしょうか?
(フレームを使わない等)
0404nobodyさん
2009/12/17(木) 22:17:41ID:???無理やりだけど、PHPでセッションなりをチェックして
飛ばす場合は、親フレームのURLを変更するJavascriptを書き出す
0405nobodyさん
2009/12/17(木) 22:51:17ID:DlTo5u8A別の方法で試してみることにします。
わざわざ答えていただきありがとうございます。
0406nobodyさん
2009/12/18(金) 18:18:39ID:7wQwxBqTecho $a,'="',$b,"\"\n";
}
の$a => $bの => って何ですか?
-> (アロー演算子)とは違うのでしょうか?
0407406
2009/12/18(金) 18:20:27ID:7wQwxBqTforeach{}のマニュアルに載ってました
0408nobodyさん
2009/12/18(金) 18:22:25ID:???$arr = array();
$arr["key"] = "val";
foreach ($arr as $k => $v)
{
print $k . ": " . $v;
}
0409nobodyさん
2009/12/18(金) 23:35:31ID:DHX9irph$data[$row['name']][] = $row['box'];
}
foreach($data as $type=>$size)
{
print $type;
foreach($size as $bon)
{
echo ' <a href="test.php?id='.$row['id'].'">'.$bon."</a>";
}
print "<br />\n";
}
tet.phpのidの数字が表示されません。どこがおかしいのですか?
0410nobodyさん
2009/12/18(金) 23:50:15ID:???0411nobodyさん
2009/12/19(土) 00:28:45ID:???$data[$row['name']][] = $row['box'];
→ $data[$row['name']][] = $row;
echo ' <a href="test.php?id='.$row['id'].'">'.$bon."</a>";
→ echo ' <a href="test.php?id='.$bon['id'].'">'.$bon['name']."</a>";
じゃない?
多次元配列で混乱してるんだと思う。
0412nobodyさん
2009/12/19(土) 00:41:54ID:r/vk1BgH$start = microtime(true);
$a = array();
for ($i = 0; $i < 10000; $i++) {
$a[] = $i;
}
echo microtime(true) - $start . "<br>";
$start2 = microtime(true);
$b = array();
$j = 0;
while ($j < 10000) {
array_push($b, $j, $j+1, $j+2, $j+3, $j+4);
$j += 5;
}
echo microtime(true) - $start2;
?>
array_pushが遅いとマニュアルに書いてたのでベンチを取ってるつもりです
いくつpushしたらpushのほうが速いのかという比較なのですが
ベンチマークのとり方ってこんな感じでよいのでしょうか?
一応ちゃんと動いてるような気はします
0413nobodyさん
2009/12/19(土) 00:57:29ID:???速度の違いをわかる方法なら何でもいいんじゃない?
でも、forならfor、whileならwhileに統一しないと、正しく評価できないよ。
あと、ループの回数はもっと多くしたほうがいい。
0415nobodyさん
2009/12/19(土) 01:08:08ID:???返事が遅くなりすいません。なおしていただき感謝です
今からおかしかったところ調べたいと思います。
またこけたらお願いします
0417nobodyさん
2009/12/19(土) 21:02:45ID:x0H9DwDhDBに入っている画像のバイナリを表示させた場合、それを著作権有りの画像として表示させたい。
GD使えばそういう風にできる?
なんか携帯でメールに添付できない画像があるんだけどそういう風にしたい。
ただ既にDBに入っている画像はコピーライト有りになってない。
それともそういう画像は画像編集ソフトとかでコピーライト有りに編集しなきゃいけないのかな?
教えてよ。
0418nobodyさん
2009/12/19(土) 21:05:37ID:???0419nobodyさん
2009/12/19(土) 21:14:43ID:???0421nobodyさん
2009/12/19(土) 21:20:38ID:???0422nobodyさん
2009/12/19(土) 21:32:16ID:x0H9DwDhそのやり方を教えて。
関数だけ教えてくれればあと自分でできるから。
でもPHPマニュアル見たけど無かったような
0424nobodyさん
2009/12/19(土) 21:45:24ID:JB1i7e9bCtrl+Shift+FのFormat機能をカスタマイズすることは可能でしょうか?
エディタの設定でtab幅を2にしてるのにFormatすると全部4になってしまったり、
pタグが勝手に改行されたりと、いまいち使い辛いのです。
0425nobodyさん
2009/12/19(土) 21:46:47ID:???http://docs.aptana.com/docs/index.php/Customizing_your_formatting_preferences
0427nobodyさん
2009/12/19(土) 21:56:23ID:???GDにコメント取得はあっても、セットするのがねーな。
ソフトバンクはヘッダつけるだけなので画像データいじらなくてよし。
0428nobodyさん
2009/12/19(土) 21:56:44ID:JB1i7e9bうおーこんなのがあったのか。ありがとうございます!
設定したフォーマットをエクスポートして共有できるとかすご過ぎる
0429nobodyさん
2009/12/19(土) 21:58:02ID:???http://feed.designlinkdatabase.net/feed/outsite_2882.aspx
あう
http://au.kddi.com/ezfactory/tec/spec/gif.html
0431nobodyさん
2009/12/19(土) 23:57:46ID:5CrPM6Aj$val = isset($array[$key]) ? $array[$key] : NULL;
unset($array[$key]);
return $val;
}
みたいな関数は標準でありますか。
ようは、配列から値を取り除きつつ、その取り除いた値を取得したいということです。
0432nobodyさん
2009/12/20(日) 00:14:51ID:???http://php.net/manual/ja/ref.array.php
無いっぽいね。
というか、配列は参照渡しにしないと、やりたい事が出来ないよ
function array_delete(&$array,$key){ 〜〜
0433340
2009/12/20(日) 00:45:15ID:???気持ち程度にコメント追加しました
あと、代表的な処理のアクティビティ図と、ER図も追加して
jQueryを使って遊んでみたものをうpしてます
SQLインジェクション対策は必須だと思うけどしてませんw
mysql_real_escape_string()を通すとDBに追加、更新ができなかったので
コメントにしてますが原意を調べる時間をとってません
0436nobodyさん
2009/12/20(日) 02:37:27ID:???0437nobodyさん
2009/12/20(日) 03:03:16ID:???0438nobodyさん
2009/12/20(日) 05:59:44ID:???0439nobodyさん
2009/12/20(日) 08:03:07ID:???0440nobodyさん
2009/12/20(日) 11:00:40ID:???0441nobodyさん
2009/12/20(日) 11:27:53ID:???標準の関数がなくても、下の2行で済むんじゃない?
自作の関数もいらないような・・。
$val = $array[$key];
unset($array[$key]);
0442nobodyさん
2009/12/20(日) 12:20:31ID:Zrftzoad0443nobodyさん
2009/12/20(日) 12:38:18ID:???0444nobodyさん
2009/12/20(日) 12:46:07ID:???0445nobodyさん
2009/12/20(日) 12:54:54ID:???0446nobodyさん
2009/12/20(日) 12:55:48ID:???0448nobodyさん
2009/12/20(日) 13:09:01ID:???PHP検定を主催してボロ儲けなんてどうだろ
0449nobodyさん
2009/12/20(日) 13:10:54ID:???テンプレート→Smarty
フレームワーク→CakePHP・ZendFramework
このあたりが日本で主流だと思われる
フレームワークを使う場合テンプレートエンジンは別に必要ではない
ライブラリは環境依存になることが多いのでなるべく使わないようにする(特にPECLはSUでないとインスコできない)
あとは使用するプログラムのライセンス形態を調べること
SmartyはLGPLなので商用では注意が必要(この辺が面倒で自分はテンプレートは自作したものを使ってる)
0450nobodyさん
2009/12/20(日) 13:21:26ID:???フレームワーク使おうが使うまいがテンプレートエンジンは別に必要ではない
0451nobodyさん
2009/12/20(日) 13:29:39ID:???$body = "%8F%91%82%AB%8D%9E%82%DE&FROM=%66%75%73%69%61%6E%61%73%61%6E&MESSAGE=test&bbs=php&key=1260247989&time=1";
$length = strlen($body);
$head = "POST /test/bbs.cgi HTTP/1.1\r\nHost: pc11.2ch.net\r\nUser-Agent: monazilla/1.00\r\n".
"Referer: http://pc11.2ch.net/test/read.cgi/php/1260247989/l50\r\nContent-Type: application/x-www-form-urlencoded\r\n";
$out = $head."Content-Length: ".$length."\r\n\r\n".$body;
$fp = fsockopen("pc11.2ch.net", 80, $errno, $errstr, 30);
if (!$fp) {echo "$errstr ($errno)<br>\n";exit;}
fwrite($fp, $out);
$cookie = "Cookie: ";
while (!feof($fp)) {
$str = fgets($fp, 128);
if (strpos($str, "Set-Cookie: ") === 0) {
$str = str_replace("Set-Cookie: ", "", $str);
list($cook, ) = explode(";", $str);
$cookie .= $cook."; ";
}
}
fclose($fp);
$cookie .= "NAME=\"\"; MAIL=\"\"; suka=pontan\r\n";
$out = $head.$cookie."Content-Length: ".$length."\r\n\r\n".$body;
$fp = fsockopen("pc11.2ch.net", 80, $errno, $errstr, 30);
if (!$fp) {echo "$errstr ($errno)<br>\n";exit;}
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
?>
0452nobodyさん
2009/12/20(日) 13:33:50ID:???これ実行してもなぜか書き込めません><
他の人はどうですヵ?;;
0453nobodyさん
2009/12/20(日) 13:35:12ID:HokspEf/【連携ソフトウェア】Apache2.2 【やりたいこと】 mail()を使ってメールの送信
参照したサイト: ttp://www.php.net/manual/ja/function.mail.php ttp://www.php-labo.net/tutorial/php/mail.html
下記コードでメール送信を試みましたが、2個のエラーメッセージが出ました。
$to = 'abc@ne.jp';
$subject = 'the subject';
$message = 'hello';
//
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
if (mail($to, $subject, $message, $headers)) {
echo "メールが送信されました。";
} else {
echo "メールの送信に失敗しました。";
}
エラーの内容は以下の通りです。
Notice: Undefined variable: headers in C:\〜\MailTest_01.php on line 10
***
これは $headers .= 'From: Birthday Reminderの箇所でこれを削っても駄目でした。
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\〜\MailTest_01.php on line 13
メールの送信に失敗しました。
***
Line13は、if (mail($to, $subject, $message, $headers)) { の所です。
どう修正すべきでしょうか?
やっぱり、本物のサーバーにUpしないと駄目なのでしょうか?
0454nobodyさん
2009/12/20(日) 13:37:33ID:???ローカル環境でメールサーバ構築してテストしれ
0455nobodyさん
2009/12/20(日) 13:43:48ID:???0456nobodyさん
2009/12/20(日) 14:58:46ID:???【PHPのバージョン】 php 5.2.6
【質問内容】
php.iniでの
zend_extension=xxx.so
のような設定をhttpd.conf内で記述したい場合、どの様にしたら良いのでしょうか。教えて下さい。
0458456
2009/12/20(日) 15:26:32ID:ruVQmLxH0459nobodyさん
2009/12/20(日) 15:38:17ID:???http://jp2.php.net/manual/ja/configuration.changes.php
0460456
2009/12/20(日) 15:55:24ID:ruVQmLxH試したのですが、どうやらロードされていない雰囲気です、、、(phpinfoで確認しました)
先に言っておくべきだったのですが、ロードしたいのはxdebugです
0461nobodyさん
2009/12/20(日) 16:12:44ID:???0462453
2009/12/20(日) 16:14:27ID:???ありがとうございます。
>>メールサーバ構築してテスト
>>送信サーバ設定をそのまま書きこむ
すいません。全く手法が分からないのでヒントを下さい。
0463nobodyさん
2009/12/20(日) 16:15:10ID:???そこでアカウントの設定で送信サーバとか入れてるだろ?
0464nobodyさん
2009/12/20(日) 16:16:12ID:Fw0pzpEVとするのと、
echo sprintf("%s=%s&%s=%s&%s=%s", $k1, $v1, $k2, $v2, $k3, $v3);
とするのでは、どっちがどのくらい速いでしょうか。
0465nobodyさん
2009/12/20(日) 16:17:53ID:???0467456
2009/12/20(日) 16:47:24ID:ruVQmLxHphp_admin_value zend_extension "/usr/lib/php5/20060613/xdebug.so"
上記の設定を書き加えましたが、phpinfoにはxdebugについての情報が一切吐かれませんでした。
php_admin_valueの部分をphp_valueに書き換えても同様でした。
もちろん、上記のパスが正しいことは確認済みです。
0468nobodyさん
2009/12/20(日) 16:52:58ID:???あとその行に文法エラーになるような文を書いてApacheの起動に失敗するかも確認
0469456
2009/12/20(日) 17:02:07ID:ruVQmLxHphp_admin_value error_log /path/to/dir
などの様に他の設定を行っていますが、正しく動作しているようです。
php_admin_value zend_extension "/usr/lib/php5/20060613/xdebug.so"
abcdef
などの不適切な設定をした場合、syntax errorでapacheは起動しませんでした。
そもそも、php_valueを用いて、zend_extensionの設定を行うことは可能なのでしょうか・・・?
0470nobodyさん
2009/12/20(日) 17:08:21ID:???ちなみに、php_valueだよ
0471456
2009/12/20(日) 19:12:14ID:ruVQmLxH0472nobodyさん
2009/12/20(日) 21:23:11ID:???【PHPのバージョン】php5.29
【質問内容】
メッセージを既読の状態で imap_append するにはどうしたらいいのでしょうか?
よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています