①http://q.hatena.ne.jp/1365606294 と②http://q.hatena.ne.jp/1365546701 の質問の続きです
①と②を合体させたいとおもい、以下のgattai.phpプログラムを実行したのですが
思い通りに差分ファイルが作成されませんでした
①だけのphp ②だけのphp を実行した場合はうまく動作ました。
gattai.phpを実行した後、いろいろいじっている間にFFFTPでnew.txtをアップロードしようとしたら
550 /public_html/~/new.txt: Permission denied
と出たので、もしかしたらnew.txtに読み取り禁止のロックがかかっている可能性があるのではと思っています。
どうすればきちんと差分ファイルを作成できるでしょうか?
gattai.php
<?php mb_internal_encoding("utf-8"); $filename = "new.txt"; $url = "http://headlines.yahoo.co.jp/hl"; $str = file_get_contents($url); $str = mb_convert_encoding($str, "utf-8", "auto"); preg_match("/<head>(.+?)<\/head>/ismu", $str, $arr); $sSearch = array(); $sSearch[0] = "<script type=\"text/javascript\">\n"; //ダブルクォーテーション $sSearch[1] = "/^<meta.*\n/mu"; //正規表現; $sReplace = array(); $sReplace[0] = ''; $sReplace[1] = ''; $sResult = str_replace($sSearch[0], $sReplace[0], $arr[1]); $sResult = preg_replace($sSearch[1], $sReplace[1], $sResult); file_put_contents($filename, $sResult); $file_new = file("new.txt", FILE_IGNORE_NEW_LINES); $file_old = file("old.txt", FILE_IGNORE_NEW_LINES); $result = array(); foreach ($file_new as $line) { if (!in_array($line, $file_old)) { array_push($result, $line); } } file_put_contents("diff.txt", join("\n", $result)); ?>
http://siriasu.s10.xrea.com/ffftp/ffftp.htm
ffftpで属性を変更してください。
フォルダに入れてるならば それも。
あと そのphpのファイルも とりあえず 777にしてください。
全部チェックすれば 777です。
<?php mb_language("Japanese"); mb_internal_encoding("utf-8");
一行目に
mb_language("Japanese");
を追加してください。
言われたとおりに一行目に追加して属性変更をしてやりましたが、できませんでした
2013/04/11 23:32:29サーバーは coreserverを使っています
new.txtの属性が644になっていたので属性変更しようとしましたが、属性変更できませんでした