3D Builder 0x80510018
データにより,3D Builder の読込で 0x80510018 エラーに.
以前の 3mf 出力では,テクスチャファイル名を数字と ‘_’ にしていたが,
先日他の 3D 形式の関係で,7 bit の文字の範囲に変更した.
どうもこれがいけなかったみたいで,
3mf で出力する時は,newName.Format(_T(“Tex_%03d.png”),tIndex+1) に修正.
Synology NAS で CGI
今度は,CGI.
以前少しやってみたが,500 Internal Server Error となりそのままとなっていた.
cgi の先頭行の指定が怪しいと察しはついていたので検索すると,
通常は「#!/usr/bin/perl」か「#!/usr/local/bin/perl」とのこと.
それぞれのフォルダを見ると,
Iwao@DS115j:/usr/bin$
Iwao@DS115j:/usr/bin$ ls pe*
perl perror
Iwao@DS115j:/usr/bin$
Iwao@DS115j:/usr/bin$ cd /usr/local/bin/
Iwao@DS115j:/usr/local/bin$
Iwao@DS115j:/usr/local/bin$ ls pe*
perl perl5.24.0 perlbug perldoc perlivp perlthanks
Iwao@DS115j:/usr/local/bin$
さらに検索すると,改行の問題とのこと.
「#!/usr/bin/perl –」の様に後ろに “–” を付ければ良いらしい.
または,’LF’ にすれば良いみたい.
‘CR’ として試すと,”–” の有無に関係なく 502 Bad Gateway となってしまう.
また文字コードは,UTF-8 などを使用すると思うが,「BOM なし」の必要がある.
2021/01/03
SVG を出力するコード.
#!/usr/bin/perl --
print "Content-type: text/html\n";
print "\n";
print "<!DOCTYPE html>\n";
print "<html>\n";
print "<head>\n";
print " <meta charset=\"utf-8\">\n";
print " <title>SVG</title>\n";
print " </head>\n";
print "<body>\n";
print " <svg viewBox=\"0 0 100 100 \" xmlns=\"http://www.w3.org/2000/svg\" >\n";
print " <rect x=\"15\" y=\"10\" width=\"70\" height=\"40\" stroke=\"blue\" fill=\"white\" />\n";
print " </svg>\n";
print " </body>\n";
print "</html>\n";
更に cpp として書いたコード.
g++ drawrect.cpp として出来上がった a.out を rect_cpp.cgi としてコピー.
/i_Tools/…/cgi/rect_cpp.cgi
https://jml.mish.work/index.php/various/nas/synology-nas.html
Synology PHP データ保存
ログを保存するコードで,
Warning: fopen(/…/Log/20170412.txt):
failed to open stream:
Permission denied in /…/log.php on line 24
どこの設定が影響しているのかが不明だが,
//itl.mydns.jp/3D_Data/ は OK .
//itl.mydns.jp/~i_Tools/ はうまく動作しない.
現在の時刻を文字列に
C++
time_t tim_v = ::time(NULL) ;
struct stm = ::localtime(&tim_v) ;
tstring buff ;
size_t size = 255 ;
buff.resize(size+1,0) ;
::_tcsftime(&buff[0],size,_T(“%Y/%m/%d %H:%M:%S”),&stm) ;
tstring str = buff.c_str() ;
MFC
CString str = CTime::GetCurrentTime().Format(_T(“%Y/%m/%d %H:%M:%S”)) ;
JavaScript
var time = new Date() ;
var y_ = time.getFullYear() ;
var m_ = time.getMonth() + 1 ;
var d_ = time.getDate() ;
var hh = time.getHours() ;
var mm = time.getMinutes() ;
var ss = time.getSeconds() ;
var str= (y_+”/”+m_+”/”+d_+” “+hh+”:”+mm+”:”+ss) ;
PHP
date_default_timezone_set(‘Asia/Tokyo’) ;
$str = date(“Y/m/d H:i:s”) ;