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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/07/31(金) 21:19:01ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

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

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0348nobodyさん2009/08/10(月) 21:47:57ID:???
>>345
>チェックの項目を、下の「削除」と「メール作成」で扱おうとすると
>上手くいきません。
もうちょっと具体的に
2列分ぐらいのHTMLをここに書いてみるべし
たぶんcheckboxの受け渡し方がおかしいとは思うが
<input type="checkbox" name="id[5854]">
みたいにして配列で渡すとよい


>本当なら「詳細」はIDからリンクさせたいのですが、IDのデータをリンクで渡すやり方がわからなく、仕方ないので
>無理やりやっています。
<a href="shousai.php?id=5854">5854</a>みたいにGETで渡せばよい
0349nobodyさん2009/08/10(月) 22:25:45ID:???
えっ
0350nobodyさん2009/08/10(月) 23:37:48ID:???
>>343
ありがとうございました。
0351nobodyさん2009/08/11(火) 04:26:11ID:OhLUXqwk
シバン中envでパスを指定したphpを、
cronで実行すると、env php部分でエラーになります。
envがphpを見つけられないようです。

phpをフルパスで指定した場合、
あるいはターミナルから実行した場合、
あるいはスクリプトがrubyだった場合は問題ないです。

cron×env×phpの時に問題になります。
これは何故でしょうか?
0352nobodyさん2009/08/11(火) 05:42:26ID:???
盗聴ってLan内の事だよね?

03533512009/08/11(火) 08:28:51ID:???
cron実行時の環境変数PATHが貧弱なせいでした
0354nobodyさん2009/08/11(火) 10:36:18ID:???
というか実行するサーバが決まっているならphpのフルパスを書いた方が良いよ
0355nobodyさん2009/08/11(火) 11:28:36ID:???
while($row=$stm->fetch()){
for($i=0;$i<23;$i++){
if($i==0){
echo "<td align=\"center\">";
echo "<input type=\"checkbox\" name=\"check[]\" value=\"".$row['id']."\"/></td>";
}else if($i==1){
echo "<form method=\"POST\" action=\"../new_student.php\">";
echo "<td><input type=\"submit\" value=\"変更\"/></td>";
echo "<input type=\"hidden\" value=\"".$row['id']."\" name=\"id\">";
echo "</form>";
}else if($i==2){
echo "<form method=\"POST\" action=\"../display/student_page.php\">";
echo "<td><input type=\"submit\" value=\"詳細\"/></td>";
echo "<input type=\"hidden\" value=\"".$row['id']."\" name=\"id\">";
echo "</form>";
}
else{
echo "<td> ".$row[$i-3]."</td>";
}
}
echo "</tr>";
}
この下に削除とメールボタンがあるのですが、チェックボタンの間に変更と詳細があるので
formをまたがせる事が出来ません・・・・
簡単に言うと、
<チェックボタンのform>
<変更のform></変更のform>
<詳細のform></詳細のform>
</チェックボタンのform>
のような事がしたいです。
0356nobodyさん2009/08/11(火) 11:36:45ID:???
>>355
もらったレスはシカトか
0357nobodyさん2009/08/11(火) 11:37:51ID:???
>>355
>>345の人?

formをネストさせないで、>>347さんの言うようにcssで整形するか
押すボタンによってaction先をjavascriptで変える

どっちにしてもphpの話題ではない。板違い。
0358nobodyさん2009/08/11(火) 12:01:47ID:+4lP6KeF
お願いします

--------------------------
<table border=1> <tr>
<td>1</td>
<td>aaaa</td>
<td nowrap>bbbb</td>
<td>cccc</td>
<td>dddd</td>
</tr> <tr>
<td>2</td>
<td>eeee</td>
<td nowrap>ffff</td>
<td>gggg</td>
<td>hhhh</td>
</tr>
</table>
----------------------------

このようなHTMLのtdで囲まれた文字列を配列で取得したく

preg_match_all("/(<tr>.*?<td>(.*)<\/td>.*<td>(.*)<\/td>.*<td>(.*)<\/td>.*<td>(.*)<\/td>.*?<\/tr>)/i",$html,$match);

こう記述しましたが、期待通りの結果になりません
どうすればよいでしょうか?
0359nobodyさん2009/08/11(火) 12:20:56ID:???
なんじゃそりゃ
PHPで実行する前に正規表現チェッカで試すことをお勧めする
0360nobodyさん2009/08/11(火) 12:25:37ID:???
>>358
改行を最初に除去

$html = preg_replace('/\r/,'',$html);
$html = preg_replace('/\n/,'',$html);

preg_match(ry
0361nobodyさん2009/08/11(火) 12:26:55ID:???
何でわざわざ二回も
0362nobodyさん2009/08/11(火) 12:29:52ID:???
対象のソースがどんな改行コードで作られてるかわからない
\nだけなら'/\r\n/'とするとヒットしない
0363nobodyさん2009/08/11(火) 12:53:45ID:???
(\n|\r)でいいじゃん
0364nobodyさん2009/08/11(火) 12:54:53ID:???
str_replaceでも
0365nobodyさん2009/08/11(火) 12:54:55ID:???
その書き方ならこれじゃだめなの?

$html = preg_replace('/\r|\n/','',$html);
0366>>3552009/08/11(火) 13:05:46ID:???
すいません。
レス下さった方、ありがとうございます。
失礼しました。
0367nobodyさん2009/08/11(火) 13:15:33ID:???
正規表現を理解できてないのに自慢げに書いてる男の人って…
0368nobodyさん2009/08/11(火) 13:18:09ID:???
擁護じゃないけど正規表現未だに難しいわ。
どっかトラの穴か相応のプロジェクトでこねくりまわさないと一生
正規表現がでてくるたびにつまづく気がする。
0369nobodyさん2009/08/11(火) 13:20:59ID:???
勉強しろよ
03703682009/08/11(火) 13:23:37ID:???
なんつーかSQLほど出てくる結果に感動が無いと申しますか
0371nobodyさん2009/08/11(火) 13:24:05ID:???
SQLのどんな結果が感動?
0372nobodyさん2009/08/11(火) 13:25:34ID:???
なんかアドバイスしたら>>367みたいに揚げ足取られるならしないほうがいいな
なんでそんなにひねくれてるの?
0373nobodyさん2009/08/11(火) 13:35:25ID:???
正規表現使ってないのにpreg_replace使う意味が分からない
指摘されて「こいつはひねくれてる」で終わるようなら回答しなくていいよ
03743682009/08/11(火) 13:45:12ID:???
結局なんか正規表現使う場合って場当たり的な書き方になってしまってるのがなんかやだなぁ
SQLだとおもった結果を何回かのクエリやらプロセス通さず一発のクエリで導きだしたりが
醍醐味かなぁ。。まぁおれが正規表現こねたことないからだろうけど。
0375nobodyさん2009/08/11(火) 13:50:30ID:???
正規表現も、文字列の集合からおもった結果を一発でとってくるわけで
ようは正規表現に苦手意識みたいなものがあるだけじゃないか?
複雑なSQL組み立てた時に感動するなら
同じように、パッと見暗号にしか見えない正規表現作れた時も感動できるかもよ。
03763682009/08/11(火) 14:01:32ID:???
たぶん変な苦手意識は少なからずあるな。見ただけでなんぞこれ〜ってなっちゃう。

読むのがつらいからかなぁ?対象となる文字列から人間の目での抜き出しはこんなに
簡単にできるのに、機械にあわせようとするからこんなややこしい暗号になってしうのか・・・つーかんじか
0377nobodyさん2009/08/11(火) 14:07:48ID:???
正規表現はコメント振ってても、後で見たら意味不明になってたりするしな・・・
0378nobodyさん2009/08/11(火) 14:08:28ID:???
>>376
SQLのどんな結果が感動なの?ねえ???
03793682009/08/11(火) 14:15:43ID:???
>>378
ん?自分で計算するのも面倒な行の合計だけでも感動しない?
SQLこねて作った場合でも感動するよ。
心の中で「あ、でたw」「数値変えたらちゃんと結果も変わったwおkおk」てなかんじで。

正規表現使ってる時の心の声は「あーなんでこれ抜き出せないんだよ」「たったこことここだけなのに!」
とかいう心の声が多いですわ。
0380nobodyさん2009/08/11(火) 14:25:28ID:???
>ん?自分で計算するのも面倒な行の合計だけでも感動しない?
PHPの存在意義は・・・?
0381nobodyさん2009/08/11(火) 14:32:15ID:???
結果的に期待どおりの動きになってたらいいと思うんだが
やたら人のスクリプトや考えを否定的なやつってうざいよな
正直ひねくれてると思われても仕方が無いと思うわ
03823682009/08/11(火) 14:47:16ID:???
まぁスレチだったわけですいません。なかなか正規表現に慣れないもので
なにか良い見方・覚え方・学び方があるのならとはおもってずるずると。

380 まぁ今の話のなかではないね。3重以上のループ組むならやはりSQLで外部参照とか組んじゃうけど。
381 まぁ色々やり方あってもいいわな。美しいか美しくないかも上記ループのようにあるかもしれんけど。
0383nobodyさん2009/08/11(火) 15:16:23ID:???
結合はDBの基本では

「SQLは行の合計ができるから感動する」っていうから
この人エクセルとかプログラム知らないのかなと思っただけ。

結局難しそうなものから逃げてるだけでは?
0384nobodyさん2009/08/11(火) 15:22:16ID:???
ここはPHPスレです
0385nobodyさん2009/08/11(火) 17:44:20ID:???
何事も勉強する意欲には「おー」とか思う感動が必要なんじゃないかなとおもって。
場当たり的に定石も美しさもわからずなんとか対処してる俺は正規表現をまともに習得できるきがしない。
0386nobodyさん2009/08/11(火) 17:50:48ID:???
>>385
>正規表現をまともに習得できるきがしない。
それがダメなんだってば
0387nobodyさん2009/08/11(火) 18:04:17ID:???
「出来ない」と思えば何もかも出来なくなる
「出来る」と思えば出来る
0388nobodyさん2009/08/11(火) 18:17:02ID:???
まだやってんのか。
0389nobodyさん2009/08/11(火) 19:05:36ID:???
>>388
暇なんだもん
0390nobodyさん2009/08/11(火) 19:43:28ID:???
正規表現なんて要は希望通りマッチすりゃいいんだから、適当に書くぐらいで丁度良い。
あれこれメタキャラクタ使って短縮したり技巧を凝らすのは好きな人がやればいい
03913682009/08/11(火) 20:17:40ID:???
その適当感がたまらなく嫌なんだ。。
0392nobodyさん2009/08/11(火) 20:58:13ID:???
適当人生のくせに
0393nobodyさん2009/08/11(火) 21:57:04ID:???
だから書くコードだけでもとw
0394nobodyさん2009/08/11(火) 22:42:38ID:???
正規表現になると玄人面したやつが素人の書いたやつに文句つけるから荒れるんだよ
変だと思ったらこう書けばよいとさらりと書き直してあげれば終わるんだから
いちいちつっかかる必要はない
書き直したコードみて最初に書いたやつもほーこう書くのかーと勉強になるし
まぁここ正規表現スレじゃないけどもう少し大人になろうぜ
0395nobodyさん2009/08/11(火) 23:10:09ID:???
正規表現は、ややっこしいパターンを書かざるを得ない羽目に陥って嫌々書いてるうちに自然と覚える。
分かってしまえば簡単。
複雑な技巧は、個人的には避けるべきだと思う。可読性とメンテナンス性が落ちる事が多い。
0396nobodyさん2009/08/11(火) 23:46:23ID:???
>>394
何でこう書かないの?的なツッコミが必ず入るのは勉強にはなるけど、
荒れやすい要素ではあるよなあ。

あとはお決まりの「メールアドレスを正規表現で(ry」も一言で済むのに
何故か突っかかられる印象がある。
0397nobodyさん2009/08/12(水) 01:19:04ID:PY+df2PJ
教えてください
あるページでセッション変数として文字列を保存し、
異なるページで保存したセッション変数の中身を表示させようとしています。
まったく同じファイルなのですが、
IEだとうまく表示できるのに、
Firefoxだと何も表示されない(空文字)になってしまいます。

IEではうまく動作するのにFirefoxだと駄目なんてことはあるのでしょうか。
Firefoxはバージョン3.5.2で、
サイトから送られてきてたCookieを保存する、サードパーティのCookieも保存するに
チェックがついていて、例外サイトには何も設定していません。
保存する期間はサイトが指定した期限までとなっています。

なぜなんだろう?
0398nobodyさん2009/08/12(水) 01:33:08ID:???
IEでうまくいって他がうまくいかない大半はタグの間違い
IEはヘンテコリンなタグでも適当に解釈してしまうので、IEが間違っている
0399nobodyさん2009/08/12(水) 01:45:20ID:PY+df2PJ
ありがとうございます
うーん。タグとかでなく、セッションに保存した内容が取得できないんですよね
if ($var == ""){}でtrueになるので、タグ以前の問題ではないかと思っています
0400nobodyさん2009/08/12(水) 01:47:37ID:???
再現するコードうp
0401nobodyさん2009/08/12(水) 02:14:30ID:PY+df2PJ
了解しますた

呼び出す側
<?
 $pic = "file.wmv";
 session_start();
 $_SESSION["pic"] = $pic;
?>
<html>
<head>
</head>
<body>
 <object id="MediaPlayer" width="640" height="525" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715"
standby="Loading MicrosoftR WindowsR Media Player components..." type="application/x-oleobject">
  <param name="FileName" value="movie.html" />
  <param name="AutoStart" value="true" />
  <param name="ShowControls" value="true" />
  <embed name="プレーヤー名" type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" src="movie.html" width="640" height="525" autostart="1" showcontrols="1"></embed>
 </object>
</body>
</html>
0402nobodyさん2009/08/12(水) 02:15:12ID:???
呼び出される側
<?
 session_start();
 $pic = $_SESSION["pic"];
 if ($pic == "")
 {
  exit;
 }
 if (file_exists($pic)) {
  header('Content-Type: video/x-ms-wmv');
  header('Content-Length: ' . filesize($pic));
  ob_clean();
  flush();
  readfile($pic);
 }
?>
0403nobodyさん2009/08/12(水) 02:24:30ID:???
つvar_dump($pic)
0404nobodyさん2009/08/12(水) 02:46:47ID:???
PHPさんからSet-Cookieついた
Firefoxさんたらガツガツ食べた
仕方がないのでWMPさん手ぶらで聞いた
さっきのCookieご用事なぁに

IEさんとWMPさんは仲良しなのでCookieを回し読みします
0405削ジェンヌ2009/08/12(水) 02:57:34ID:???
つまらん >>404
死んだ方が良いよ。
0406nobodyさん2009/08/12(水) 03:23:49ID:???
この場合読み込みを行うのはIEでもFirefoxなくWMPだな
IEにCookie食べさせるとWMPでも使われるがFirefoxが食べたCookieはFirefox以外で使われない
セッションの管理方法をcookieじゃなくてURLにセッションIDを付加させる方法にしたらいいと思う
0407nobodyさん2009/08/12(水) 03:31:16ID:???
セッションIDの受渡し
http://jp2.php.net/manual/ja/session.idpassing.php
読めば分かると思う
0408nobodyさん2009/08/12(水) 04:42:13ID:???
PHPファイルの中でオブジェクト開けばいいんじゃ
0409nobodyさん2009/08/12(水) 10:02:26ID:???
日本語でおk
04103972009/08/12(水) 15:18:43ID:???
試してみました。
sessionIDをGETで渡して、
session_startの前にsession_id(string id)でsession_idを渡すことで
ひとまず動作しました。

確かに、考えれば最後はWMPがhtmlを参照するので
Firefoxで設定したsessionが読めるわけないですね。
でも、Firefoxの過去のバージョンではなぜかうまく動作していたんですよ・・
うーんなぜなんだろう・・
0411nobodyさん2009/08/12(水) 16:10:37ID:L+TnL+Ze
セッション引き回しも質問です。
[OS]FreeBSD 6.1-RELEASE-p10(CPIのシェアードプラン X30)
[php]4.4.7
[DB等]mysql使用(phpでは--with-pgsql7も組み込み)
[症状]セッションが引き回されない

require "env.php";
session_start();

// 1回目
if ($DEBUG) { print_r($_SESSION); }

$userId = $_POST['userId'];
$passwd = $_POST['password'];
$sessId = $_SESSION['userId'];
$sessPw = $_SESSION['passwd'];

// 2回目
if ($DEBUG) { print_r($_SESSION); }
0412nobodyさん2009/08/12(水) 16:13:50ID:L+TnL+Ze
(>>411の続き)
// MySQLへ接続
$conn_id = mysql_connect($MySQL['HOST'], $MySQL['USER'], $MySQL['PASSWORD']) or exit('MySQLへ接続できません。');
// 使用するデータベース選択
mysql_select_db($MYSQL['DATABASE'], $conn_id);
mysql_query("SET NAMES ujis");

// ユーザー認証
if (($sessId == null || $sessPw == null) && ($userId == null || $passwd == null)) {
echo "<div align=\"center\">";
echo "<p><font color=\"red\">ログイン情報に誤りがあります。<br>再度ログインを行ってください。</font></p>";
echo "<a href=\"index.php\">ログイン画面へ戻る</a>";
echo "</div>";
exit;
}

上記コードで、print_r()を2度呼び出して確認したところ、
1つめ…Array ( [userId] => ******** [passwd] => ******** )
2つめ…Array ( [userId] => [passwd] => )
となり、$_SESSION 配列の各要素の値が消えてしまいます。そのためか、if文が常に真となり、
セッションが引き回せません。この他のスクリプト間では何ら問題なく引き回せているので、
上記のソース部分に鍵がありそうなのですが、phpは慣れていないため原因がわからずにいます。
どなたかおわかりになる方がいらしたら是非教えてください。よろしくお願いします。
0413nobodyさん2009/08/12(水) 16:23:46ID:???
どこで$_SESSION['userId']と$_SESSION['passwd'];をセットしてるの?
0414nobodyさん2009/08/12(水) 17:41:12ID:L+TnL+Ze
>>413
ありがとうございます。続きのソースです。ログイン時に書き込みしています。
if ($sessId != null) {
$userId = $sessId;
}
if ($sessPw != null) {
$passwd = $sessPw;
}
$userResult = mysql_query("SELECT * FROM USER_MASTER WHERE USERID = '$userId' AND PASSWD = '$passwd'", $conn_id);
$userInfo = mysql_fetch_object($userResult);
if ($userInfo->USERID != $userId || $userInfo->PASSWD != $passwd) {
echo "<div align=\"center\">";
echo "<p><font color=\"red\">入力したユーザー情報に誤りがあります。<br>再度ログインを行ってください。</font></p>";
echo "<a href=\"index.php\">ログイン画面へ戻る</a>";
echo "</div>";
exit;
} else {
// セッションへログイン情報セット
$_SESSION['userId'] = $userId;
$_SESSION['passwd'] = $passwd;
//このあとhtml表示(省略)
}
0415nobodyさん2009/08/12(水) 18:40:17ID:???
>>414
$sessId $sessPw の2つに値は入ってるのかな?
0416nobodyさん2009/08/12(水) 18:40:31ID:???
function debug(){
$echo = '$_SESSION<br /><pre>'.print_r($_SESSION,true).'</pre><br />';
$echo .= '$_POST<br /><pre>'.print_r($_POST,true).'</pre><br />';
return $echo;
}
こんな関数書いてif文の前とかでecho debug();してみたら分かると思う
あとファイルの先頭にerror_reporting(E_ALL);書いて潜在的なバグをつぶす
0417nobodyさん2009/08/12(水) 23:35:55ID:kCVCP35f
PHP5.3.0で

$a1=x;
$a2=y;
echo $a1;
echo $a2;

と同じ動作をするコードを

$a1=x;
$a2=y;
for ($i=1;$i =2;++$i)
{
echo $a$i;
}

のように書いたらecho $a$i;の部分でエラーが出ました。
正しく動かすにはどのように書けばいいのでしょうか?
0418nobodyさん2009/08/12(水) 23:36:40ID:???
文字列連結
0419nobodyさん2009/08/12(水) 23:41:24ID:???
>>417
echo ${'a'.$i};
0420nobodyさん2009/08/12(水) 23:48:46ID:???
それなら配列でまとめたらいいと思うんだが
分かりやすいし応用できる
$a = array(
  [0] => x,
  [1] => y,
);
foreach($a as $value){
  echo $value;
}
0421nobodyさん2009/08/12(水) 23:49:37ID:kCVCP35f
>>418
$a1="x";
$a2="y";
for ($i=1;$i<=2;++$i)
{
$a = "a".$i;
echo $$a;
}
でうまくいきました。
ありがとうございます
0422nobodyさん2009/08/12(水) 23:51:13ID:???
>>415-416
ありがとうございます。
いろいろ試してみたのですが、走らせていたサーバのphpでregister_globals=onとなっていました。
そのせいか分からないのですが、>>411,412,414のコードのうち、411の

$sessId = $_SESSION['userId'];
$sessPw = $_SESSION['passwd'];

をコメントアウトしたところ、症状が解消しました。コメントあうとする前は、上記代入の前後で呼び出した
print_r($_SESSION) で、1回目では値があったのに2回目では消えていました。

つまり、上記のコード2行があると、その直前では値があったのに$sessIdも$sessPwもnullであり、
上記の2行がないと、$sessIdも$sessPwに $_SESSION['userId'] と $_SESSION['passwd']の値が
それぞれセットされているということになります。逆なら分かるのですが、症状はなくなったもののなんか
気持ち悪いです。
0423nobodyさん2009/08/12(水) 23:51:26ID:???
echo $a . $i;

でいいだろ・・・
0424nobodyさん2009/08/12(水) 23:57:16ID:???
>>422
register_globalsはたぶん後方互換のためにonにしているのだろうが
好きなように変数の中をいじれるのでセキュリティに問題がある
直ちにoffにしたほうがいい
0425nobodyさん2009/08/13(木) 02:18:30ID:CXYe9XKR
Windows上のVMwareでCentOS5を動かして開発しています。

現在、PHP OpenID Libraryを利用して
OpenIDのログイン処理のテストをしているのですが、
yahoo、mixi、ライブドア、はてな、いずれも
「現在ログインできません」のようなメッセージが出てログインできません。

curlやopensslが必要というのを見かけたので、確認しましたが、
いずれも有効になっていました。

レンタルサーバーなどにアップした場合はうまくいくのですが、
ローカル環境だとうまくいきません。

なにが原因なのでしょうか?
0426nobodyさん2009/08/13(木) 02:29:54ID:???
多分コードが悪い
0427nobodyさん2009/08/13(木) 09:24:07ID:h6lN5QEU
【OS名】RHEL
【PHPのバージョン】php5.26
【連携ソフトウェア】PostgreSQL 8.4.0
【質問内容】 Cronで回して相手サーバーにバックアップデータを投げたいのですが、レンタルなのでモジュールとかの追加は出来ません。
PHPでそういう事は可能でしょか?
もし可能ならPHPでそういった事をやる際はどういった関数を使えば可能ですか?
0428nobodyさん2009/08/13(木) 09:44:19ID:???
telnetなりsshなり使え
04294272009/08/13(木) 09:48:51ID:h6lN5QEU
>>428
回答ありがとうございます。
telnetとsshのポート空いてないサーバーなのでそういった事が難しいため
PHPなどで出来ないかと思っておりました。
説明が不足しており大変申し訳ありませんでした。
0430nobodyさん2009/08/13(木) 10:02:45ID:???
>>429
ftpならあいてるでしょ。
http://www.php.net/manual/ja/ref.ftp.php
0431nobodyさん2009/08/13(木) 10:10:51ID:???
データ量が少ないなら JSON なりでいいかもしれないけれど
04324252009/08/13(木) 10:20:31ID:???
>>426
ライブラリの使い方が間違ってるということでしょうか?
ほとんどコピペなので、コード以前の、
環境の問題のような気がしているのですが・・・
04334272009/08/13(木) 11:03:42ID:h6lN5QEU
>>430
すいません。
HTTPサーバーのみ稼働しててFTPが使えないです。
情報を小出しにしているわけではないですが他にも必要な情報あれば言ってください。
0434nobodyさん2009/08/13(木) 11:28:50ID:???
JSONって元気?
0435nobodyさん2009/08/13(木) 12:21:35ID:???
>>432
環境をコードに合わせるんじゃなくてコードを環境に合わせるべし
04364322009/08/13(木) 12:48:26ID:CXYe9XKR
>>435
できればそうしたいのですが、環境のどこがまずいのか分からなくて・・・
そもそも「現在ログインできません」とは、どういう状況なのでしょうか?
0437nobodyさん2009/08/13(木) 14:29:54ID:???
ライブラリのコードを追うしかない
0438nobodyさん2009/08/13(木) 14:56:28ID:???
OpenIDなんてはじめてしったわ
2年も前からやってるのか・・・
ぜんぜんついていけてない
0439nobodyさん2009/08/13(木) 15:56:21ID:???
>>433
相手サーバーでcron使って file_get_contents で ファイルもってくれば?

0440nobodyさん2009/08/13(木) 16:54:53ID:lMlALn5L
Windows環境でphpizeする方法が詳しく書かれているサイトってありますか?
04414332009/08/13(木) 17:04:41ID:h6lN5QEU
>>439
その手がありましたね。
すっかり忘れてました。
ですが諸事情あってあくまで初回のアクションはバックアップ元にしたいので
バックアップ元のCronでバックアップ先のPHPを叩くようにすれば出来そうです。
ありがとうです。
0442nobodyさん2009/08/14(金) 08:03:40ID:S/PVqIxN
PHPの質問とは直接関係ないのですがどこで聞けばいいのかわからないのでどなたかわかる方お願いします

a.php
header("Content-Type: application/zip");
echo "zipのバイナリコード";

ダウンロードダイアログでa.phpとなってしまうのですが(zipにリネームしたら開けるのですが)
a.zipでダウンロードさせるにはどうしたらよいのでしょう?
headerで何か明示的にダウンロード時のファイル名を指定できると読んでいるのですが
やり方がわかりません(読み違いでできなかったらすみません)
0443nobodyさん2009/08/14(金) 08:07:05ID:???
公式マニュアルのheader関数のページにサンプルが載ってるよ
http://php.net/header
04444422009/08/14(金) 08:13:30ID:S/PVqIxN
>>443
盲点でした
ズバリな答えが書いていますね
助かりました
どうもありがとうございました
0445nobodyさん2009/08/14(金) 22:42:22ID:vkQArbxO
mb_splitについて質問させてください
症状はFreeBSD7.1+PHP5.2.10のレンタルサーバで実行結果が以下のようになってしまいます

$arrWork = mb_split (",", "2004年5月13日,1234566,aabbcccddd");
foreach ($arrWork as $data)
  echo "$data\n";

実行結果
  2004年5月13日,1234566
  aabbcccddd

手元のWindowsXP+PHP 5.2.8では、以下の実行結果となり、当方はこちらの結果を想定してプログラミングをしています
実行結果
  2004年5月13日
  1234566
  aabbcccddd

おそらく文字コード関連だと思うのですが・・
なお、.phpファイルの文字コードは全てUTF-8で統一して有ります
0446nobodyさん2009/08/14(金) 22:43:30ID:???
mbstringの文字コードも設定しなきゃ
0447nobodyさん2009/08/14(金) 22:52:22ID:???
正規表現
■ このスレッドは過去ログ倉庫に格納されています