【PHP】下らねぇ質問はID出して書き込みやがれ 116
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/02/26(日) 11:49:58.54ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 115
http://kohada.2ch.net/test/read.cgi/php/1327005803/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0015nobodyさん
2012/02/26(日) 13:39:02.05ID:???飽きるまで放置
0016nobodyさん
2012/02/26(日) 13:41:41.14ID:???PHPのコードが最適化されないことによる所以
ようはコンパイラとインタプリタの違いで片付く問題
オブジェク指向パラダイムでインタプリタのrubyはやはり遅い
0018nobodyさん
2012/02/26(日) 13:46:12.58ID:???って言いたくなるよな
0020nobodyさん
2012/02/26(日) 16:05:43.87ID:???0021nobodyさん
2012/02/26(日) 16:23:06.84ID:???0022nobodyさん
2012/02/26(日) 16:33:14.93ID:Ty40dDQp(
[0] => Array
(
[0] => Array
(
[0] => 2
)
)
[1] => Array
(
[0] => Array
(
[0] => 1
)
)
[2] => Array
(
[0] => Array
(
[0] => 3
)
)
)
このような形の配列をarray_multisortでソートするにはどうすれば良いでしょうか?
0023nobodyさん
2012/02/26(日) 17:44:47.55ID:???機能が一部後付されただけ。
PHPにパフォーマンスを求めること自体が間違っている。
0024nobodyさん
2012/02/26(日) 18:40:14.70ID:???0025nobodyさん
2012/02/26(日) 19:06:52.11ID:???ゴミに捨てろ
0027nobodyさん
2012/02/26(日) 19:48:42.94ID:Ty40dDQp0031nobodyさん
2012/02/26(日) 20:35:49.13ID:???0034nobodyさん
2012/02/26(日) 21:43:28.72ID:/kPpcXH5[0] => Array
(
[0] => Array
(
[0] => 2
[1] => 1
)
)
上の様な形でなく、
[0] => Array
(
[0] => Array
(
[0] => 2
)
[1] => Array
(
[0] => Array
(
[0] => 1
)
)
このように一つ一つ別になっているからだと思うのですが、このようなものをソートするやり方はあるのでしょうか?
0035nobodyさん
2012/02/26(日) 21:49:04.84ID:???<?php
$data=array();
$data[0][0][0]='2';
$data[1][0][0]='1';
$data[2][0][0]='3';
array_multisort($data);
echo "<pre>";
var_dump($data);
echo "</pre>";
//こゆことじゃないんか?
0036nobodyさん
2012/02/26(日) 22:03:34.87ID:???/* コード */
$test = array(
array(
array(2)
),
array(
array(1)
),
array(
array(3)
)
);
array_multisort($test);
Zend_Debug::dump($test);
0037nobodyさん
2012/02/26(日) 22:04:12.15ID:???[0] => array(1) {
[0] => array(1) {
[0] => int(1)
}
}
[1] => array(1) {
[0] => array(1) {
[0] => int(2)
}
}
[2] => array(1) {
[0] => array(1) {
[0] => int(3)
}
}
}
0038nobodyさん
2012/02/26(日) 22:55:51.16ID:Ty40dDQp0039nobodyさん
2012/02/27(月) 00:03:35.92ID:hV/3kGWo教えてください。
0040nobodyさん
2012/02/27(月) 00:12:05.25ID:???0042nobodyさん
2012/02/27(月) 00:59:20.23ID:???0043nobodyさん
2012/02/27(月) 01:10:58.93ID:hV/3kGWo組み込み関数とはどういう意味でしょうか?
phpはオブジェクト指向言語ではないのですか?
>>42
そうなんですか!
0044nobodyさん
2012/02/27(月) 01:21:29.62ID:???0045nobodyさん
2012/02/27(月) 01:27:31.61ID:???メモメモ・・・・。
0046nobodyさん
2012/02/27(月) 01:58:57.65ID:???えーと メソッドは引数を持たなく、関数は引数を持つんだとおもいます
0047nobodyさん
2012/02/27(月) 02:14:52.39ID:???そうなんだ・・・。
0048nobodyさん
2012/02/27(月) 04:22:47.80ID:???if文とかfor文とかをオブジェクトとしてPHPに実装している凄腕なひとなんだな
ならもぉPHPやる必要ないよね〜
自分専用の言語作ったほうが早くない?
0049nobodyさん
2012/02/27(月) 07:33:52.55ID:???まあ頑張れよ(棒読み)
0050nobodyさん
2012/02/27(月) 09:06:51.34ID:???>>43でもないんだけどオブジェクト指向言語のご経験は?
このスレは
質問する奴も馬鹿、答える奴も馬鹿
0053nobodyさん
2012/02/27(月) 09:32:22.59ID:3PUrmhLemimeタイプがx-pngが出てきて、pngを許可にしてたが弾かれた、
x-pngってよく出てくるのでしょうか?
php歴2年で初めてみました。
0054nobodyさん
2012/02/27(月) 09:47:49.06ID:???0055nobodyさん
2012/02/27(月) 12:48:43.03ID:???0057nobodyさん
2012/02/27(月) 13:43:58.51ID:???0058nobodyさん
2012/02/27(月) 13:44:04.60ID:???MIMEタイプをどう拾うかにもよるけれども
$_FILEで見てるならば、ブラウザの申告したものを見てることになる。
image/pjpegとか出てくるだろ。その環境だと。
0059nobodyさん
2012/02/27(月) 15:13:08.80ID:EtiAdS4g【PHPのバージョン】5.3
【連携ソフトウェア】MySQL
【質問内容】
以下のようにすると、POSTで取得した値が2012-02-27になるのですが、
print '<td>' . $day . '<input type="radio" ';
print 'name="myday" value="2012-02-27">';
以下のように変数でいったん置き換えると0000-00-00になります。
$s = "2012-02-27";
print '<td>' . $day . '<input type="radio" ';
print 'name="myday" value=$s>';
どこがどう間違っているんでしょうか?
教えてください。よろしくお願いします。
0060nobodyさん
2012/02/27(月) 15:16:46.65ID:???0061nobodyさん
2012/02/27(月) 15:18:35.12ID:???0062nobodyさん
2012/02/27(月) 15:30:27.64ID:EtiAdS4g解決しました!
どうもありがとうございました。
0063nobodyさん
2012/02/27(月) 19:29:00.80ID:4hoIqr2gそれを、Cache_Liteでキャッシュしつつ表示するっていうものを作りたいのですが
どうやっても、FFで確認したら
「画像ファイル http://~/img.php は壊れているため 表示できませんでした。」
と表示されます。
内容としては、
img.php
<?php
$url = 'http://example.com/'.$_GET['id'].'.jpg';
$image = file_get_contents($imgUrl);
header('Content-Type: image/jpeg');
echo $image;
?>
を、
<img src="http://example2.com/img.php?id=hoge" />
という感じで呼んでいるだけなのですが。。。なぜか上手く表示されません。
すいません。宜しくお願いします。
0064nobodyさん
2012/02/27(月) 19:49:40.69ID:???006563
2012/02/27(月) 20:03:10.95ID:4hoIqr2g周りではこう呼んでるんで。。
0066nobodyさん
2012/02/27(月) 20:21:08.36ID:???一個ずつ変数をechoってってどこにちゃんと何が入っているかとか
確認していけばすぐ解決するよ。それ。
006763
2012/02/27(月) 20:43:16.07ID:4hoIqr2gありがとうございます。地道にやってみます^^;
0069nobodyさん
2012/02/28(火) 00:08:14.80ID:???これ、本当にこうなのかなぁ
0070nobodyさん
2012/02/28(火) 00:09:33.73ID:???0071nobodyさん
2012/02/28(火) 00:20:13.97ID:???えーと メソッドは引数を持たなく、関数は引数を持つんだとおもいます
0072nobodyさん
2012/02/28(火) 00:20:47.93ID:???0073nobodyさん
2012/02/28(火) 00:24:21.48ID:???0074nobodyさん
2012/02/28(火) 00:43:53.69ID:???0075nobodyさん
2012/02/28(火) 00:44:16.09ID:???死亡
0076nobodyさん
2012/02/28(火) 00:49:28.33ID:???0077nobodyさん
2012/02/28(火) 00:50:49.23ID:???0078nobodyさん
2012/02/28(火) 00:53:26.65ID:???0079nobodyさん
2012/02/28(火) 00:58:58.90ID:???0080nobodyさん
2012/02/28(火) 01:43:48.55ID:???0081nobodyさん
2012/02/28(火) 01:46:05.34ID:???0084nobodyさん
2012/02/28(火) 08:17:07.40ID:MraNK8dlindex.phpを振り分けファイルにして、作業ごとにphpファイルを振り分けようと思っています。
ニーズにより、$_POST["mode"]や $_GET["mode"]を持って飛んでくるので、それらを
if else か switch で振り分けて、表示させるところまではできました。
index.php で振り分ける前に、ちょっと何かして、変数を渡す必要があるので、
header('Location: ./index.php?mode=hoge');
ではなく、require か include で次のページに移っています。
それで、たとえばhoge.php で作業をして、index.php経由でどこかのページに行ったときに、
今度は作業をしたあとなので(データベースの変更など)内容が変わって表示されるべきところ
さっき表示したキャッシュが残っていて、表示される内容が更新されません。
ヘッダ送信ならno-cacheを送信することもできますが、requireで読み込むファイルを
再読み込みさせるにはどうしたらいいでしょうか。
require しているのは、作業するphp で、そこで加工して、smartyに渡して表示させています。
今は、FTP でindex.phpを一度削除しない限り、内容が更新されません。
smarty の moge.tpl をいったん削除しても、(そのファイルがなくても)index.php で
require した時のキャッシュが残っているのか、表示されます。
【PHPのバージョン】PHP 5.2.17
【OS】わかりません、さくらインターネットのレンタルサーバーです
どこに問題があるのか、把握できないため、わかりにくくて申し訳ありません。
そもそもこういう仕様が間違っているのでしょうか。何かアドバイスがありましたら
よろしくお願いします。
0085nobodyさん
2012/02/28(火) 08:29:59.03ID:???素直にZendやcakeを勉強して見ては
0086nobodyさん
2012/02/28(火) 09:01:53.67ID:???キャッシュやめてしまえ。
テンプレート消しても表示するんなら、compile_check falseになってんだろ。
008784
2012/02/28(火) 10:46:21.69ID:MraNK8dl趣味でしょぼしょぼやっているので、フレームワークというとなんだか大げさな
気がしてしまって・・・
>>86
いま調べてきたら trueになっています。
ブラウザの問題かと思って、IEとFirefoxを試してみましたが結果は同じでした。
毎回requireさせる方法ってないもんでしょうか。また、問題切り分けのための
何かテストできることがありましたら、アドバイスお願いします・・・。
0088nobodyさん
2012/02/28(火) 11:17:57.96ID:???0089nobodyさん
2012/02/28(火) 11:19:33.76ID:???0090nobodyさん
2012/02/28(火) 12:45:49.64ID:gmDIsIfQ検索サービスから検索されなくするにはどうするのですか?
0091nobodyさん
2012/02/28(火) 13:28:53.34ID:???たぶん、質問している側と読んでいる側で
「ページを移る」の意味に混乱が生じていると思う。
includeやrequireは「移る」って言わず整理しなおして
もっかい説明してちょ。
なんとなく理解できるけど、そしたらもうちょっとがんばれるかもなんで。
0092nobodyさん
2012/02/28(火) 13:32:43.22ID:???0093nobodyさん
2012/02/28(火) 13:42:20.11ID:???smartyのキャッシュじゃなくて、PHPのキャッシュかもしれない。
eAcceleratorとかAPCとか
0094nobodyさん
2012/02/28(火) 14:26:48.13ID:???めんどくさい質問の時は
公開できる範囲内でできるだけ具体的なコード貼ってくれ
複数レスにまたがってもいいから
009584
2012/02/28(火) 14:33:41.95ID:MraNK8dl自分でも何がわからないのかよくわからなくて混乱しています。
>>88
index.phpのキャッシュといわれれば、そういう風な気もしてきます。(smartyの
テンプレートを削除しても問題なくページが表示されていたので)
>>91
ちょっとわたしの勘違いがあったかもしれませんが、index.php の終わりの方で
include 'moga.php';
exit;
としたら、そのmoga.phpを実行する---そっちのページに行くと思っていました。
マニュアルや、includeについて説明されているページをあちこち読んできたのですが
includeするってことは、読み込まれたページがindex.phpの一部になるのですか?
>>93
phpのキャッシュというのもありそうですね・・・
eAccelerator等は、特に追加でいれていません(デフォルトで入っているかどうか
調べ方もわかりません、すみません)
0096nobodyさん
2012/02/28(火) 14:34:31.94ID:MraNK8dlはい、すみません。これからちょっと用意してきます。
0098nobodyさん
2012/02/28(火) 15:57:54.55ID:???【PHPのバージョン】5.3
【連携ソフトウェア】MySQL
【質問内容】
定期的にバックアップを自動で行いたいのですがテーブル数が多いので一括でバックアップできる方法を探しております。
execやsystemが使用出来ないサーバーなんですが、PHPからmysqldumpと
同じ効果がある関数などあったりしますか?
0099nobodyさん
2012/02/28(火) 16:03:41.12ID:???010098
2012/02/28(火) 16:03:59.59ID:2XRQp2f6ID出てませんでした。
010198
2012/02/28(火) 16:04:44.10ID:2XRQp2f6cronは使えます。
0102nobodyさん
2012/02/28(火) 16:46:24.37ID:???0103nobodyさん
2012/02/28(火) 16:50:53.65ID:???010484
2012/02/28(火) 17:15:31.16ID:MraNK8dlPHPを使って、うちの事業所の発送管理をしようと思っています。
[index.php]
<?php
session_cache_limiter("public");
session_start();
session_regenerate_id();
〜ここでセッションに前に渡した鍵を持っているか確認〜
login名により、実施可能な処理を振り分けとか
if ($_GET["mode"]=="denpyo_input"){
include "denpyo_input.php";
exit;
} else if($_POST["mode"]=="hasso") {
include "hasso.php";
exit;
} else if(($_POST["mode"]=="hasso_mail")||($_GET["mode"]=="hasso_mail")) {
include "hasso_mail.php";
exit;
} else if($_POST["mode"]=="send_hasso_mail"){
include "send_hasso_mail.php";
exit;
・・・と似たような処理がたくさんあります
今つまっているのは、hasso_mailで呼ばれた時の処理です。
010584
2012/02/28(火) 17:19:33.39ID:MraNK8dlある人 & 発送済みメールの必要な人(メールアドレスがあっても、
発送したというメールの必要のない相手もいるので)」をデータベースで検索します
0件だったら「今日はメールを出す必要はありません」と表示して終わり
1件以上見つかったら、配列にデータを持ってsmartyにわたして表示
010684
2012/02/28(火) 17:20:27.59ID:MraNK8dl〜最初に、各設定ファイルの読みこみや
データベースの接続のため前半省略 〜
$sql = "SELECT * FROM order LEFT JOIN customer USING(customer_id) ";
$sql .= "WHERE shipping_day IS NOT NULL AND hasso_mail='0' ";
$sql .= "AND ・・・・他いくつか条件";
// hasso_mail 0:これから出す人 1:メール発送済み 2:メール不要 9:メールアドレスなし
$result = mysqli_query($conn, $sql);
$num = mysqli_num_rows($result);
if($num === 0){
$smarty=new Smarty();
$smarty->display("no_mail.tpl"); // 今日はメールを出す必要がありません
exit;
}
while($row = mysqli_fetch_assoc($result)){
$order_id = $row[id];
$name = $row[name];
$date = $row[shipping_date];
}
$smarty->assign("order_id",$order_id);
$smarty->assign("name",$name);
$smarty->assign("date",$date);
$smarty->display("hasso_mail.tpl"); // ここでメールを出す必要のあるお客さんのリストを出す
exit;
010784
2012/02/28(火) 17:22:07.05ID:MraNK8dl表示して、ラジオボタンで、誰にメールを出すか選択させる
sumbitボタンを押すと、メールを出すお客さんの伝票番号を持って、今度は
send_hasso_mail.phpへ
010884
2012/02/28(火) 17:23:37.58ID:MraNK8dl〜最初に、各設定ファイルの読みこみや
データベースの接続のため前半省略 〜
if($_POST["send"]=="yes"){
〜ここでメールを送信する処理〜
$sql = "UPDATE order SET hasso_mail=1 WHERE order_id=";
$sql .= $_POST["order_id"]; ← 本当は中身を確認してから処理してます
$result = mysqli_query($conn, $sql);
if(mysqli_error($conn)){
die("更新失敗".mysqli_error($conn));
}
mysqli_close($conn);
header('HTTP/1.1 303 See Other');
header('Location: ./index.php?mode=hasso_mail');
/* ここでhasso_mailを呼び出すと、複数あった「メールを出す
必要のある人が、だんだんに減っていって、最後は0件になって
「今日はメールを出す必要がありません」のページに行かれる予定・・・なんですが・・・*/
}
0109nobodyさん
2012/02/28(火) 17:25:19.42ID:MraNK8dl・データベースでSQL文を発行して確認すると確かにメールを出す必要のある人の数は減っている。
・直接hasso_mail.phpを呼び出してリロードすると、数は減っている。
・index.php?mode=hasso_mail で呼び出すと減っていない(何回リロードしても減らない)
・hasso_mail.tpl を削除してみても、正しく?表示されて数は減らない
・index.phpを削除して、すぐにアップロードしてリロードしても減らない
・index.phpを削除して、いったんリロードして(エラーをだして) アップロードしなおすとようやく内容が反映されます。
0110nobodyさん
2012/02/28(火) 17:29:14.28ID:MraNK8dl0111nobodyさん
2012/02/28(火) 17:41:24.43ID:???仕事忙しくなってきてちょと読めてないけど
>includeするってことは、読み込まれたページがindex.phpの一部になるのですか?
そうです。その通りです。
$_SERVER['PHP_SELF']してみそれ。
0112nobodyさん
2012/02/28(火) 17:59:50.11ID:???./:::::\ /::::::ヽ
/::::::::::::;ゝ--──-- 、._/::::::::::::::|
/,.-‐''"´ \:::::::::::|
/ ヽ、::::|
/ ヽ|
l l
.| ● | んーと
l , , , ● l
` 、 (_人__丿 、、、 /
`ー 、__ /
/`'''ー‐‐──‐‐‐┬'''""´
,-、 ,.-、
./:::::\ /::::::ヽ
/::::::::::::;ゝ--──-- 、._/::::::::::::::|
/,.-‐''"´ \:::::::::::|
/ ヽ、::::|
/ ● ヽ|
l , , , ● l
.| (_人__丿 、、、 | よく分かんない
l l
` 、 /
`ー 、__ /
/`'''ー‐‐──‐‐‐┬'''""´
0114nobodyさん
2012/02/28(火) 18:53:03.28ID:???■ このスレッドは過去ログ倉庫に格納されています