お店のホームページ(サイト)の作り方その壱
2022.03.01
オハヨウゴザイマス。
片言の日本語しか使えない日本人です😌、高知県はあいにくの雨になるそうですね。
昨日のうちにお店のホームページ(サイト)の雛形作りをしておりました。デザインの参考にしたサイトはこちらになります。こちらのサイトデザインを元に自分が少しデザインを改良した感じです。
https://zip358.com/tool/sample.com/
こちらの画像や文言を変更することにより貴方が作成したいホームページが簡単にできてしまいます。解説はテキストで記載していきます。前手順としてVisualStudio codeとfilezillaソフトをWindowsやMacにインストールしてください。インストールの仕方はYOUTUBEで検索するといろいろな人が解説していますので、そちらを参考にしてください。
今回はお店のホームページ(サイト)の雛形をダウンロードして頂いてindex.phpというファイルをVisualStudio codeで開いてみてください。そうすると英字で記載している所が何箇所かあると思いますが英字は英字のままで何も変更しないでください、変更するのは日本語で記述されたところを貴方の店舗に合わして説明文を変更してみて保存してください。
画像を変えたい場合はimagesの中にある画像をそれぞれサンプルサイトを照らし合わせながら、貴方の店舗の画像に上書きしてください(画像名は変えないでください)。
次回は予約サイトの設定とGoogleMapの設定になります。
雛形はこちらからダウンロード:https://zip358.com/tool/sample.com.zip
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
Code, filezilla, index, Mac, php, VisualStudio, Windows, youtube, あいにく, いろいろ, インストール, うち, オハ, お店, こちら, こと, サイト, そちら, ソフト, ダウンロード, テキスト, デザイン, ファイル, ホームページ, よう, 人, 今回, 仕方, 作り方, 作成, 元, 参考, 壱, 変更, 少し, 感じ, 手順, 改良, 文言, 日本人, 日本語, 昨日, 検索, 片言, 画像, 簡単, 自分, 英字, 解説, 記載, 貴方, 雛形, 雨, 高知県,
Twitterの画像を抽出、非API
2018.11.07
Twitterの画像を抽出、非API
Goutteライブラリを使用してTwitterのメディアを抽出するだけで
APIを使用せずに17枚の画像が抽出することが可能。
これを改良してスクロールさせながらってのは出来ないのではないかな
特にVPSじゃないレンタルサーバーなどでは不可能じゃないのかと思います。
require_once './vendor/autoload.php';
use Goutte\Client;
$client = new Client();
$crawler = $client->request('GET','https://twitter.com/xxxx/media');
$img = $crawler->filter(".AdaptiveMedia-photoContainer.js-adaptive-photo img")->each(function ($node){
return $node->attr('src');
});
著者名 @taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
'src', 17, AdaptiveMedia-photoContainer, API, APITwitter, attr, autoload, Client, com, crawler, each, filter, function, GET, Goutte, gt, img, js-adaptive-photo, media', new, node, once, php, request, require, return, Twitter, use, vendor, VPS, xxxx, こと, これ, サーバー, スクロール, ない, メディア, ライブラリ, レンタル, 不可能, 使用, 出来, 可能, 思い, 抽出, 改良, 枚, 特に, 画像, 非,
クロンを改良しました。前のクロンPHPは恐らくBUGってて。
2015.06.23
クロンPHPって言っても月や曜日判定はしていません。今回、その判定も行うように変えようと再度、コードを改良しました。前回のコードの約半分ぐらいのコードになってます。土曜日までには、月や曜日の対応を行うようにします。
ちなみにどういう機能をするのかと言いますと、さくらサーバではクロンの制限があります。その制限数以上、使おうとおもって考えたのが、一つのPHPを叩いてクロンがしている事を模倣することでした。
※昨日の話は撤回はしないものの、SEOよりSNSでSEOという考え方に変えました。よくよく考えてみるとアクセス数が多いほど、検索上位表示される確率も増えるのでやはり大事かなとボット。ボットらしくない振る舞いしたボットなら何とか成るかも知れないとも思ってます。
追記2022/09/06:クーロン制限突破方法を記載しています、こちらを参照ください。クーロン制限突破!
command":"cd /home/user/www/user_dir/site/; /usr/local/bin/php cron.php "cron.json"
<?php
//5分刻みに対して有効な無限クローン 処理が負荷の場合どうなるかは知りません。
date_default_timezone_set('Asia/Tokyo');
class cron{
public function d_m($obj)
{
if($obj->m==="*")return true;
if(preg_match("/,/",$obj->m))return $this->comma($obj->m,date("m"));
if((int)$obj->m === (int)date("m"))return true;
return false;
}
public function d_d($obj)
{
if($obj->d==="*")return true;
if(preg_match("/,/",$obj->d))return $this->comma($obj->d,date("d"));
if((int)$obj->d === (int)date("d"))return true;
return false;
}
public function d_H($obj)
{
if(preg_match("/\*\/[0-9]{1,2}/",$obj->H)){
$H = explode("/",$obj->H);
if((int)$H[1]>0 && ((int)date("H") % (int)$H[1])===0)return true;
}else{
if($obj->H==="*")return true;
if(preg_match("/,/",$obj->H))return $this->comma($obj->H,date("H"));
if((int)$obj->H === (int)date("H"))return true;
}
return false;
}
public function d_i($obj)
{
if(preg_match("/\*\/[0-9]{1,2}/",$obj->i)){
$i = explode("/",$obj->i);
if((int)$i[1]>0 && ((int)date("i") % (int)$i[1])===0)return true;
}else{
if($obj->i==="*")return true;
if(preg_match("/,/",$obj->i))return $this->comma($obj->i,date("i"));
if((int)$obj->i === (int)date("i"))return true;
}
return false;
}
//曜日 0=日曜日 6=土曜日
public function d_w($obj)
{
if((int)$obj->w[date("w")]===1)return true;
return false;
}
public function comma($c="",$t=""){
if($c==="")return false;
if($t==="")return false;
$flg = false;
foreach(explode(",",$c) as $cc){
if((int)$cc===(int)$t)$flg = true;
}
return $flg;
}
public function d_command($obj){
if($obj->command){
exec($obj->command . " > /dev/null &");
}
return true;
}
}
if ($argv[1]) {
$filename = $argv[1];
if(is_file($filename)){
$jsn = json_decode(file_get_contents($filename));
$cron = new cron();
try {
foreach($jsn as $obj){
if($cron->d_m($obj)){
if($cron->d_d($obj)){
if($cron->d_H($obj)){
if($cron->d_i($obj)){
if($cron->d_w($obj)){
$cron->d_command($obj);//波動拳{{{{
}
}
}
}
}
}
} catch (\Throwable $th) {
print $th->getMessage();
}
}
}
mは月
dは日
Hは時
iは分
wは日曜日から土曜日 0はOFF、1はON
commandは実行コマンド
[
{
"m":"*",
"d":"*",
"H":"*",
"i":"*/10",
"w":[1,1,1,1,1,1,1],
"command":"cd /home/user/www/user.com/site/; /usr/local/bin/php hoge1.php"
},
{
"m":"*",
"d":"12,23,28",
"H":"*",
"i":"*/15",
"w":[1,1,1,1,1,1,1],
"command":"cd /home/user/www/user.com/site/; /usr/local/bin/php hoge2.php"
}
]
著者名 @taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
-Command, 06, 09, 2022, BUG, cd, ho, php, quot, SEO, SNS, アクセス, クーロン, クロン, コード, こちら, こと, サーバ, さくら, ボット, 一つ, 上位, 事, 今回, 再度, 判定, 制限, 前, 前回, 参照, 土曜日, 大事, 対応, 撤回, 改良, 方法, 昨日, 曜日, 月, 検索, 模倣, 機能, 確率, 突破, 約半分, 考え方, 表示, 記載, 話, 追記,
MonacaはHTML5でマルチプラットフォーム対応のモバイルアプリ開発が行えます。
2015.04.26
MonacaはHTML5でマルチプラットフォーム対応のモバイルアプリ開発が行えます。このサービスには落とし穴があります、フリー版だとリリース出来るアプリは3つです。有料版だと月に980円、5000円、8000円とそれぞれコースがあり、作れるアプリはそれぞれ10個、100個、無制限となっています。試しに作ってみようと思う方にはオススメしますが、有料版で制作するよりはJAVAやObject-Cで制作してそれぞれReleaseする方が経済的なのかなぁと思ってしまいます。有料版でリリースしても元がとれなければ無駄な感じがします。このサービスの利点はHTMLとjavascriptで制作が行える事です。AndroidStudioでいま、この前作ったものを改良しているのですが落ちまくるんですIDEが・・・・・。すごく開発しづらい
著者名 @taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
10, 100, 3, 5, 5000, 8000, 980, AndroidStudio, html, IDE, java, javascript, Monaca, Object-C, release, アプリ, いま, おすすめ, コース, サービス, それぞれ, プラットフォーム, フリー, マルチ, もの, モバイル, リリース, 事, 元, 利点, 制作, 前, 対応, 改良, 方, 月, 有料, 無制限, 無駄, 落ち, 落とし穴, 開発,
Accessのさんぷるコードができましたので(´Д`)貼っときます。
2014.08.21
突貫工事で作ったのでバグは多少あると思いますが{例えばsql インジェクション対策とか。}、Accessのsampleコードができましたので貼っときます。なお、これで何が出来るかって言えばDBの修正、追加、削除といった基本的な動きをします{挙動不審ぎみ嘘!?}。若干、ソースコードを弄くれば使い回しが出来るようにしております。飯くったり他のことをしながらもガリガリとコードを書きました。ちなみにAccessのViewerをマイクロソフトからダウンロードすると動作すると思います。ファイルは下記からダウンロードください。 追記:暇な時に改良していきますので( ゚д゚)ノ ヨロシクとコメントも暇があれば書いときます。そして無駄なコードがありますが、それも軽量していくつもりです(`・ω・´)。ちなみにいまはDBを空にすると落ちますので・・・・(直しました。)。?samplezip358.zip?[https://zip358.com/tool/samplezip358.zip][08/21 11:26]
Option Compare Database Public db_x As Long Public max As Variant Function sel_all(tablename As Variant, tal_valname As Variant) As Variant Dim x As Long Dim y As Long Dim sql As String Dim RS As DAO.Recordset Dim db As DAO.Database Dim hoge(999, 999) As Variant Dim val_n As Variant Dim val As Variant Set db = CurrentDb sql = "SELECT * FROM " & tablename & " ORDER BY ID ASC;" MsgBox sql Set RS = db.OpenRecordset(sql) Do Until RS.EOF For y = 0 To UBound(tal_valname) hoge(x, y) = RS.Fields(tal_valname(y)) Next y RS.MoveNext x = x + 1 Loop Set db = CurrentDb sql = "SELECT MAX(ID) as maxs FROM " & tablename & ";" MsgBox sql Set RS = db.OpenRecordset(sql) max = RS.Fields("maxs") db_x = x - 1 Set db = Nothing sel_all = hoge End Function Function up_in(chk As Boolean, tablename As Variant, tal_valname As Variant, tal_val As Variant, ID As Long) As Variant Dim sql As String Dim RS As DAO.Recordset Dim db As DAO.Database Dim hoge_valname As String Dim hoge_val As String Dim hoge As Variant If chk = True Then For i = 0 To UBound(tal_valname) hoge_valname = hoge_valname & tal_valname(i) & ", " Next i hoge_val = sql_str(tal_val, "", "", True) sql = "INSERT INTO " & tablename & " (" & Left(hoge_valname, Len(hoge_valname) - 2) & ")VALUES (" & hoge_val & ");" Else hoge_valn_val = sql_str("", tal_valname, tal_val, False) sql = "Update " & tablename & " Set " & hoge_valn_val & " WHERE ID = " & ID & ";" End If MsgBox sql Set db = CurrentDb db.Execute (sql) Set db = Nothing up_in = True End Function Function del(tablename As Variant, tal_valname As Variant, tal_val As Variant) As Variant Dim sql As String Dim RS As DAO.Recordset Dim db As DAO.Database Dim hoge As Variant sql = "DELETE FROM " & tablename & " WHERE " & tal_valname & " = " & tal_val & ";" MsgBox sql Set db = CurrentDb db.Execute (sql) Set db = Nothing del = True End Function Function sql_str(hoge As Variant, tal_valname As Variant, tal_val As Variant, chk As Boolean) As Variant Dim i As Long Dim hoge_str As Variant If chk = True Then For i = 0 To UBound(hoge) If IsNumeric(hoge(i)) Then hoge_str = hoge_str & hoge(i) & ", " Else hoge_str = hoge_str & "'" & hoge(i) & "', " End If Next i Else For i = 0 To UBound(tal_valname) If IsNumeric(tal_val(i)) Then hoge_str = hoge_str & tal_valname(i) & " = " & tal_val(i) & ", " Else hoge_str = hoge_str & tal_valname(i) & " = '" & tal_val(i) & "', " End If Next i End If sql_str = Left(hoge_str, Len(hoge_str) - 2) End Function
↑クラスdbソースコード
Option Compare Database Dim max As Long Dim ID As Long Dim val_val As Variant Private Sub Form_Load() lod End Sub Sub lod() Dim db As db_db Dim val_name As Variant Dim x As Long Set db = New db_db val_name = Array("ID", "表題", "数値", "文字") val_val = db.sel_all("tableone", val_name) max = db.max + 1 If cmb.ListCount > 0 Then For x = 0 To cmb.ListCount - 1 cmb.RemoveItem 0 Next End If For x = 0 To db.db_x cmb.AddItem val_val(x, 1) Next Set db = Nothing End Sub Private Sub cmb_Click() If cmb.ListIndex >= 0 Then Viw cmb.ListIndex End If End Sub Private Sub del_btn_Click() Dim db As db_db Dim hoge As Variant Set db = New db_db val_name = Array("ID", "表題", "数値", "文字") If ID > 0 And max > 1 Then hoge = db.del("tableone", "ID", ID) End If Set db = Nothing lod End Sub Private Sub in_btn_Click() Dim db As db_db Dim val_name As Variant Dim val As Variant Dim hoge As Variant chkchk val_name = Array("ID", "表題", "数値", "文字") val = Array(max, cmb, suuzi, moji) Set db = New db_db hoge = db.up_in(True, "tableone", val_name, val, max) Set db = Nothing lod End Sub Private Sub upd_btn_Click() Dim db As db_db Dim val_name As Variant Dim val As Variant Dim hoge As Variant chkchk val_name = Array("表題", "数値", "文字") val = Array(cmb, suuzi, moji) Set db = New db_db If ID > 0 And max > 1 Then hoge = db.up_in(False, "tableone", val_name, val, ID) End If Set db = Nothing lod End Sub Sub Viw(i As Long) ID = val_val(i, 0) suuzi = val_val(i, 2) moji = val_val(i, 3) End Sub Sub chkchk() If IsNumeric(suuzi) Then If suuzi > 9999 Then suuzi = 9999 End If Else suuzi = 0 End If If IsNumeric(moji) Then moji = "文字が不正>" & moji End If If IsNumeric(cmb) Then cmb = "文字が不正>" & cmb End If End Sub
↑formソースコード
著者名 @taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
35, 358, access, db, https, sample, samplezip, SQL, Viewer, www, zip, いま, インジェクション, コード, こと, コメント, これ, サンプル, ソース, それ, ダウンロード, つもり, バグ, ファイル, マイクロソフト, ヨロシク, 下記, 他, 何, 修正, 削除, 動作, 嘘, 対策, 工事, 改良, 時, 暇, 無駄, 空, 突貫, 若干, 軽量, 追加, 追記, 飯,