トップページ⇒php
1001コメント304KB

【PHP】下らねぇ質問はID出して書き込みやがれ 127

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん2013/03/19(火) 22:13:49.76ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 126
http://kohada.2ch.net/test/read.cgi/php/1359808868/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0809nobodyさん2013/05/07(火) 11:04:07.17ID:???
.= でないと
0810nobodyさん2013/05/07(火) 19:18:37.58ID:???
>>806
ああ

<?PHP
echo implode('', array_keys($arr));
?>
  〜間にHTMLの記述〜
<?PHP
echo implode('', array_values($arr));
?>
0811nobodyさん2013/05/08(水) 17:19:35.07ID:QMrGFLn3
test.php
<?php
echo "1";
echo "2";
echo "3";
?>
sample.php
$file = file('test.php');

としたときに
$file[0]
には
echo "1";
がはいります。
しかし
$file[5]
には
?>
が入っています。
?>は取得出来るけど<?phpはどうやっても取得されないのでしょうか?
実際には2行目にecho "1";が来るのに配列としては[0]なのであわせられればと思っています。
0812nobodyさん2013/05/08(水) 18:03:38.44ID:???
>>811
どうやって確認した?
var_dump 使った?
0813nobodyさん2013/05/08(水) 18:04:15.48ID:???
もしも結果もブラウザから見てるならソース表示させてみ
0814nobodyさん2013/05/08(水) 18:19:51.72ID:QMrGFLn3
var_dumpでブラウザ上に表示したら
array(5) {
[0]=>
string(6) "
string(10) "echo "1";
"
[2]=>
string(10) "echo "2";
"
[3]=>
string(10) "echo "3";
"
[4]=>
string(2) "?>"
}
となってました。
ブラウザ側のソースには
[0]=>
string(6) "<?php
"
[1]=>
string(10) "echo "1";

と表示されています。
html上のものでなぜソースが異なるのかちょっと意味がわからないです。
0815nobodyさん2013/05/08(水) 18:25:42.54ID:???
<?php
"
[1]=>

がタグ扱いでブラウザで表示されないだけじゃねーか。
0816nobodyさん2013/05/08(水) 18:26:35.32ID:???
いや <?php とかはタグの始まりとみなされてブラウザが次の > まで
表示しなくするだろw
どうしてもブラウザに出したければ、htmlspecialcharsを通すとかでどうかな。
0817nobodyさん2013/05/08(水) 18:53:59.75ID:???
>>814
ちょっと意味が分からないならたくさん勉強することだ。
0818nobodyさん2013/05/08(水) 19:10:17.99ID:???
var_dumpは出力にそのまま垂れ流すことしかできないからソースを見るしかw
0819nobodyさん2013/05/08(水) 20:47:32.31ID:???
>>814
お前のカキコの意味がわからんわ
0820t2013/05/08(水) 21:34:36.96ID:zJfXxHKJ
【OS名】mac10.8
【PHPのバージョン】5.3
【連携ソフトウェア】
【質問内容】
$encodingText=htmlspecialchars($writingText);
$encodingText=str_replace('\r\n','<>',$encodingText);
$encodingText=str_replace('\n','<>',$encodingText);
$encodingText=str_replace('\r','<>',$encodingText);
$encodingText=str_replace(PHP_EOL,'<>',$encodingText);

ここで聞く事なのかどうか。。2chのlogみたいにcsvにフォームからの書込みを一行保存したくて改行を<>に変換したいですけど
これだとcsv内は改行されてしまいます。。何故かPHP_EOLを使った部分で改行が「"改行<>"」という形でcsvに保存されます。
どうすりゃ改行を一行にまとめられますかね???ちなみに最初のhtmlspecialcharsは関係なかーたです
0821nobodyさん2013/05/08(水) 21:40:22.63ID:???
文字コード絡みじゃねーのとエスパー
0822nobodyさん2013/05/08(水) 21:52:05.37ID:???
>>820
改行コード(\n)がシングルになってる。
展開させるためにはダブルにしろ。"\n"
htmlspecialcharsは出力の直前にかけろ。
ただし2chがそういう仕様ならそれを真似るなら仕方ない。
str_replaceでまとめられるものはまとめろ。
つまりstr_replace(["\r\n", "n"], '<>',$encodingText);
"\r"で改行なんて今更ない。昔あったのかも知らん。
遺贈。
0823nobodyさん2013/05/08(水) 22:19:17.07ID:???
100を-100のようにプラスとマイナスを反転させたいのですが
反転させるような関数はありますでしょうか?

なければ100-(100*2)みたいな感じしかないでしょうか。
0824t2013/05/08(水) 22:26:44.16ID:zJfXxHKJ
>>822
ありがとうございます。str_replaceのシングルをダブルクオートに変えたら行けました。
どーもですどーもです。

ちなみにその[]で囲むやり方知らなくてこっちで動かなくて気になるんですができれば。。。。。
0825t2013/05/08(水) 22:28:51.25ID:zJfXxHKJ
>>823
-1をかけたらええですよ
0826nobodyさん2013/05/08(水) 22:44:09.17ID:???
>>824
あ、ごめん。php5.3なんだな。
5.4からその記法は使えるよ。
array() => []
0827t2013/05/08(水) 23:17:42.41ID:zJfXxHKJ
>>826
おーどーもです。うーむ無理か。。
0828nobodyさん2013/05/08(水) 23:57:01.25ID:???
str_replace(array("\r\n", "n"), '<>',$encodingText);
こうすればいけるよ。
>>826のは
5.4から array() の代わりに [] が使えるようになったよって意味の => かと。
0829nobodyさん2013/05/09(木) 00:11:27.65ID:???
関数リファレンスくらい読めと
0830nobodyさん2013/05/09(木) 09:06:33.16ID:Jsywf66a
【OS名】CentOS 6.3
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL
【質問内容】
datetimeの比較がうまくいきません。

$start = new DateTime("2013/05/08 12:30:30");
$end = new DateTime("2013/05/04 12:30:30");
if( $start > $end )
{
echo "true";
}
else
{
echo "false";
}

としてもfalseのみが出ます。
仮に$startと$endを入れ替えてもfalseとなります。
http://php.net/manual/ja/datetime.diff.php を見るとオブジェクトの比較が出来ているようなのですが何か違っていますでしょうか?
0831nobodyさん2013/05/09(木) 09:11:48.64ID:???
>>830
http://ideone.com/7kfq6S
0832nobodyさん2013/05/09(木) 10:02:15.85ID:???
>>830と>>831のソースの違いがよくわかんね〜
0833nobodyさん2013/05/09(木) 10:16:18.74ID:???
いや同じだろ
>>830のコードはtrueになるしなんか勘違いしてんじゃね
0834nobodyさん2013/05/09(木) 10:26:25.73ID:???
>>830のコードは
new を使っているからオブジェクトで定義しているんじゃないの?
中の値で比較するんだったら

if($start->gettimestamp() > $end->gettimestamp())

とかで比較しないとダメなんじゃない?
0835nobodyさん2013/05/09(木) 21:11:32.82ID:???
>>832
つまり、コード以外の所が違うということだよ
0836nobodyさん2013/05/10(金) 22:59:44.03ID:nZ5eiGcK
PHPのマニュアルを丸ごと(ソースごと・・・)コピーしただけのサイトがよく検索に引っかかりますがあれはなんの嫌がらせですか?
0837nobodyさん2013/05/10(金) 23:03:50.33ID:???
ミラーサイトという言葉を知らないのかね
0838nobodyさん2013/05/10(金) 23:21:28.67ID:iT9k79IA
PHPは公式から既に嫌がらせだからな
0839nobodyさん2013/05/10(金) 23:26:36.03ID:???
コピーするならcssも引っ張って来いとは思う
0840nobodyさん2013/05/10(金) 23:50:29.42ID:ReW38688
XMLをsimplexml_load_string()でオブジェクトに代入してから
要素についてtrue(1)かfalse(0)かを確かめたいのですが
var_dumpで
object(SimpleXMLElement)#1 (1) {
["result"]=>
object(SimpleXMLElement)#4 (4) {
["options"]=>
object(SimpleXMLElement)#2 (0) {
}
["raw"]=>
object(SimpleXMLElement)#3 (0) {
}
["status"]=>
string(1) "0"
["statusmsg"]=>
string(5) "Sorry"
}
}
のようになっているのものを
if($object->result->status)
とすると0の場合も1の場合もtrueになってしまいます。
string型の0はfalseと判断されないのでしょうか?
0841nobodyさん2013/05/11(土) 00:06:09.37ID:???
>>840
var_dump($object->result->status)
0842nobodyさん2013/05/11(土) 09:14:21.17ID:3jYy1Xhq
phpを使った空メール→配信登録をつくってるんですが、
QRコード読み取りから空メールさせる方法とは別に、
サイトからユーザに空メールを送るようにもさせたいと思っております
mailtoを貼り付けようと思ったのですが、この場合spamが心配です

たとえば、phpで動的に書き出したページにmailtoを仕込んでおけば
spam対策になるもんでしょうか
それともなにか他に手だてがありますでしょうか
0843nobodyさん2013/05/11(土) 09:15:59.98ID:???
>>842
HTMLエンティティ化して記載
0844nobodyさん2013/05/11(土) 12:18:36.78ID:OhMoHBiS
どこかのブログでやってるけど
フィールド名いじっておいて
普通に使うフィールド名は罠フィールドとしてcssで非表示

罠フィールドに何か入ってたらbotとして拒否

ということやってる
0845nobodyさん2013/05/11(土) 22:28:31.55ID:JC/Ksawh
error_log()について質問です

質問1
message_typeで1を指定したらメールを送れるってことですが、
この場合このPHPが入ってるのと同じサーバのsmtpdを利用するってことですよね?
他サーバのsmtpdを使うことは出来ないんでしょうか
アプリケーションサーバとメールサーバを分けたい場合はどうすれば良いんでしょうか

質問2
エラーを出力保存するファイルを指定できるようになっていますが、
蓄積されたエラーが膨大になった時に、過去ログ化して新しい同名のファイルを
作成することになるんだと思います。
このとき、何を基準に新規ファイル作成するんでしょうか

そういうのを指定できるオプションってないですか?
よろしくお願いします
0846nobodyさん2013/05/11(土) 22:36:28.21ID:???
>>845
1
http://www.php.net/manual/ja/mail.configuration.php
2
logrotate
0847nobodyさん2013/05/11(土) 23:07:38.46ID:???
>>846
ありがとうございます、助かりました
0848nobodyさん2013/05/12(日) 12:39:50.54ID:kHm/fQGT
すみません、上でerror_log()について質問したものなんですが、ログの文章が改行ができません
ググるとたくさん該当する話が出てくるんですが
$msg = "エラーです";
error_log($msg.'\n', 3, '/tmp/error.log');
error_log($msg.'\r', 3, '/tmp/error.log');
error_log($msg.'\r\n', 3, '/tmp/error.log');
error_log($msg.'\n', 3, '/tmp/error.log');
error_log($msg.'\r', 3, '/tmp/error.log');
error_log($msg.'\r\n', 3, '/tmp/error.log');
とどうやっても改行されません

エラーです\n
エラーです\n
と、そのまま出てしまいます

どうしたらいんでしょうか
08498482013/05/12(日) 12:46:50.30ID:???
化けてたらすみません、上記のサンプルの上三つはバックスラッシュ、下三つは¥記号です
0850nobodyさん2013/05/12(日) 12:52:41.37ID:???
改行はだぶるくぉーてーしょん。
08518482013/05/12(日) 12:58:21.07ID:???
>>850
ありがとうございます!
こんな使いわけが必要なんですね、ビックリしました
0852nobodyさん2013/05/12(日) 22:03:29.67ID:???
>>841
ありがとうございます。
オブジェクトの時は常にtrueなんですね
0853nobodyさん2013/05/12(日) 22:07:17.68ID:4FW3vhI4
◆じゃあのさん来た◆
178:名無しさん@13周年[]
2013/05/12(日) 20:54:52.39 ID:VA7SdRMg0
ふーーーんwwww
民主党調子こいてんなあwwww
ようおまいらwww元気ぃ?wwwよろしくやってたかい?www
--- 以下スレ情報 ---
【政治】「自民が反対したから」「官僚が抵抗したから」 民主党の『大反省会』、反省どころか、言い訳や責任転嫁がほとんど★3
http://uni.2ch.net/test/read.cgi/newsplus/1368355843/
0854nobodyさん2013/05/13(月) 13:12:37.61ID:Y6gDftln
【OS名】windows7
【PHPのバージョン】5.3
【連携ソフトウェア】
【質問内容】HTMLの入力フォームにURLを入力して、
予め保存してある複数のURLと重複していないか、
リンク切れではないかという判定をしたいのですが
うまくいきません。
まず重複の判定は、入力フォームからの文字列を$str、
予め保存してるURLを"urlist.txt"に保存してます。

if(!$fp=fopen("urllist.txt","r")){
return ERROR(1);
}else{
$urllist = file("urlist.txt");
foreach( $urllist as $url ){ //URLの重複チェック
if (mb_ereg( "$str","$url" )){
return ERROR(2);
break;
}
}
fclose($fp);
}

こんな感じで、普通のURLだと重複チェックできるのですが、
yutubeやニコニコ動画などのURLだとなぜか判別できません。
08558542013/05/13(月) 13:14:40.79ID:Y6gDftln
そして、リンク切れのチェックはネットで見つけた
get_http_headerというのをつかってみたのですが
うまくできませんでした。
何か良い方法があれば教えてください。
よろしくお願いします。
0856nobodyさん2013/05/13(月) 13:29:28.92ID:???
正規表現のパターンなんだから、
.は任意の一文字で合ってしまうとしても、 ? があると通らないよね。
0857nobodyさん2013/05/13(月) 13:40:37.60ID:???
判別できない両者を出してみてどうなってるか見てみては
0858nobodyさん2013/05/13(月) 15:15:30.49ID:k+GDNsHp
【PHPのバージョン】5.3.6

function &hoge()
{
return new StdClass;
}

とすると、
Notice: Only variable references should be returned by reference
とエラーログが出ますよね。
で、いったんnewを変数に入れてからreturnすると問題はなくなります。

しかしこれって、いったん変数に入れることで
PHPの処理内容としてどのような違いがあるわけなのでしょうか?

恐れ入りますが、ものすごくわかりやすく教えて下さい。
08598542013/05/13(月) 15:56:53.43ID:Y6gDftln
>>856-857
レスありがとうございます。
見てみたら、yutubeやニコ動のURLには?、&など入ってました。
これを正規表現に展開しないようにすれば、判別できるようになるのでしょうか?
展開しないようにそのまま判別するには、?、&があった場合に\を付ける的な
処理をすればできますかね?
0860nobodyさん2013/05/13(月) 16:19:53.06ID:???
基本的に同一とみなす条件を調べないとならんと思うけど
完全一致でいいならstrcmpやstrcasecmp使ってはどうか。
0861nobodyさん2013/05/13(月) 16:52:44.90ID:???
>>858
質問の答えじゃ無いんだけど、なんで
function hoge()
とやらずに
function &hoge()
ってやりたいの?
0862nobodyさん2013/05/13(月) 17:06:55.59ID:k+GDNsHp
>>861
PHPの挙動と仕様への理解を深めたいだけで、やりたいわけじゃないです。
オブジェクトはデフォルトで参照で渡されるそうですが、
この場合、&を付けることでどのような違いが発生していますか?
0863nobodyさん2013/05/13(月) 18:14:48.62ID:???
>>862
んー、明確な答えを持ってるわけじゃ無いんだけど、まず、new Klassしたものはリファレンスではない。
http://php.net/manual/ja/language.oop5.references.php ・・・(1)

$a = new Klass;
この場合の$aはリファレンスでは無くオブジェクトのID。

一方、リファレンスを戻すメソッドは、&method()と定義し、リファレンスを戻さなければならない。
http://www.php.net/manual/ja/language.references.return.php

つまり、&method()では、new Klassしたものを直接戻すことはできない(型が違うので)。

&method()でreturn $variable;と書くと、$variableのリファレンスが戻される(&$variableが戻る)。
これは、(1)の$c = &$d; の場合と同じ。
08648632013/05/13(月) 18:16:35.34ID:???
だとしたら、なぜfunction &method()でreturn new Klass;としたときに、&(instance)的な処理が
行われないのだろうかという疑問が残るが、それは良くわからない。

良くわからないので、俺は&method()は一生使わないと思う。
0865nobodyさん2013/05/13(月) 18:22:46.46ID:???
PHPの場合は良くわからないけど、一時オブジェクトを参照で受けるってありなのか?
0866nobodyさん2013/05/14(火) 00:45:31.37ID:gD2UsIag
>>>863
オブジェクトのIDとは知らなかったのでひじょーに勉強になりました。

> 式 の結果を返してくれることはありません。
> 可能なことは、値へのリファレンスを返すことができるということだけで、
> それ以外の何者でもありません。

という仕様だということで、&のretun newが無効なのも納得できました。
0867nobodyさん2013/05/14(火) 01:13:37.48ID:gD2UsIag
関連して気になったのですが、

function hoge()
{
return 1;
}

$r = &hoge();

とした時、$rの参照先はどこを指していますか?
どこからもアクセスや改変がされない何処かなのでしょうか?
0868nobodyさん2013/05/14(火) 09:26:33.29ID:???
動きません
08698672013/05/15(水) 07:58:41.28ID:/TAZ4XOp
PHPのマニュアルを読んで自分なりに考えました。
マニュアルで、リファレンスはハードリンクのようなものだと学びました。
http://www.php.net/manual/ja/language.references.whatare.php

とすると、>>867では「$r = &hoge();」としても、「$r = hoge();」としても、
この場合、値に対してシンボルテーブルが割り当てられているのは「$r」に限られるため、
「$r」が保持するものも処理内容自体も、全く同じであると考えていいわけですね?
0870nobodyさん2013/05/15(水) 22:55:26.37ID:efuZNxA4
ぐぐる先生もなかなか回答をくれずさっぱりです。
くだらない質問ですが助けてください。

【OS名】Windows7+XAMPP1.8.1
【PHPのバージョン】5.4.7
【連携ソフトウェア】PEAR 1.9.4
【質問内容】
DBからテーブルのデータを連想配列に取り込もうとしています。
Web上にあった「while($row=$hoge->fetchRow(DB_FETCHMODE_ASSOC))」を利用して実行すると、
「Notice: Use of undefined constant DB_FETCHMODE_ASSOC - assumed 'DB_FETCHMODE_ASSOC' in hogehoge.php on line 34」とエラーが出てしまいます。
エラーの通り「while($row=$hoge->fetchRow('DB_FETCHMODE_ASSOC'))」とするとエラーは消えますが、取得した配列のキーはnullになります。
どうしたら回避できるでしょうか。
なにとぞお助けください。
0871nobodyさん2013/05/16(木) 01:43:12.19ID:???
初心者はxampp使うな
0872nobodyさん2013/05/16(木) 02:27:01.44ID:???
xampp良いと思うけどなー
サーバーたててlampは辞めて欲しいけどローカル用環境ならxamppで十分でしょ
08738702013/05/16(木) 08:03:03.05ID:yTIwfF81
>>871 >>872
ありがとうございます。
XAMPPで構成されたAPACHEやPHPは単独で入れた場合と動作が違うということでしょうか。
XAMPP消してそれぞれ単独インストールしてみたほうがいいですか?
0874nobodyさん2013/05/16(木) 10:52:46.00ID:???
>>870
requireが足りてないんじゃないの?
0875nobodyさん2013/05/16(木) 12:38:58.01ID:IW38rAuX
ファイルの書き換えで
fileで読み出し
whileで全行検索
一致部分を変更
file_put_contentで元に戻すという形で書き換えています。
linuxのsedみたいに指定箇所をざっくり書き換える方法はありますか?
0876nobodyさん2013/05/16(木) 12:52:43.89ID:???
ざっくりって何だよ?
あと、sedがいいならsed起動しろ。
0877nobodyさん2013/05/16(木) 13:26:22.85ID:IW38rAuX
>>876
すべてをいったん読み込むことなく
該当する場所のみを書き換えるのにざっくりという言葉を使ってしまいました。
申し訳ありません。

現在開発をしているところはコマンドを叩ける権限がないので
一旦すべてを読み込む以外でsedのように書き換える方法があればと思っておりました。
0878nobodyさん2013/05/16(木) 14:32:47.60ID:???
>>877
全部まとめて読むのが嫌なら一行ずつ読めばいいじゃない。
0879nobodyさん2013/05/16(木) 15:16:03.67ID:???
>>877
全てを読まないとどこを変更していいかわからないだろ。
sedだって全部読んでる。
0880nobodyさん2013/05/16(木) 16:59:41.66ID:???
うちのsedはきっちり書き換えてくれるよ。

ファイルの先頭に一文字追加したときに起こっていることについても勘違いしてそう。
0881nobodyさん2013/05/16(木) 17:21:26.79ID:???
sedが書き換えてくれないなんて誰も言ってませんが
0882nobodyさん2013/05/16(木) 17:31:23.47ID:???
ざっくり書き換えるsedをください
0883nobodyさん2013/05/16(木) 19:08:30.78ID:???
こっそり書き換えるsedなら
0884PHP神2013/05/16(木) 20:21:10.92ID:???
>>875
読む分と書く分をfopenしてwhileでfgetsして処理してfwrite
08858702013/05/16(木) 20:28:48.82ID:pZ2YUXzt
>>874
ご指摘ありがとうございます。
requireはMDB2.phpだけ指定しています。
MDB2_driverも呼んでみましたが変わらなかったです。
0886nobodyさん2013/05/16(木) 20:40:17.71ID:???
>>885
そのコードはどこからコピーしてきたの?
0887nobodyさん2013/05/16(木) 22:58:34.11ID:???
DB_FETCHMODE_ASSOC は  pear:DB 
MDB2なら MDB2_FETCHMODE_ASSOC 
08888702013/05/17(金) 18:10:51.64ID:GrS1oXzW
>>887
解決しました!!
マニュアルはちゃんと全部読めってことですね、猛省します・・・。
みなさまありがとうございました!!
0889nobodyさん2013/05/17(金) 19:57:20.25ID:???
いや別のモジュールのサンプルコードをコピペしてくんなよってことだよ
0890nobodyさん2013/05/17(金) 20:42:22.69ID:hjTCl7an
PHP勉強し始めて1か月くらいなんですけど、質問です。スレチだったらすいません
↓このプログラムの値を受け取るにはどのようにしたらいいのでしょうか?
<form action="sample10-2.php" method="get">
<?php
$items=array('a-1'=>'ガム', 'b-2'=>'チョコレート', 'c-3'=>'クッキー');
foreach($items as $itemKey => $itemValue){
print('<input type="checkbox" id="'.$itemKey.'" value="'.$itemKey.'" />
<label for="'.$itemKey.'">'.$itemValue.'</label>');
}
?>
<input type="submit" value="送信する" />
</form>
0891nobodyさん2013/05/17(金) 20:46:23.00ID:???
>>890
受取先でvar_dump($_GET)してみ
0892nobodyさん2013/05/17(金) 21:54:07.09ID:hjTCl7an
>>891さん
array(0) { } ってでてきました。
0893nobodyさん2013/05/17(金) 22:03:08.07ID:???
送信するってボタン押した?
08948902013/05/17(金) 22:06:06.39ID:hjTCl7an
押しました!受け取る側のプログラムの変数宣言とかもわからないのですがそのせいでしょうか?
0895nobodyさん2013/05/17(金) 22:27:59.48ID:jIpNXAl4
レンタルサーバーで
/public_htmlファルダに置いたa003.phpに対して
同じく/public_htmlファルダに置いたtest.shに
#!/usr/bin/php

cd ~/public_html
/usr/bin/php a003.php

と書いて、cronマネージャに
sh ~/public_html/test.sh
と書いて実行しましたが、a003.phpは動きません

sh ~/public_html/test.shは間違いない記述で
a003.phpは動作正常に動作しています。
test.shのphpの実行の間違えだと思うのですが、
教えてください。
0896nobodyさん2013/05/17(金) 22:37:03.62ID:???
実行権限とか、改行コードとか
0897nobodyさん2013/05/17(金) 22:41:22.82ID:???
>>894
getメソッドなら送信後のURLをコピペしてみ
0898nobodyさん2013/05/17(金) 22:47:24.26ID:jIpNXAl4
実行権限はa003.phpが777で
test.shが777にしています。
レンタルサーバーの会社に問い合わせると、
phpは動く。
cronのコマンドなどのサポートは一切できない
という返信が来ました
もう、さっぱりわかりません
08998902013/05/17(金) 22:48:23.15ID:hjTCl7an
>>897さん
URLは
http://localhost/sample10-2.phpになりました
0900nobodyさん2013/05/17(金) 22:49:31.26ID:???
>>898
なんでPHP宣言でシェルスクリプト動かそうとしてるのさ
0901nobodyさん2013/05/17(金) 22:57:18.66ID:???
>>899
もうソースうp
0902nobodyさん2013/05/17(金) 23:03:59.98ID:???
実行権限はa003.phpが777で
test.shが777にしています。
レンタルサーバーの会社に問い合わせると、
phpは動く。
cronのコマンドなどのサポートは一切できない
という返信が来ました
もう、さっぱりわかりません
0903nobodyさん2013/05/17(金) 23:05:37.84ID:???
大事なことなので二度書きました
0904nobodyさん2013/05/17(金) 23:06:17.51ID:jIpNXAl4
test.sh
cd ~/public_html
/usr/bin/php a003.php

こうですか
0905nobodyさん2013/05/17(金) 23:06:57.67ID:???
777にする意味がわからない
0906nobodyさん2013/05/17(金) 23:26:49.02ID:???
>>902

あとは php のパスかなぁ。確認した?たまに
/usr/local/bin/php
のところもあるよ
0907nobodyさん2013/05/17(金) 23:52:42.50ID:jIpNXAl4
phpのパス
モジュール版 パス: /usr/bin/php
となってました
fc2 レンタルサーバーLITE
0908nobodyさん2013/05/18(土) 00:22:14.10ID:???
> sh ~/public_html/test.shは間違いない記述で

これおかしくないか?
間違えてないって何で言えるの?
シェルを実行しているルートからのパスにしないとダメだろ
レス数が900を超えています。1000を超えると表示できなくなるよ。