【PHP】下らねぇ質問はID出して書き込みやがれ 88
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/09/16(水) 09:39:37ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 87
http://pc11.2ch.net/test/read.cgi/php/1251447028/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0792786
2009/10/06(火) 13:57:30ID:???人にテストやらせんじゃねぇよ、死ね!
と思ったら俺の間違いじゃねぇか!
済みませんでした
省略したらapplication/octet-streamで扱うんじゃねぇの…
>>786訂正
header('Content-Type: ...') を指定しないと default_mimetype (デフォでtext/html) が
送信されるからContent-Typeを無視するIE以外で表示できません
0793nobodyさん
2009/10/06(火) 14:16:53ID:FPrhzfOJこんな便利なものが…
ありがとうございますorz
0794nobodyさん
2009/10/06(火) 17:33:25ID:BEe+JBrP$this->_db->fetchAll("
SELECT * FROM `hogeTBL`
WHERE
`hoge1`=?
AND
`hoge2` like %?%
AND
`hoge3`=?
",
array($hoge1,$hoge2,$hoge3)
);
hoge1,hoge2,hoge3の全てが「あってもなくても良い」条件の場合、どう書けば良いんでしょうか?
条件の変数があるかないかで全パターン書き分けしてたらかなり面倒で、上で動くと思ったんですが動かないし
どうして良いのかわからなくて質問しました。
よろしくお願いします
0795nobodyさん
2009/10/06(火) 17:41:15ID:???$sql = <<<EOS
select * from xxxx where 1
EOS;
if($name){
$sql .= "and name like '%%%s%%'";
sprintf($sql,mysql_real_escape_string($name));
}
if($age){
$sql .= "and age = %d ";
sprintf($sql,mysql_real_escape_string($age));
}
とか書くかも
0796nobodyさん
2009/10/06(火) 17:59:44ID:BEe+JBrPなるほど、ありがとうございます
「%%%s%%」と、%がたくさんあるのはなんなんでしょうか?
0797nobodyさん
2009/10/06(火) 18:34:38ID:???0798nobodyさん
2009/10/06(火) 18:36:11ID:BEe+JBrPどうもです、ありがとう
0799nobodyさん
2009/10/06(火) 18:40:11ID:y7QUP1JZajaxでは、
XMLHttpRequestを用いて「必要なデータをxml文書として返すphpプログラム」をコールしましが、
このphpプログラム内でauthによる認証を行う事は可能でしょうか。
以下のような動作にしたいと思っています。
1.特定の条件で(例えばボタンを押す等)javascriptプログラムが実行
XMLHttpRequestによる通信開始、指定のphpプログラムが実行。
↓
2.phpプログラム内でauth認証開始、
認証成功の場合⇒データベースに書き込み、
認証失敗の場合⇒書き込みは行わない。
3.phpプログラムは認証結果をxmlとして出力
ブラウザは認証結果に応じて動作を変える
こんな感じでふ。
これが可能なのか、可能でないのかわからずにいます。
苦労との皆様、宜しくお願いいたします。
0800nobodyさん
2009/10/06(火) 21:25:37ID:???は判断できるだろうしできないのはどうかと思う。
0801nobodyさん
2009/10/06(火) 21:39:17ID:???0802799
2009/10/06(火) 21:52:47ID:62gXteWjauthを利用できるかどうかという事は
XMLHttpRequestによって実行されたphpプログラムが
クライアントのクッキーを参照できるか??という事のような気はするのですが・・
(間違っていたらすみません)
これが実際どうなのか、何を調べたらよいのか、
できたとしても環境によって動作が大きく変わってしまうのか、
分からない状況になっています。
後学の為に詳しく教えていただけたらうれしいです。
とりあえずHTTPについて復習してキマシ(*`・ω・)ゞ
0803nobodyさん
2009/10/06(火) 22:07:14ID:???→結果をレスポンスとして返す、というだけの処理なら、普通に考えてできるんじゃないの?
もちろん、リクエストする時にCookieなりクエリなりPOSTなりで認証情報を渡す必要
はあるだろうけど。むしろ何故不可能だと思うんだろう
0804799
2009/10/06(火) 22:31:43ID:???ありがとうございます。
更にauthで既に認証済みのユーザがあえて、POST等でIDとパスを渡すことなくとも、
XMLHttpRequestによって実行されたphpプログラムでセッション情報を元に認証する事ができるか
というと、どうでしょうか。。
やはりphpプログラムがクライアントのクッキーを参照できるか??という事になると思うんですが、、、
0806799
2009/10/06(火) 22:37:04ID:???⇒phpプログラムはブラウザが保存していたクッキーを使用する事ができる。
という認識なんですが、
XMLHttpRequestによってphpプログラムを実行した場合、
⇒XMLHttpRequestを実行したブラウザのクッキーをphpプログラムは使用する事ができるのか??
これが分からないのが問題なのかもしれません。
ぐるぐるしてすみません。
0807nobodyさん
2009/10/06(火) 22:43:39ID:???まぁここはくだ質だから嫌味な奴は気にするな
BASIC認証は感じ
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])
|| $_SERVER['PHP_AUTH_USER'] != 'namae'
|| $_SERVER['PHP_AUTH_USER'] != 'himitsu')
{
header('HTTP/1.0 401 Unauthorized');
header('WWW-Authenticate: Basic realm="sample"');
exit;
}
header('Content-Type: text/plain');
echo 'ok';
?>
これを
var request = new XMLHttpRequest();
request.open("GET", "a.php", false, 'HOGE', 'FUGA');
request.send(null);
alert(request.status);
で試してみるといい
あとはこっちを見る
http://jp.php.net/manual/ja/features.http-auth.php
0808nobodyさん
2009/10/06(火) 22:43:42ID:???ためしもせずガタガタ抜かすな。
LiveHTTPHeaderかFirebugでも入れて、Ajax通信の中身を実際に覗けや。
www.example.comへのリクエストであれば、ブラウザのアドレスバーからだろうがリンクからだろうが<img src=>だろうがAjaxだろうがクッキーは送信される。
0809nobodyさん
2009/10/06(火) 22:49:41ID:???何でも良いけど、実際にどんなHTTPリクエストが飛んでレスポンスが
返ってくるのか一度見てみた方が多分勉強になるし、HTTPの知識無しで
ajaxはちょっと心許ないと思う
0810799
2009/10/06(火) 23:08:09ID:???ありがとうございます。
なんだかふわふわして、自分が何でわかんないのかもわかんない違和感、
その原因がHTTPなんだと気づかせてもらいました。HTTPリクエスト、レスポンスを
目で見てみたいと思います。
>>807さん
ソースまで提供していただいて、もう涙出ます。
ためさせていただきます!勉強させていただきます!
ありがとうございます!
皆さんありがとうございました!
0811nobodyさん
2009/10/06(火) 23:18:46ID:RPLcbD5Pどうしたらよいでしょうか?イメージ的にはExecuteのような感じです。
0812nobodyさん
2009/10/06(火) 23:27:12ID:???ごめん嘘書いてた、ifの条件式を置き換えてくれ
|| $_SERVER['PHP_AUTH_USER'] != 'namae'
|| $_SERVER['PHP_AUTH_PW'] != 'himitsu')
0814nobodyさん
2009/10/06(火) 23:31:14ID:???system("/usr/bin/php xxx.php") とか、 file_get_contents("http://example.com/xxx.php")とか。
どういうことをやりたいの?
0815811
2009/10/06(火) 23:36:14ID:???inc.phpは他のファイルからも実行させたいのですが、呼び出し元の変数に
万が一影響しても困るので、includeやrequireは避けたかったのです。
>>814さんのsystem("")でできました。ありがとうございますー
0816nobodyさん
2009/10/07(水) 17:41:32ID:UWu9xUOcif(($_POST["mati"]==1))$count++;
else if(($_POST["mati"]==0))$count--;
if(($_POST["eiga"]==1))$count++;
else (($_POST["eiga"]==0))$count--;
if(($_POST["ame"]==1))$count++;
else if(($_POST["ame"]==0))$count--;
if (count==3) <META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=kikubari.html">;
else if (count==2) <META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=roman.html">;
else if (count==1) <META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=roman.html">;
else if (count==0) <META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=kensin.html">;
else if (count==-1) <META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=kensin.html">;
else if (count==-2) <META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=zibun.html">;
else if (count==-3) <META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=zibun.html">;
?>
これでリンク先を振り分けられないんだがどうしてか教えて欲しい
何回やっても一番したのリンクへしか飛ばないんだ・・・
0817nobodyさん
2009/10/07(水) 17:47:39ID:???0818nobodyさん
2009/10/07(水) 17:52:07ID:UWu9xUOc必死なんだ
0819nobodyさん
2009/10/07(水) 18:03:28ID:???ttp://works.xworks.org/script/01php/xfile-access-counter/
これの非公開バージョンb090909
http://kissho.xii.jp/1/src/1jyou93396.zip.html
・DBにSQLiteを用いているのが特徴。
・ベータ版のため、簡単に使える状態では無い。
誰か、使用方法、教えて下さい・・・。
0823nobodyさん
2009/10/07(水) 20:45:45ID:???0824nobodyさん
2009/10/07(水) 20:46:21ID:???0825nobodyさん
2009/10/07(水) 20:49:58ID:???0826nobodyさん
2009/10/07(水) 21:03:59ID:???それ、そもそもパースエラーが出る。
実際に動かしてるものをコピペしないと、
転載するときに間違ったのかソースが間違ってるのか分からないよー。
0827nobodyさん
2009/10/07(水) 21:06:33ID:???動くには動くんだがどんなふうにやっても必ず一番下のリンクへ飛ぶんだ
0828nobodyさん
2009/10/07(水) 21:07:00ID:???先頭で
var_dump( $_POST ) ;
0831nobodyさん
2009/10/07(水) 21:12:26ID:???いつから条件式中で略せるようになったの?
0832nobodyさん
2009/10/07(水) 21:12:33ID:???え?それで動く??
if (count==3) <META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=kikubari.html">;
count は$countだろうし
HTML部分は echoなり、php抜けるなりしないとダメだと思うんだけどなー。
ロジックがおかしくて動かないんじゃなくて
そもそも、まったく動いてないんじゃ?
0833nobodyさん
2009/10/07(水) 21:13:21ID:???、ネ、、、ヲス?ュケ?、゚、ャネッテシ、ネ、ハ、遙「ツ賈?ワカ盻?、ヒ、マ・ウ・�チテ・ア、ャ、ト、ュ、筅ホ、ネ
、ハ、テ、ソ。」2、チ、网?ヘ、・?ヒ。ヨ・ウ・�チア。ラ、ネ、篆?ォ、・・」
、ウ、ホネト、ネ、マ、「、゙、・リキク、ハ、ッ。「・ヒ・蝪シ・ケ
0834nobodyさん
2009/10/07(水) 21:14:34ID:???<?php
if(($_POST["mati"]==1))$count++;
else if(($_POST["mati"]==0))$count--;
if(($_POST["eiga"]==1))$count++;
else if(($_POST["eiga"]==0))$count--;
if(($_POST["ame"]==1))$count++;
else if(($_POST["ame"]==0))$count--;
if ($count==3) print'<META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=kikubari.html">';
else if ($count==2) print'<META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=roman.html">';
else if ($count==1) print'<META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=roman.html">';
else if ($count==0) print'<META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=kensin.html">';
else if ($count==-1) print'<META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=kensin.html">';
else if ($count==-2) print'<META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=zibun.html">';
else if ($count==-3) print'<META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=zibun.html">';
?>
0835nobodyさん
2009/10/07(水) 21:16:54ID:???最初にそのページを読み込むときは、絶対一番下の処理になるけど。
0836nobodyさん
2009/10/07(水) 21:20:35ID:???これなんとかしてページを振り分ける方法ない?
0837nobodyさん
2009/10/07(水) 21:29:08ID:???0839nobodyさん
2009/10/07(水) 21:31:38ID:???if(isset($_POST["mati"],$_POST["eiga"],$_POST["ame"])){
$count = 0;
function count_post($str){
if($str == "1"){
return 1;
}else if($str == "0"){
return -1;
}else{
return 0;
}
}
$count = (count_post($_POST["mati"]) + count_post($_POST["eiga"]) + count_post($_POST["ame"]));
header('Status: 301 Moved Permanently');
switch($count){
case 3:
header('Location: kikubari.html');
break;
case 2: case 1:
header('Location: roman.html');
break;
case 0: case -1:
header('Location: kensin.html');
break;
case -2: case -3:
header('Location: zibun.html');
break;
}
}else{
echo "必要なパラメータがPOSTされてない";
}
0842nobodyさん
2009/10/07(水) 22:44:35ID:IEM8qI680843nobodyさん
2009/10/07(水) 22:53:13ID:???相対パスも可
headerがどうとかは関係ない
ttp://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
0844nobodyさん
2009/10/07(水) 23:02:39ID:???0845nobodyさん
2009/10/07(水) 23:09:40ID:???俺はしないけど。
0846nobodyさん
2009/10/07(水) 23:10:39ID:???The Location response-header field is used to redirect the recipient to a location other than the
Request-URI for completion of the request or identification of a new resource. For 201 (Created)
responses, the Location is that of the new resource which was created by the request. For 3xx
responses, the location SHOULD indicate the server's preferred URI for automatic redirection to
the resource. The field value consists of a single absolute URI.
Location = "Location" ":" absoluteURI
An example is:
Location: http://www.w3.org/pub/WWW/People.html
Note: The Content-Location header field (section 14.14) differs
from Location in that the Content-Location identifies the original
location of the entity enclosed in the request. It is therefore
possible for a response to contain header fields for both Location
and Content-Location. Also see section 13.10 for cache
requirements of some methods.
0848nobodyさん
2009/10/08(木) 00:39:37ID:???case -2: case -3:
header('Location: zibun.html');
break;
↓↓↓
case -2: case -3:
header('Location: zibun.html');
break;
default:
header('Location: countgaokashii.html?count='.$count);
break;
0849nobodyさん
2009/10/08(木) 09:11:12ID:???UPありがとう。
とりあえず、こんな流れで動きましたよ。
1行目が<?xmlで始まるPHP(複数個)
<?をPHPと認識して処理されてしまうのが問題なので、
<?php echo '<?xml version="1.0" encoding="utf-8"?>'; ?> に書き換える。
PHP5環境の場合、ファイルの初回ダウンロード時に
db.inc.phpの「if($date != date('Ymd', $lastact))」部分でエラーが出るので、
前に、if($lastact == ""){$lastact = 0;}; を挿入。
ツールを使ってSQLiteのDBを作成し、db.inc.php内記載のSQL文3つ
「CREATE TABLE BASE、CREATE TABLE RECENT、CREATE TABLE NOTE」を使って、
テーブルを作成。
filesフォルダにダウンロードさせたいファイルを入れる。
あとはアップロードして、/xfm/ファイル名 にアクセスすれば、
ダウンロードページが表示されます。
軽く触ってみて思ったこと。
config.inc.phpで、「ログ管理モード」の記載があるが、
どうやって「ログ管理モード」に入るのか不明。
集計結果の表示にパスワード認証をかける設定にしても、
パスワードを聞いてこず、集計結果が表示される。
0850nobodyさん
2009/10/08(木) 09:17:54ID:???noticeじゃなくて?
0851nobodyさん
2009/10/08(木) 10:18:09ID:???ERRORでなく、NOTICEだったかもしれません。
その後。
自動的にダウンロードが始まります・・・・と出るが、自動で始まらない。
この点、修正が必要ですね。
0852nobodyさん
2009/10/08(木) 10:50:07ID:???まとめました。
インストール :
1行目が<?xmlで始まるPHP(複数個)
<?をPHPと認識して処理されてしまうのが問題なので、
<?php echo '<?xml version="1.0" encoding="utf-8"?>'; ?> に書き換える。
PHP5環境の場合、ファイルの初回ダウンロード時に
db.inc.phpの「if($date != date('Ymd', $lastact))」部分でNOTICEエラーが出るので、
前に、if($lastact == ""){$lastact = 0;}; を挿入。
dl_thanks.php のHEADセクション内に、
<meta http-equiv="Refresh" content="3;URL=<?php $this->put('dl_link'); ?>" />
を追加することで、3秒後に自動ダウンロード。
ツールを使ってSQLiteのDBを作成し、db.inc.php内記載のSQL文3つ
「CREATE TABLE BASE、CREATE TABLE RECENT、CREATE TABLE NOTE」を使って、
テーブルを作成。
filesフォルダに公開ファイルを入れる。
xfmフォルダ下全てをアップロード
使い方 :
・/xfm/ファイル名 で、ダウンロード画面が表示
・/xfm/stat で集計ページ表示
・ログ管理モードon/offは無効。(configには残っているがコードは無い)
・パスワード認証が通ると、ログの削除/編集が可能になるが、呼出方法不明。
0853nobodyさん
2009/10/08(木) 12:11:55ID:HKU7amRg↑のクエリを簡潔に書く方法教えてください
0856nobodyさん
2009/10/08(木) 12:49:11ID:HKU7amRg300-0000010〜300-0000100
300-0001200〜300-0001300
256-0000800〜256-0000900
みたいな口座の連番があって、
その中である条件にあてはまる口座だけ取りだしたい。
テーブルが持っているのは、口座の支店番号(上3桁)と
連番の開始、終了の下7桁だけ。
とりあえず有効範囲にある口座番号を持つ表を生成して、
そこからWHERE句とINNER JOINを使って条件にあてはまるのを出したい。
0857nobodyさん
2009/10/08(木) 14:49:29ID:???例えば300-0001234を抽出
SELECT * FROM table
WHERE 支店番号 = '300' AND '0001234' BETWEEN 連番の開始 AND 連番の終了
あとの条件をくっつけていく
PHP関係なくいけるんちゃう?
0858nobodyさん
2009/10/08(木) 18:16:45ID:MSKkwYbyreturn array("var regex=".$this->regex.";\n" ,
" { jsVar } != ' ' && ! regex.test( { jsVar } )" );
}
失礼ですが質問させて下さい
getValidationScriptというのを調べまくったのですが満足いく説明が得られず、英語サイトまで行ってなんとか少し分かりました
どうやら配列を返し、その配列の第2引数に検証の正否を判定するための条件式を含めるようです
で、上のコードなのですが、第2引数の意味が分かりません
PEARのQuickForm.php自体の中のgetValidationScript関数も確認したのですが、物凄く長く難しく、自分には理解が出来ませんでした
ただ、$testが使われているというのは分かりました
{ jsVar }というのは何なのでしょうか?
意味が分からないだけでなく、コレが何の形なのかも分かりません
JavaScriptならばオブジェクトリテラルだという事は分かるのですが、PHPでは分かりません
で、この第2引数ですが、{ jsVar }というものが空または正規表現.testが無ければ・・・何を返すのでしょうか?
検証の正否を判定するための条件式を含めるという事ですが、TRUE、FALSEとかでしょうか?
0859nobodyさん
2009/10/08(木) 18:21:10ID:???jsVarはあとで置換でもされるのかと
0860nobodyさん
2009/10/08(木) 21:20:11ID:MSKkwYbyQuickForm.phpのソースを見た感じでは分かりませんでしたが、何かそういうの作っているんでしょうかね・・・
0861nobodyさん
2009/10/08(木) 21:35:20ID:???0862nobodyさん
2009/10/08(木) 21:51:13ID:???紛らわしいが{jsVar}は置換用のプレースホルダ
フォーム要素のプロパティに置換される
RuleRegistry.php の HTML_QuickForm_RuleRegistry::getValidationScript() を読むといい
0863nobodyさん
2009/10/08(木) 22:22:56ID:MSKkwYbyわぉ、ほんとだ{jsVar}がありました
ありがとうございました
ではこのコードは、
Returns the javascript test (the test should return true if the value is INVALID)
Return : first element is code to setup validation, second is the check itself
という事のようなので、
" { jsVar } != ' ' && ! regex.test( { jsVar } )" の検証の正否を求めて、つまり空やNULLでなければTRUEを返すという事ですね?
あれ、INVALIDって事は逆ですかね?
空またはNULLであればTRUEを返すのかな?
ごめんなさい、分からなくなりました・・・
0864nobodyさん
2009/10/09(金) 00:46:53ID:prJCc7FF「組み合わせを生成した配列」を出力するをするという処理を実装したいと思っています。
例えば、
$data = array('1','2','3');
という配列から、変数$outputに2個取り出すとすれば、
$output[0][0] = '1';
$output[0][1] = '2';
$output[1][0] = '1';
$output[1][1] = '3';
$output[2][0] = '2';
$output[2][1] = '3';
という組み合わせが重複しない、全3パターンの出力が欲しいのです。
取り出す個数が固定なら、forループのネストで実現できそうなのですが、任意の個数が欲しいので、いい処理方法が浮かびません…
ぶしつけな質問で申し訳ないのですが、ご存知の方がおられましたら、ぜひともご教授いただけたらと思います。
よろしくお願いいたします。
0865nobodyさん
2009/10/09(金) 00:52:14ID:???http://www.google.com/search?hl=ja&q=combination+algorithm
0866nobodyさん
2009/10/09(金) 03:43:14ID:prJCc7FF無駄が多すぎる…
//http://www.php.net/manual/ja/ref.array.phpより拝借
function combinations2($elements,$anyvalue){
if(is_array($elements)){
$combinations=array(array());
foreach($elements as $element){
$new_combinations=array();
foreach($combinations as $combination){
$new_combination=array_merge($combination,(array)$element);
array_push($new_combinations,$new_combination);
}
$combinations=array_merge($combinations,$new_combinations);
}
$combinations_key = array_keys($combinations);
$combinations_size = count($combinations_key);
for($i=0;$i<$combinations_size;$i++){
$sn = $combinations_key[$i];
if($anyvalue != count($combinations[$sn])){
unset($combinations[$sn]);
}
}
return $combinations;
}else{
return false;
}
}
0868nobodyさん
2009/10/09(金) 08:19:27ID:SDpPJ8L7http://sourceforge.jp/magazine/09/10/07/1133258
0870nobodyさん
2009/10/09(金) 10:32:02ID:???$data = array('1','2','3','4','5');
print_r (combinations3( $data, 3));
function combinations3( $array , $num ) {
$n = count($array);
$x = (1 << $num ) -1;
$ret = array();
while ( ! ($x & ~( (1 << $n ) -1 ))){
$ret[] = arrayset($x,$array,$n);
$x =nextp($x);
}
return $ret;
}
function nextp($x) {
$s =$x & -$x;
$r = $x + $s;
$n = $r & -$r;
return ($r | ((floor($n/$s )>>1)-1));
}
function arrayset($x,$array,$n){
$r = array();
for( $i =1;$i<= $n;$i++){
if($x & 1) $r[] = $array[$i-1];
$x = $x >>1;
}
return $r;
}
0871nobodyさん
2009/10/09(金) 10:55:42ID:tvzB35Y7シェル関数を使い、PHPを実行させたいのです
$command = 'php /virtual/hoge/hoge/hoge.php';
$output = shell_exec("{$command} 2>&1");
print_r ($output);
これを実行すると
Warning: shell_exec() [function.shell-exec]: Unable to execute
このようなエラーになります
$command の中身をlsとかtopにしたらちゃんと実行されます
PHPからPHPをたたく?ということは置いておいて
$command の記述が間違えているのでしょうか?
0872nobodyさん
2009/10/09(金) 10:57:15ID:SDpPJ8L7abcd12345
0873nobodyさん
2009/10/09(金) 10:58:54ID:???0874nobodyさん
2009/10/09(金) 11:00:03ID:???0875nobodyさん
2009/10/09(金) 11:00:46ID:mskr8tQ20876nobodyさん
2009/10/09(金) 11:02:28ID:???0877nobodyさん
2009/10/09(金) 11:06:37ID:???こんなとこで質問するなんて釣りだろ
おまえら釣られんなよw
0878nobodyさん
2009/10/09(金) 11:11:56ID:???0880nobodyさん
2009/10/09(金) 11:37:26ID:???ttp://www.kiyori.co.jp/MD5Reverse/Default.aspx
0881nobodyさん
2009/10/09(金) 11:41:57ID:???復号できないものを暗号とはいいません
0882nobodyさん
2009/10/09(金) 11:46:10ID:???0883nobodyさん
2009/10/09(金) 11:51:56ID:tvzB35Y7ありがとうございます
さっそく実行しましたが同じエラーが出ました
0884nobodyさん
2009/10/09(金) 12:13:18ID:???やったことないけど
0885nobodyさん
2009/10/09(金) 13:20:47ID:tvzB35Y7ありがとうございます
同じエラーが出たので-fオプションで試したところ
sh: fork: Resource temporarily unavailable
このようなエラーに変わりました
これはどういうことでしょうか?
0886nobodyさん
2009/10/09(金) 13:24:19ID:???0887nobodyさん
2009/10/09(金) 13:39:16ID:???0888nobodyさん
2009/10/09(金) 13:49:33ID:???実行しているのは自分で管理しているサーバ?
レンタルサーバだとプロセス数で制限かかってたりするからforkできなかったりするよ
0889nobodyさん
2009/10/09(金) 13:57:42ID:???0890nobodyさん
2009/10/09(金) 14:32:05ID:???0891nobodyさん
2009/10/09(金) 14:32:38ID:???0892nobodyさん
2009/10/09(金) 14:36:12ID:l1yyeg00■ このスレッドは過去ログ倉庫に格納されています