本文整理匯總了PHP中FileCtl::file_write_contents方法的典型用法代碼示例。如果您正苦於以下問題:PHP FileCtl::file_write_contents方法的具體用法?PHP FileCtl::file_write_contents怎麽用?PHP FileCtl::file_write_contents使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類FileCtl
的用法示例。
在下文中一共展示了FileCtl::file_write_contents方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: makeDenyHtaccess
/**
* ディレクトリに(アクセス拒否のための) .htaccess がなければ、自動で生成する
*
* @return void
*/
function makeDenyHtaccess($dir)
{
$hta = $dir . '/.htaccess';
if (!file_exists($hta)) {
$data = 'Order allow,deny' . "\n" . 'Deny from all' . "\n";
FileCtl::file_write_contents($hta, $data);
}
}
示例2: settaborn_off
/**
* ■スレッドあぼーんを複數一括解除する
*/
function settaborn_off($host, $bbs, $taborn_off_keys)
{
if (!$taborn_off_keys) {
return;
}
// p2_threads_aborn.idx のパス取得
$taborn_idx = P2Util::idxDirOfHostBbs($host, $bbs) . 'p2_threads_aborn.idx';
// p2_threads_aborn.idx がなければ
if (!file_exists($taborn_idx)) {
p2die('あぼーんリストが見つかりませんでした。');
}
// p2_threads_aborn.idx 読み込み
$taborn_lines = FileCtl::file_read_lines($taborn_idx, FILE_IGNORE_NEW_LINES);
// 指定keyを削除
foreach ($taborn_off_keys as $val) {
$neolines = array();
if ($taborn_lines) {
foreach ($taborn_lines as $line) {
$lar = explode('<>', $line);
if ($lar[1] == $val) {
// key発見
// echo "key:{$val} のスレッドをあぼーん解除しました。<br>";
$kaijo_attayo = true;
continue;
}
if (!$lar[1]) {
continue;
}
// keyのないものは不正データ
$neolines[] = $line;
}
}
$taborn_lines = $neolines;
}
// 書き込む
if (file_exists($taborn_idx)) {
copy($taborn_idx, $taborn_idx . '.bak');
// 念のためバックアップ
}
$cont = '';
if (is_array($taborn_lines)) {
foreach ($taborn_lines as $l) {
$cont .= $l . "\n";
}
}
if (FileCtl::file_write_contents($taborn_idx, $cont) === false) {
p2die('cannot write file.');
}
/*
if (!$kaijo_attayo) {
// echo "指定されたスレッドは既にあぼーんリストに載っていないようです。";
} else {
// echo "あぼーん解除、完了しました。";
}
*/
}
示例3: save
public function save($data)
{
global $_conf;
$path = $_conf['pref_dir'] . '/' . $this->filename;
$newdata = '';
foreach ($data as $na_info) {
$a[0] = strtr(trim($na_info['match'], "\t\r\n"), "\t\r\n", " ");
$a[1] = strtr(trim($na_info['replace'], "\t\r\n"), "\t\r\n", " ");
if ($na_info['del'] || ($a[0] === '' || $a[1] === '')) {
continue;
}
$newdata .= implode("\t", $a) . "\n";
}
return FileCtl::file_write_contents($path, $newdata);
}
示例4: changeSkin
/**
* スキンを切り替える
*/
function changeSkin($skin)
{
global $_conf;
if (!preg_match('/^\\w+$/', $skin)) {
return "p2 error: 不正なスキン ({$skin}) が指定されました。";
}
if ($skin == 'conf_style') {
$newskin = './conf/conf_user_style.php';
} else {
$newskin = './skin/' . $skin . '.php';
}
if (file_exists($newskin)) {
if (FileCtl::file_write_contents($_conf['expack.skin.setting_path'], $skin) !== FALSE) {
return $skin;
} else {
return "p2 error: {$_conf['expack.skin.setting_path']} にスキン設定を書き込めませんでした。";
}
} else {
return "p2 error: 不正なスキン ({$skin}) が指定されました。";
}
}
示例5: deleMsg
/**
* チェックした書き込み記事を削除する
*/
function deleMsg($checked_hists)
{
global $_conf;
$lock = new P2Lock($_conf['res_hist_dat'], false);
// 読み込んで
$reslines = FileCtl::file_read_lines($_conf['res_hist_dat'], FILE_IGNORE_NEW_LINES);
if ($reslines === false) {
p2die("{$_conf['res_hist_dat']} を開けませんでした");
}
// ファイルの下に記録されているものが新しいので逆順にする
$reslines = array_reverse($reslines);
$neolines = array();
// チェックして整えて
if ($reslines) {
$n = 1;
foreach ($reslines as $ares) {
$rar = explode("<>", $ares);
// 番號と日付が一致するかをチェックする
if (checkMsgID($checked_hists, $n, $rar[2])) {
$rmnums[] = $n;
// 削除する番號を登録
}
$n++;
}
$neolines = rmLine($rmnums, $reslines);
P2Util::pushInfoHtml('<p>p2 info: ' . count($rmnums) . '件のレス記事を削除しました</p>');
}
if (is_array($neolines)) {
// 行順を戻す
$neolines = array_reverse($neolines);
$cont = "";
if ($neolines) {
$cont = implode("\n", $neolines) . "\n";
}
// 書き込む
if (FileCtl::file_write_contents($_conf['res_hist_dat'], $cont) === false) {
p2die('cannot write file.');
}
}
}
示例6: array
$cache->remove($cache_id_profile, $cache_group_profile);
} else {
// 検索履歴を更新
if ($_conf['expack.tgrep.recent_num'] > 0) {
FileCtl::make_datafile($_conf['expack.tgrep.recent_file'], $_conf['expack.tgrep.file_perm']);
$tgrep_recent_list = FileCtl::file_read_lines($_conf['expack.tgrep.recent_file'], FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
if (!is_array($tgrep_recent_list)) {
$tgrep_recent_list = array();
}
array_unshift($tgrep_recent_list, preg_replace('/[\\r\\n\\t]/', ' ', trim($_GET['Q'])));
$tgrep_recent_list = array_unique($tgrep_recent_list);
while (count($tgrep_recent_list) > $_conf['expack.tgrep.recent_num']) {
array_pop($tgrep_recent_list);
}
$tgrep_recent_data = implode("\n", $tgrep_recent_list) . "\n";
if (FileCtl::file_write_contents($_conf['expack.tgrep.recent_file'], $tgrep_recent_data) === false) {
p2die('cannot write file.');
}
chmod($_conf['expack.tgrep.recent_file'], $_conf['p2_perm']);
}
}
} else {
$errors = null;
$threads = null;
$profile = null;
$modified = '';
}
// }}}
// {{{ 表示用変數を設定
// 基本変數
$htm = array();
示例7: makeBrdFile
/**
* brdファイルを生成する
*
* @return string brdファイルのパス
*/
public function makeBrdFile($cachefile)
{
global $_conf, $word;
$p2brdfile = $cachefile . ".p2.brd";
FileCtl::make_datafile($p2brdfile);
$data = FileCtl::file_read_lines($cachefile);
$cont = '';
$this->setBrdMatch($cachefile);
// パターンマッチ形式を登録
$this->setBrdList($data);
// カテゴリーと板をセット
if ($this->categories) {
foreach ($this->categories as $cate) {
if ($cate->num > 0) {
$cont .= $cate->name . "\t0\n";
foreach ($cate->menuitas as $mita) {
$cont .= "\t{$mita->host}\t{$mita->bbs}\t{$mita->itaj}\n";
}
}
}
}
if ($cont) {
if (FileCtl::file_write_contents($p2brdfile, $cont) === false) {
p2die("{$p2brdfile} を更新できませんでした");
}
return $p2brdfile;
} else {
if (!$word) {
P2Util::pushInfoHtml("<p>p2 error: {$cachefile} から板メニューを生成することはできませんでした。</p>");
}
return false;
}
}
示例8: array
$tgrep_list = array();
}
if ($purge) {
$tgrep_tmp_list = $tgrep_list;
$tgrep_list = array();
foreach ($tgrep_tmp_list as $tgrep_tmp_query) {
if ($tgrep_tmp_query != $query) {
$tgrep_list[] = $tgrep_tmp_query;
}
}
} else {
array_unshift($tgrep_list, $query);
}
$tgrep_list = array_unique($tgrep_list);
$tgrep_data = implode("\n", $tgrep_list) . "\n";
if (FileCtl::file_write_contents($list_file, $tgrep_data) === false) {
p2die('cannot write file.');
}
} elseif (!empty($_GET['clear']) && file_exists($list_file)) {
$fp = @fopen($list_file, 'w');
if (!$fp) {
p2die('cannot write file.');
}
flock($fp, LOCK_EX);
ftruncate($fp, 0);
flock($fp, LOCK_UN);
fclose($fp);
}
// }}}
// {{{ 不要になった変數を解放
unset($_GET['clear'], $_GET['file'], $_GET['purge'], $_GET['query'], $purge, $query, $tgrep_list, $tgrep_data, $tgrep_tmp_list, $tgrep_tmp_query, $fp);
示例9: setFavItaByList
/**
* カンマ區切り+@區切りのリストからお気に板をセットする
*
* @param string $list
* @param int|null $setnum
* @return bool
*/
function setFavItaByList($list, $setnum = null)
{
global $_conf;
// 記録データ設定
$rec_lines = array();
foreach (explode(',', $list) as $aList) {
list($host, $bbs, $itaj_en) = explode('@', $aList);
$rec_lines[] = "\t{$host}\t{$bbs}\t" . UrlSafeBase64::decode($itaj_en);
}
$script = <<<EOJS
<script type="text/javascript">
//<![CDATA[
if (parent.menu) {
parent.menu.location.href = '{$_conf['menu_php']}?nr=1';
}
//]]>
</script>
EOJS;
P2Util::pushInfoHtml($script);
$cont = '';
if (!empty($rec_lines)) {
foreach ($rec_lines as $l) {
$cont .= $l . "\n";
}
}
// 書き込む
if (FileCtl::file_write_contents(setFavItaGetBrdPath($setnum), $cont) === false) {
p2die('cannot write file.');
}
return true;
}
示例10: recAccessLog
/**
* アクセス情報をログに記録する
*/
public static function recAccessLog($logfile, $maxline = 100, $format = 'dataphp')
{
global $_conf, $_login;
// ログファイルの中身を取得する
if ($format == 'dataphp') {
$lines = DataPhp::fileDataPhp($logfile);
} else {
$lines = FileCtl::file_read_lines($logfile);
}
if ($lines) {
// 製限行調整
while (sizeof($lines) > $maxline - 1) {
array_pop($lines);
}
} else {
$lines = array();
}
$lines = array_map('rtrim', $lines);
// 変數設定
$date = date('Y/m/d (D) G:i:s');
// IPアドレスを取得
if (array_key_exists('HTTP_X_REAL_IP', $_SERVER)) {
$remote_addr = $_SERVER["HTTP_X_REAL_IP"];
} else {
$remote_addr = '';
}
// HOSTを取得
if (array_key_exists('HTTP_X_REAL_IP', $_SERVER)) {
$remote_host = gethostbyaddr($_SERVER['HTTP_X_REAL_IP']);
} else {
$remote_host = '';
}
if (!$remote_host) {
$remote_host = gethostbyaddr($_SERVER["HTTP_X_REAL_IP"]);
}
if ($remote_host == $_SERVER["HTTP_X_REAL_IP"]) {
$remote_host = '';
}
// UAを取得
if (array_key_exists('HTTP_USER_AGENT', $_SERVER)) {
$user_agent = $_SERVER['HTTP_USER_AGENT'];
} else {
$user_agent = '';
}
// リファラを取得
if (array_key_exists('HTTP_REFERER', $_SERVER)) {
$referrer = $_SERVER['HTTP_REFERER'];
} else {
$referrer = '';
}
$user = isset($_login->user_u) ? $_login->user_u : '';
// 新しいログ行を設定
$newdata = implode('<>', array($date, $remote_addr, $remote_host, $user_agent, $referrer, '', $user));
//$newdata = htmlspecialchars($newdata, ENT_QUOTES);
// まずタブを全て外して
$newdata = str_replace("\t", "", $newdata);
// <>をタブに変換して
$newdata = str_replace("<>", "\t", $newdata);
// 新しいデータを一番上に追加
@array_unshift($lines, $newdata);
$cont = implode("\n", $lines) . "\n";
FileCtl::make_datafile($logfile, $_conf['p2_perm']);
// 書き込み処理
if ($format == 'dataphp') {
DataPhp::writeDataPhp($logfile, $cont, $_conf['p2_perm']);
} else {
FileCtl::file_write_contents($logfile, $cont);
}
return true;
}
示例11: cacheParsedSettingTxt
/**
* SETTING.TXT をパースしてキャッシュ保存する
*
* 成功すれば、$this->setting_array がセットされる
*
* @return boolean 実行成否
*/
public function cacheParsedSettingTxt()
{
global $_conf;
$this->setting_array = array();
if (!($lines = FileCtl::file_read_lines($this->_setting_txt))) {
return false;
}
foreach ($lines as $line) {
if (strpos($line, '=') !== false) {
list($key, $value) = explode('=', $line, 2);
$key = trim($key);
$value = trim($value);
$this->setting_array[$key] = $value;
}
}
$this->setting_array['p2version'] = $_conf['p2version'];
// パースキャッシュファイルを保存する
if (FileCtl::file_write_contents($this->_setting_srd, serialize($this->setting_array)) === false) {
return false;
}
return true;
}
示例12: settaborn
/**
* スレッドあぼーんをオンオフする
*
* $set は、0(解除), 1(追加), 2(トグル)
*/
function settaborn($host, $bbs, $key, $set)
{
global $_conf, $title_msg, $info_msg;
//==================================================================
// key.idx 読み込む
//==================================================================
// idxfileのパスを求めて
$idx_host_bbs_dir_s = P2Util::idxDirOfHostBbs($host, $bbs);
$idxfile = $idx_host_bbs_dir_s . $key . '.idx';
// データがあるなら読み込む
if ($lines = FileCtl::file_read_lines($idxfile, FILE_IGNORE_NEW_LINES)) {
$data = explode('<>', $lines[0]);
} else {
$data = array_fill(0, 12, '');
}
//==================================================================
// p2_threads_aborn.idxに書き込む
//==================================================================
// p2_threads_aborn.idx のパス取得
$taborn_idx = $idx_host_bbs_dir_s . 'p2_threads_aborn.idx';
// p2_threads_aborn.idx がなければ生成
FileCtl::make_datafile($taborn_idx);
// p2_threads_aborn.idx 読み込み;
$taborn_lines = FileCtl::file_read_lines($taborn_idx, FILE_IGNORE_NEW_LINES);
$neolines = array();
$aborn_attayo = false;
if ($taborn_lines) {
foreach ($taborn_lines as $l) {
$lar = explode('<>', $l);
if ($lar[1] == $key) {
$aborn_attayo = true;
// 既にあぼーん中である
if ($set == 0 or $set == 2) {
$title_msg_pre = "+ あぼーん 解除しますた";
$info_msg_pre = "+ あぼーん 解除しますた";
}
continue;
}
if (!$lar[1]) {
continue;
}
// keyのないものは不正データ
$neolines[] = $l;
}
}
// 新規データ追加
if ($set == 1 or !$aborn_attayo && $set == 2) {
$newdata = "{$data[0]}<>{$key}<><><><><><><><>";
$neolines ? array_unshift($neolines, $newdata) : ($neolines = array($newdata));
$title_msg_pre = "○ あぼーん しますた";
$info_msg_pre = "○ あぼーん しますた";
}
// 書き込む
$cont = '';
if (!empty($neolines)) {
foreach ($neolines as $l) {
$cont .= $l . "\n";
}
}
if (FileCtl::file_write_contents($taborn_idx, $cont) === false) {
p2die('cannot write file.');
}
$GLOBALS['title_msg'] = $title_msg_pre;
$GLOBALS['info_msg'] = $info_msg_pre;
return true;
}
示例13: updateFavSetList
/**
* お気に入りセットリストを更新する
*
* @return boolean 更新に成功したらTRUE, 失敗したらFALSE
*/
function updateFavSetList()
{
global $_conf;
if (file_exists($_conf['expack.misc.favset_file'])) {
$setlist_titles = FavSetManager::getFavSetTitles();
} else {
FileCtl::make_datafile($_conf['expack.misc.favset_file']);
}
if (empty($setlist_titles)) {
$setlist_titles = array();
}
$setlist_names = array('m_favlist_set', 'm_favita_set', 'm_rss_set');
foreach ($setlist_names as $setlist_name) {
if (isset($_POST["{$setlist_name}_titles"]) && is_array($_POST["{$setlist_name}_titles"])) {
$setlist_titles[$setlist_name] = array();
for ($i = 0; $i <= $_conf['expack.misc.favset_num']; $i++) {
if (!isset($_POST["{$setlist_name}_titles"][$i])) {
$setlist_titles[$setlist_name][$i] = '';
continue;
}
$newname = trim($_POST["{$setlist_name}_titles"][$i]);
$newname = preg_replace('/\\r\\n\\t/', ' ', $newname);
$newname = htmlspecialchars($newname, ENT_QUOTES);
$setlist_titles[$setlist_name][$i] = $newname;
}
}
}
$newdata = serialize($setlist_titles);
if (FileCtl::file_write_contents($_conf['expack.misc.favset_file'], $newdata) === FALSE) {
P2Util::pushInfoHtml("<p>p2 error: {$_conf['expack.misc.favset_file']} にお気に入りセット設定を書き込めませんでした。");
return FALSE;
}
return TRUE;
}
示例14: saveSbSetting
/**
* p2_setting 記録する
*
* @return boolean
*/
function saveSbSetting($p2_setting_txt, $p2_setting, $pre_setting)
{
global $_conf;
$pre_setting_itaj = isset($pre_setting['itaj']) ? $pre_setting['itaj'] : null;
$p2_setting_itaj = isset($p2_setting['itaj']) ? $p2_setting['itaj'] : null;
if ($pre_setting['viewnum'] != $p2_setting['viewnum'] or $pre_setting['sort'] != $GLOBALS['now_sort'] or $pre_setting_itaj != $p2_setting_itaj) {
if (!empty($_POST['sort'])) {
$p2_setting['sort'] = $_POST['sort'];
} elseif (!empty($_GET['sort'])) {
$p2_setting['sort'] = $_GET['sort'];
}
if (false === FileCtl::make_datafile($p2_setting_txt, $_conf['p2_perm'])) {
return false;
}
if ($p2_setting) {
$p2_setting_cont = serialize($p2_setting);
if (FileCtl::file_write_contents($p2_setting_txt, $p2_setting_cont) === false) {
die("Error: cannot write file.");
}
}
}
return true;
}
示例15: makeUser
/**
* 新規ユーザを作成する
*/
public function makeUser($user_u, $pass)
{
global $_conf;
$crypted_login_pass = sha1($pass);
$auth_user_cont = <<<EOP
<?php
\$rec_login_user_u = '{$user_u}';
\$rec_login_pass_x = '{$crypted_login_pass}';
?>
EOP;
FileCtl::make_datafile($_conf['auth_user_file'], $_conf['pass_perm']);
// ファイルがなければ生成
if (FileCtl::file_write_contents($_conf['auth_user_file'], $auth_user_cont) === false) {
p2die("{$_conf['auth_user_file']} を保存できませんでした。認証{$p_str['user']}登録失敗。");
}
return true;
}