さくらレンタルサーバー(共有サーバー)の/home🏠はアレが見えてるよ。#知ってた?#駆け出しエンジニアと

2022.09.09

Logging

おはようございます。今日、高知県では雨☔の地域もあったりするそうですよ🙄。

さて、今日はさくらレンタルサーバー(共有サーバー)の/home🏠の話です。さくらレンタルサーバーじゃなくても共有サーバーを借りたことがある人は知っているかも知れませんが・・・常識?🤔。

さくらレンタルサーバーの/homeの階層に複数のディレクトリが存在します。そのディレクトリのディレクトリ名はさくらレンタルサーバーのアカウント名であり、初期のドメイン名になります。

reborn9.sakura.ne.jp

なので、ディレクトリ名.sakura.ne.jpにすれば初期のドメイン名を生成することが可能ですし、ログインでXXXXX…みたいな事が出来たりしまいます。赤の他人のアカウントでログインするのはハッキングにあたりますので、しないように!

でも、初期のドメインを見ることぐらいなら、良いじゃないかなってことで?WEBサーバーな訳ですからね。

という事で、こんなコードを書きました。コマンド ls -a /homeを実行し結果をtxt.txtのファイルに保存します。そのtxtファイルをPHPで読み込み、ディレクトリ名からリンクリストを生成(index.html)という様な流れ。index.htmlの開いてリンクをクリックすれば/homeの配下の初期ドメインへ飛んでいけます😱、ちょっと悪趣味ですがね…。

コードはこんな感じになります。実行するときはls.phpを開いてください。ls.phpを読み込み完了後、index.htmlのリンクをクリックしてみてください🤐。

尚、下記のファイル全てを同じ階層のディレクトリに置くこととします。※ファイルはUTF-8で。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="Description" content="Enter your description here"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<link rel="stylesheet" href="assets/css/style.css">
<title>Title</title>
</head>
<body>
<a href="index.html">index.html</a>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js"></script>
</body>
</html>
<?php
exec("sh ls.sh",$output,$result_code);
#!/bin/sh
ls -a /home > txt.txt
/usr/local/bin/php href.php
done
<?php
ob_start();
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="Description" content="Enter your description here"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<title>lsit</title>
</head>
<body>
    <button class="btn btn-primary" type="button" id="btn">BTN</button><br>
    <?=setlist()?>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js"></script>
<script>
    document.getElementById("btn").addEventListener("click",function(){
        for( let i in document.getElementsByTagName("a")){
            document.getElementsByTagName("a")[i].target = document.getElementsByTagName("a")[i].href;
            document.getElementsByTagName("a")[i].click();
        }
    });
</script>
</body>
</html>
<?php
file_put_contents("index.html",ob_get_clean());
?>
<?php
function setlist(){
    $txt_data =  explode("\n",file_get_contents("txt.txt"));
    $str[] = "<ul>";
    foreach($txt_data as $key=>$val){
        $str[] = (preg_match("/\./",$val) || !$val)?"":"<li><a href='http://".trim($val).".sakura.ne.jp'>".trim($val).".sakura.ne.jp</a></li>";
    }
    $str[] = "</ul>";
    return implode("\n",$str);
}

タグ

, home, jp, ne, REBORN, sakura, xxxxx, アカウント, アレ, エンジニア, , こと, サーバー, さくら, ディレクトリ, ドメイン, ドメイン名, ハッキング, レンタル, ログイン, , , 今日, 他人, 共有, 初期, 可能, 地域, 存在, 常識, 生成, 複数, , , 階層, , 駆け出し, 高知県,

サイトが無くなるのは悲しいな。まるで一つの…😶。

2022.08.31

Logging

こんにちは、2022年の8月は今日で最後です。

そんな日にスマホに撮り溜めた写真を初めて振り返って見ています、自分が撮った写真は大体、空か花ですがたまに旅先の写真なんか混ざっていたりして、そういうのを見ていると懐かしい気持ちになります。

そんな写真の中に駆け出しの芸術家の展覧会に見に行っていた時の写真を発見しました、その人の作品をぐぐってみるとFBページと商品ストアは発見したもののコロナ禍で何だか活動を辞めたみたいで、ホームページなどは見えなくなっていた。そういうサイトが消えるのをみると何か、悲しい気持ちになりますね。夢半ばで諦める人が多い、それも花が開きそうなそんな人達がなんか辞めていく、そういうのを見ると本当にもったいなって・・・。

売れっ子にならなくても良いので続けるべきです、とても大事なことや好きな事は売れっ子にならなくても、あなたの人生にとって大切なことになる、続けることと発信する事を辞めないことは人生を後から振り返った時、絶対あの時、諦めなくて良かったと思うときが決ます。なので好きなものは手放さない方が良い、人生は一度きりだから。

タグ

2022, 8, FB, あなた, こと, コロナ, サイト, ストア, スマホ, それ, たま, ページ, ホームページ, 一つ, , , , 人生, 今日, 作品, 写真, 半ば, 商品, 売れっ子, , 大事, 大体, 大切, 展覧会, 旅先, , , 最後, 本当, 気持ち, 活動, 発信, 発見, , , 自分, , 芸術家, 駆け出し,

AWSの本とデザイン系の本を読んだので。

2022.06.21

Logging

おはようございます。今週は雨が多いみたいですね。

さて先週、AWSの仕組みとサービスがたった1日でよくわかる本を読みました、パラパラと電子書籍リーダーで読みましたが、アレですね、、全然使いこなせてないなって感じたのですが機能を使用するとその分、使用料金が発生するので今のところは今の機能だけで十分かなって感じています。サービス内容や仕組みはとても理解しやすい感じがしましたが、IT素人にはあまり向いていないじゃないかなっていう感じがしましたので、ある程度、ITリテラシーが必要とされます。

次に読んだのが動くWEBデザインアイディア帳ですが、これは自分にはあまり必要なかった感が強い本です。どちらかと言えば駆け出しのWEBエンジニアが読んで置くと、商談時に実装できる出来ないの判断材料になります。自分の場合、駆け出しエンジニアでは無いので大体のことは出来ますで返答しています。特に実装しているシステム変更は大体のことは出来るですけどたまに、レンタルサーバーでは出来ないことも出てきますので、そういう注意は必要です。また、この本の後半あたり?から、実装の仕方も書かれていたりするので駆け出しのWEBエンジニアには結構良い本だと思います。

タグ

, AWS, IT, web, アイディア, アレ, エンジニア, こと, これ, サービス, システム, デザイン, ところ, どちらか, パラパラ, リーダー, リテラシー, , 今週, 使用, 先週, 内容, , 判断, 商談, 場合, 変更, 大体, 実装, , 必要, , 感じ, 料金, 書籍, , 材料, 機能, 理解, 発生, 素人, 自分, 返答, , 電子, 駆け出し,

開発レビューした事がないが嫌いな人からレビューされたら。

2022.03.15

Logging

運悪く開発レビューした事がないので、今までコードに文句言われたことが殆どない、唯一Qiitaでコメントで指摘してくれるエンジニアはいるのですが、それ以外ないのです。でも嫌いな人からレビューされたら自分は心が狭いのでムカってなると思います。

そこらへん、皆さんどう思われているのでしょうか?

コードを書き直されるのは自分はあまりうれしくないですね。わざとわかり易く書いている部分があったりします。確かにコードを短くすることが出来るのだけど、それが正しいことなのかとは思わないタイプの人間です🤔。

駆け出しエンジニアにもわかり易く書くことのほうが、結果的に言えば自分に質問してくる事がなくなり自分の仕事に集中することが出来ると思っています。

これに関しては皆様が是々非々で判断してください😌。

タグ

qiita, エンジニア, コード, こと, コメント, これ, そこら, それ, タイプ, ムカ, レビュー, , , 人間, 仕事, 判断, 唯一, 嫌い, , 指摘, 文句, 是々非々, 殆ど, 皆さん, 皆様, 自分, 質問, 部分, 開発, 集中, 駆け出し,

セレクトメニューの都道府県は毎回、作るよりストックしておくべし。

2021.12.13

Logging

駆け出しフロントエンドエンジニアさんや駆け出しコーダーさんの中にはお問い合わせなどで、都道府県を毎回、書いている人はいると思いますが、大体、同じことを何回もするのは無駄です。なので、自分専用の雛形を作っておくといいですよ。そうする事によって作業は結構、短縮されたりします。今回は自分がよく使う、セレクトメニューの都道府県をJSで都道府県リストを生成するように作りました。

都道府県生成

繰り返しになりますが、こんな感じに自分が使用するデータや独自の関数はストックしておくと作業効率は上がります、毎回調べてプログラミングやコードを書くのは仕事上では手間になるので辞めた方が良いです。

最後にJSコードとGitHubのリンクを貼っときますので、ご自由使用くださいませ。

https://github.com/zip358/select_jp_ken

let useKendata = [
    {'no':'01','name':'北海道'},
    {'no':'02','name':'青森県'},
    {'no':'03','name':'岩手県'},
    {'no':'04','name':'宮城県'},
    {'no':'05','name':'秋田県'},
    {'no':'06','name':'山形県'},
    {'no':'07','name':'福島県'},
    {'no':'08','name':'茨城県'},
    {'no':'09','name':'栃木県'},
    {'no':'10','name':'群馬県'},
    {'no':'11','name':'埼玉県'},
    {'no':'12','name':'千葉県'},
    {'no':'13','name':'東京都'},
    {'no':'14','name':'神奈川県'},
    {'no':'15','name':'新潟県'},
    {'no':'16','name':'富山県'},
    {'no':'17','name':'石川県'},
    {'no':'18','name':'福井県'},
    {'no':'19','name':'山梨県'},
    {'no':'20','name':'長野県'},
    {'no':'21','name':'岐阜県'},
    {'no':'22','name':'静岡県'},
    {'no':'23','name':'愛知県'},
    {'no':'24','name':'三重県'},
    {'no':'25','name':'滋賀県'},
    {'no':'26','name':'京都府'},
    {'no':'27','name':'大阪府'},
    {'no':'28','name':'兵庫県'},
    {'no':'29','name':'奈良県'},
    {'no':'30','name':'和歌山県'},
    {'no':'31','name':'鳥取県'},
    {'no':'32','name':'島根県'},
    {'no':'33','name':'岡山県'},
    {'no':'34','name':'広島県'},
    {'no':'35','name':'山口県'},
    {'no':'36','name':'徳島県'},
    {'no':'37','name':'香川県'},
    {'no':'38','name':'愛媛県'},
    {'no':'39','name':'高知県'},
    {'no':'40','name':'福岡県'},
    {'no':'41','name':'佐賀県'},
    {'no':'42','name':'長崎県'},
    {'no':'43','name':'熊本県'},
    {'no':'44','name':'大分県'},
    {'no':'45','name':'宮崎県'},
    {'no':'46','name':'鹿児島県'},
    {'no':'47','name':'沖縄県'},
];
document.getElementById("ken").insertAdjacentHTML('afterbegin',(function(ken){
    let str = '';
    for (const key in ken) {
        str+= '<option value=' + ken[key].no + '>' + ken[key].name +'</option>';
    }
    return str;
}(useKendata)));

タグ

01, 39, github, JS, let, name, no, useKendata, エンジニア, エンド, お問い合わせ, コーダー, コード, こと, ご自由, ストック, セレクト, データ, プログラミング, フロント, メニュー, リスト, リンク, , , , 今回, 仕事, 何回, 作業, 使用, 効率, 北海, 大体, 専用, 感じ, 手間, , 最後, 毎回, 無駄, 生成, 短縮, 自分, 都道府県, 関数, 雛形, 駆け出し,

Tellus[テルース]というサイトで機械学習などがお勉強できる。それも無料で!

2021.10.18

Logging

平日は大体、自転車で一時間程度ですが運動していますが、今の所、その効果はあまり無いです。唯、帰ってくる時には顔が若干細くなります。仕事が安定するまで続けようと思います。(明日は休むけどね?)

さて、今日はタイトル通り「Tellus[テルース]というサイトで機械学習などがお勉強できる。それも無料で!」です、無料で機械学習などが出来ちゃうって、数年前ではあまり無かったのですが、この頃は大手企業やベンチャー企業などで初学者向けに掲載しているサイトがあります。

Tellus MovieNew Business,New Possibility~Tellusがもたらす新しいビジネス、新しい可能性~

機械学習やディープラーニングなどのエンジニアは人材不足の状態が続いているにも関わらず、それを勉強する人はあまりいないです。駆け出しのエンジニア志望の人は大体はWEBの基礎のHTMLとかから始めJavaScriptで向いていない人は挫折します、でも、もしこれからエンジニアになりたいと思ったら機械学習から初めることをお勧めします、何故なら、上記でも書いたように人材不足だからです。逆にWEBエンジニアは足りていますので競争率は逆に高いかと思います。

最後に初心者向けテルース学習コースのリンクを貼っときますので、これから機械学習などを学習したい方は是非、読んでみてくださいな?

https://tellusxdp.github.io/start-python-with-tellus/index.html

タグ

html, javascript, Tellus, web, エンジニア, お勉強, お勧め, こと, これ, サイト, それ, タイトル, ディープ, テルース, ベンチャー, ラーニング, , , 人材, , 今日, 仕事, 企業, 初学者, 効果, 勉強, 基礎, 大体, 大手, 学習, 安定, 平日, 志望, , 挫折, 掲載, , 明日, , 機械, 無料, 状態, 自転車, 若干, 運動, , , 駆け出し,

PHPのこれは知っているでしょ。知らない人でもエンジニアしている人はいるけどね。#駆け出し

2021.10.14

Logging

今日から書く時間、正確には記事のUPする時間を変更しました、変更した理由はソーシャルメディアからの流入を増やそうという事から時間帯を変更しました。PS.この頃、ダイエットの一環で自転車に乗って小一時間運動しています。

さて、PHP言語をこの頃、触っていなかったので、久々にサンプルコードを書きました。前々の会社ではクラスの概念を知らない人がいてその人にオブジェクト指向を丁寧に教えてたのですが、何だか覚えたら何か自分で覚えたみたいに言っていて、やるせない気持ちになった事を覚えています。

php7

今回書いたサンプルコードは?と?は同じコード動きをするものだという事は理解できると思います、プログラムって、最終的に正確な動作していれば問題ないのです。最初からシンプルなコードを書こうとはせず、今の自分のベストコードを書けば良いです。大体、過去のコードを見るともっとシンプルに書けるなと思います、それは自分の技術が成長している証です。そういう事ですので日々努力していれば道がひらけます。

自分みたいにダラダラと生活していると中々、道がひらけないので注意してくださいな。

https://zip358.com/tool/demo45/

以上、現場からでした。

<?php
//?
function foo1 (){
    return new class {
        public static function hoge(){
            print "foo1->class->hoge".PHP_EOL;
        }
    };
}
foo1()->hoge();

//?
function foo2(){
    //return array("hoge"=>"foo2->hoge");
    return ["hoge"=>"foo2->hoge"];
}

print foo2()["hoge"].PHP_EOL;

//?
function foo3(){
    $obj = new class{
        public static function hoge(){
            print "foo3->class->hoge".PHP_EOL;
        }
    };
    return $obj;
}

foo3()->hoge();

タグ

php, PS, UP, エンジニア, オブジェクト, クラス, コード, これ, サンプル, シンプル, ソーシャル, ダイエット, プログラム, ベスト, メディア, もの, , 一環, 丁寧, 久々, , , , 今回, 今日, 会社, 前々, 動作, 変更, 大体, , 指向, 時間, 最初, 概念, 正確, 気持ち, 流入, 理由, 理解, 自分, 自転車, 言語, 記事, 運動, 過去, , 駆け出し,

ネット常識力は神レベルでもない。知らないことのほうが多いかも?

2021.10.11

Logging

今日は雨が降っています。高知県は結構な雨ですね…。自分は雨音が好きなので全然良いですけど雨が嫌いな人にとっては憂鬱な一週間になるかもしれませんね。

さて、昨日と今日はお国の偉い人が決めたデジタルの日です。Yahoo!でも何やら全国統一ネット常識力模試試験が開催されています(10月31日まで)。15問正解出来たら神の称号がもらえるですが、問題が簡単なのか自分が一般人より知っているのか分かりませんが、全問正解でした・・・。

自分でも神の称号がもらえるので、駆け出しITエンジニアさんも同じく神の称号を貰えるはずです。貰えなかったら逆にITエンジニアになる道のりはカナリ遠いかもしれないと思いますが諦めないでください。こんな事があるので・・・。

先日、プロフェッショナルでANAのグランドスタッフさんの回を見ました、彼女は新人研修の時に受けたテストは最下位でしたが、今ではみんなを率いるプロフェッショナルな女性になっています。人生ってわからないですよね、本当にそう思います。こういうのを塞翁が馬っていうですかね、新人研修のテストは最下位でしたが、それがきっかけで彼女は人一倍努力したんだと思います。逆に最下位にならなければ違った道になっていたと思います。なので、道のりが遠い人こそ、努力していれば道が拓けるかもしれないです?。

タグ

10, 15, 31, ANA, IT, Yahoo, エンジニア, グランド, こと, スタッフ, デジタル, テスト, ネット, パス, プロフェッショナル, みんな, レベル, , 一般人, , , , 今日, 先日, 全問, 全国, 問題, , , , 嫌い, 常識, 彼女, 憂鬱, 新人, , 昨日, , 最下位, 模試, 正解, 研修, , 称号, 簡単, 結構, 統一, 自分, 試験, , 道のり, 開催, , 雨音, 駆け出し, 高知県,

しまぶーのIT大学は駆け出しIT屋さんには勉強になると思います。

2021.07.28

Logging

来月から派遣で働くかもしれません、どうなるのかは今の段階ではわからないですが来週にはその事が分かるかと思います。さて、しまぶーのIT大学はタイトルに書いた通り、駆け出しのIT屋さん、特にフロントエンドさんやコーダーさんなどには為になる話になっていると思います。

Chrome DevToolsの使い方を徹底解説!Chrome Developer Toolsを使いこなすと開発効率が上がる!【ヤフー出身エンジニアが教える初心者向けプログラミング講座】

特に女性の方に受けそうな爽やか系イケメンなので良いかと・・・(*´ω`*)。YOUTUBE登録者数はあともう少しで10万登録になるので分かりやすい解説だなと思った方は下記よりYOUTUBE登録をポッチりとしてみてください。尚、自分は紹介しても一銭もお金が発生することはありません?

https://www.youtube.com/channel/UCti6dG0zSAetLGGYcgNML4Q

タグ

10, IT, youtube, イケメン, エンド, お金, コーダー, こと, しま, タイトル, ぶー, フロント, ポッチ, 一銭, , 下記, , , 勉強, 大学, 女性, , , 来月, 来週, 段階, 派遣, , 爽やか, 発生, 登録, 登録者, 紹介, 自分, 解説, , 通り, 駆け出し,

今はよく使う無名関数と即時関数というモノ?

2021.06.21

Logging

javascriptを例に無名関数即時関数をよく書いています。尚、PHPでも同じ要領で無名関数と即時関数がかけます。たぶんいろいろな言語に同じ要領で書けるようになっていると思います。但しPHPにアロー関数での無名関数と即時関数がどうか分かりません。因みにPHPの方に即時関数があることは結構、最近になって知りました。
自分は無名関数の存在は知っていましたが、あまり使うことがなく使い方もヘンテコな使い方をしていましたね。
無名関数や即時関数を使わない人もいると思います、駆け出しのエンジニアさんに配慮して書かないという職場もあるでしょうし、制約で書けない場合もあるかもしれません。

【JavaScript入門 #7】匿名関数、高階関数、コールバック関数を攻略せよ!【ヤフー出身エンジニアの入門プログラミング講座】

そんな感じで仕事をしているといろいろ制約の中でコードを書くことになるので、ちょっと窮屈感を感じる人も多いと思います。特に開発に新しい技術を取り入れるような実験が出来る職場は少ないです。大規模開発になればなるほど、実験的な事ができなくなる傾向にあると思います。それも仕事だと割り切るしか無いかなと思います。使いたい技術は私用で開発するときに使うようにしましょう。そういうITエンジニアは結構いますよ。

//functionで無名関数
var mumei1 = function(a){
	return a;
};
console.log(mumei1(123));
//アロー関数で無名関数
var mumei2 = (a)=>{
	return a;
};
console.log(mumei2(123));
//functionで即時関数
console.log((function(a){
	return a;
})(123));
//アロー関数で即時関数
console.log(
((a)=>{
	return a;
})(123));

タグ

javascript, php, アロー, いろいろ, エンジニア, コード, こと, ヘンテコ, もの, , , , , 仕事, 使い方, , 傾向, 制約, 即時, 場合, 大規模, 存在, 実験, , 感じ, 技術, , 最近, 無名, 窮屈, 職場, 自分, 要領, 言語, 配慮, 開発, 関数, 駆け出し,

Illustratorを2年目ぐらい。

2021.01.19

Logging

Illustratorを使いだして2年目ぐらいですが、あまり技術的には成長していないのかもしれないですが、自分が頭の中で想像したものが徐々に具現化できるようになってきたように思えますが、もっと洗練されたものが作れるように慣れればと思っています。ただ、自分は参考書は一冊だけしかなく。それもあまり使えないなと思って、最初パラパラとめくってあとは放置しています。なのでイラレも独学で技術を身に着けていってます。これをこうしてアレをこうしては偶然の産物なのですが、2年も使っているとなんとなく感覚でわかってきます。

でも、まだまだ素人デザインから抜け出せないのは、技を調べたりしていないところだと思います。今ではYOUTUBEなどで技術を惜しみなく教えている動画があります。そういう動画を見ることにより、技は覚えることはできるのにそれをしていないのは、怠けなのかもしれないなと思います。

上の画像が駆け出しのときに制作したものです。次にこれが時間が経過して制作した画像です。最後にこれがいまの画像になります。こう見ると徐々に制作技術が上がってきたのかもしれないです。

タグ

2, illustrator, youtube, あと, アレ, イラレ, こと, これ, それ, デザイン, とき, ところ, パラパラ, もの, , , , 偶然, 具現, 制作, 動画, 参考書, 想像, 感覚, 成長, , 技術, 放置, 時間, 最初, 洗練, 独学, 産物, 画像, 素人, 自分, , 駆け出し,

?Ponanza(ポナンザ)の作成者さんが作ったお天気のアレを真似たひとり用。

2020.02.22

Logging

Ponanza(ポナンザ)の作成者さんが作ったお天気のアレを真似たひとり使用?ものです。下記のものを作りました。開発者の場合、自分で作りたい衝動にかられると思います。まんまと駆られて作りました…なので考え方をお裾分けです。今までQiitaで公開したソースコードも必要になりますので、リンクを貼っときます。そしてメインのソースコードは下記になります( Twitterのoauthライブラリを呼び出しが必要になります。 )。

※個人の開発者様用なので位置情報は引っ張って来てません、天気の都道府県を変更されるか、Twitterの位置情報を使用し天気のAPIへ投げるなりしてください(本家はIP情報から位置情報を特定しようとしているようです)。乱暴な説明ですが駆け出しのプログラマーじゃない限りできると思います。

本家はこちら
https://note.com/issei_y/n/ne128a0cf27ca

追記:ソースコードをComposerで使用できるようにしました。
https://qiita.com/zip358com/items/8c1a128e24cc33ca7ca7

composer require zip358/tw_name_change
<?php
require_once ("vendor/autoload.php");
require_once ("moon.php");
require_once ("tenki.php");
use Abraham\TwitterOAuth\TwitterOAuth;
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
$user_data=$connection->get("users/show",["screen_name"=>$user_screen_name]);
$name = $user_data->name;
date_default_timezone_set('Asia/Tokyo');
$icons = moon::$icon + tenki::$icon + array("@"=>"@");
$year = date("Y");
$mon = (int)date("m");
$day = (int)date("d");
$H = (int)date("H");
if($H>=6 and $H<=17){
    tenki::main();
    tenki::$url = "https://api.openweathermap.org/data/2.5/weather?id=".tenki::$ken->kochi["id"]."&appid=".tenki::$appid;
    tenki::api();
    $chg = tenki::$icon[str_replace("n","d",tenki::$response->weather[0]["icon"])];
}else{
    moon::main($year,$mon,$day);
    $chg = moon::icon();
}
foreach($icons as $key=>$val){
  if(preg_match("/$val/",$name)){
    $hit = $val;
  }
}
$name = str_replace("$hit",$chg,$name);
$connection->post("account/update_profile", ["name" =>$name]);

タグ

0, 128, 27, API, ca, cf, com, https, IP, issei, ne, note, oauth, Ponanza, qiita, Twitter, アレ, お裾分け, コード, こちら, ソース, ひとり, ひとり用, プログラマー, ボナンザ, メイン, もの, ライブラリ, リンク, 下記, 位置, 作成者, 使用, 個人, 公開, 場合, 変更, 天気, 必要, 情報, 本家, 特定, 考え方, 自分, 衝動, 説明, 都道府県, 開発者, 限り, 駆け出し,

さくらレンタルサーバーでWordPressのDBバックアップを支援するPHPコード

2020.01.10

Logging

さくらレンタルサーバーでWordPressバックアップを支援するPHPコードです。

駆け出しのWEB担当者用のプログラムです、動作環境はPHP5.6以上でお願いします。バックアップする際にWARNINGが発生してしまうには対応しておりません。メールが貯まりますが大丈夫ですよ、きっと。

プログラムを読めば何を書いているのか、駆け出しのWEB担当者様もわかるとは思いますが、変更してほしいのはIDとPASS部分です?。ルートにWordPressをインストールしていない場合は $wploadfile の変更もお願いします。

ファイルをアップロードした階層に dbbackup名でフォルダを設置しそのフォルダにベーシック認証をかけておいてください。外部からダウンロードが容易に出来るので・・・。

上記の設定が完了したらファイルをアップロードし sakura-rental-wpdb-backupfullにアクセスしてください。
ログイン後、管理画面より設定を行った後、さくらレンタルサーバーのコントロールパネルよりCRONの設定を行ってください。

ダウンロードはこちらから
https://zip358.com/tool/sakura-rental-wpdb-backupfull/sakura-rental-wpdb-backupfull.zip

尚、CRON設定に関しては例を管理画面に書いていますのでそちらの参考に設定をお願いいたします、またバックアップは1週間保持します。
月曜日?日曜日まで7ファイルのMYSQL、DBのバックアップファイルが出来上がります。管理画面の曜日設定にチェックが入っていないものはバックアップ致しません。

※ソースコードは下記になります。
※2020年12月、修正しました。ソースコードは下記になります。
※wp-load.phpの階層を自身の階層に変更してください。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="Description" content="Enter your description here"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.0/css/all.min.css">
<link rel="stylesheet" href="assets/css/style.css">
<title>さくらレンタルサーバーでWordPressのDBバックアップを支援するPHPコード</title>
</head>
<body>
	<div class="container">
		<div class="row">
			<div class="col table-responsive">
					<table class="table" id="tbl">
					</table>
			</div>
		</div>
	</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/js/bootstrap.min.js"></script>
<script src="./assets/js/common.js?<?=time()?>"></script>
</body>
</html>
window.onload = function () {
	$.ajax({
		type: "POST",
		dataType: "json",
		url: "./lib/view.php",
		data: "data",
		success: function (response) {
			if (response.password.ok === "ok") {
				view();
			} else {
				passwordview();
			}
		}
	});
};


function view() {
	let str = "";
	fetch("./schedule.dat").then(response => response.text()).then(data => {
		let weekval = data.split(",");
		let weekname = 
			[
				{en:"Sunday",ja:"日曜日"},
				{en:"Monday",ja:"月曜日"},
				{en:"Tuesday",ja:"火曜日"},
				{en:"Wednesday",ja:"水曜日"},
				{en:"Thursday",ja:"木曜日"},
				{en:"Friday",ja:"金曜日"},
				{en:"Saturday",ja:"土曜日"}
			];
		
		if (weekval.length === 7) {
			for (var i = 0; i < 7; i++) {
				let weekvalflg = weekval[i] == 1 ? " checked " : "";
				str += `
		<tr>
		<td>${weekname[i].ja}</td>
		<td>
			<div class="form-check">
				<input id="${weekname[i].en}_chk" class="form-check-input" type="checkbox" name="" value=1 ${weekvalflg}>
				<label for="${weekname[i].en}_chk" class="form-check-label">バックアップする</label>
			</div>
		</td>
	</tr>
		`;
			}
		} else {
			for (var i = 0; i < 7; i++) {
				str += `
		<tr>
		<td>${weekname[i].ja}</td>
		<td>
			<div class="form-check">
				<input id="${weekname[i].en}_chk" class="form-check-input" type="checkbox" name="" value=1>
				<label for="${weekname[i].en}_chk" class="form-check-label">バックアップする</label>
			</div>
		</td>
	</tr>
		`;
			}

		}
		str += `
<tr>
	<td colspan="2"><button class="btn btn-primary"  id="btn" type="button">設定する</button></td>
</tr>
`;
		document.getElementById("tbl").innerHTML = str;
		document.getElementById("btn").addEventListener("click", function () {
			$.ajax({
				type: "POST",
				url: "./lib/backup-setting.php",
				data: {
					Sunday: document.getElementById("Sunday_chk").checked?1:0,
					Monday: document.getElementById("Monday_chk").checked?1:0,
					Tuesday: document.getElementById("Tuesday_chk").checked?1:0,
					Wednesday: document.getElementById("Wednesday_chk").checked?1:0,
					Thursday: document.getElementById("Thursday_chk").checked?1:0,
					Friday: document.getElementById("Friday_chk").checked?1:0,
					Saturday: document.getElementById("Saturday_chk").checked?1:0
				},
				dataType: "json",
				success: function (response) {
					if (response.ok == "ok") {
						alert("設定しました");
					} else {
						alert("失敗しました");
					}
				}
			});
		});

	});
}

function passwordview() {
	document.getElementById("tbl").innerHTML = `
	<tr>
	<td>wordpress Id</td>
	<td>
		<div class="input-group">
			<input class="form-control" type="text" id="wpid" placeholder="ワードプレスのIDを入力ください" aria-label="ワードプレスのIDを入力ください" aria-describedby="wpid">
		</div>
	</td>
</tr>
<tr>
	<td>wordpress pass</td>
	<td>
		<div class="input-group">
			<input class="form-control" type="password" id="wppass" placeholder="ワードプレスのPassを入力ください" aria-label="ワードプレスのIDを入力ください" aria-describedby="wppass">
		</div>
	</td>
</tr>
<tr>
	<td colspan="2"><button class="btn btn-primary"  id="btn" type="button">ログインする</button></td>
</tr>	
	`;



	document.getElementById("btn").addEventListener("click", function () {
		$.ajax({
			type: "POST",
			dataType: "json",
			url: "./lib/pass.php",
			data: { wpid: document.getElementById("wpid").value, wppass: document.getElementById("wppass").value },
			success: function (response) {
				if (response.password.ok === "ok") {
					view();
				} else {
					alert(response.password.msg);
					passwordview();
				}
			}
		});
	});
}

タグ

5.6, db, dbbackup, ID, pass, php, sakura-rental-wpdb-backupf, WARNING, web, WordPress, wploadfile, アップロード, インストール, お願い, コード, サーバー, さくら, ダウンロード, バックアップ, ファイル, フォルダ, プログラム, ベーシック, メール, ルート, レンタル, 上記, , 動作, , 場合, 変更, 外部, 完了, 容易, 対応, 担当者, 支援, 環境, 発生, 設定, 設置, 認証, 部分, 階層, , 駆け出し,