function getCommonPos($s0,$s1) { $len=strlen($s0); $len1=strlen($s1); if($len1<$len) { $len=$len1; } while($s0[$i]==$s1[$i] && ++$i<$len1); return $i; } function diffStr($s0, $s1) { $pos=getCommonPos($s0,$s1); $end=strrpos(substr($s0,0,$pos),"\\"); return substr($s0,$end); } function countSlashes($str) { return substr_count($str,"\\"); } function getRelativePath($p0,$p1) { $p0=realpath($p0); $p1=realpath($p1); $dir=diffStr($p0,$p1); if(!empty($dir)) { $n=countSlashes($dir); $path=""; for($i=0;$i<$n;$i++) { $path.=".."; if($i<$n-1) { $path.="\\"; } } } $newDir=diffStr($p0,$p1); $newDir=$path.$newDir; if(empty($newDir)) $newDir="."; return $newDir; }
水曜日, 3月 14, 2012
PHP: get relative path expression
The following code calculate the difference of paths given and return a relative path expression.
Qt: 外部プログラムを起動する
Qt/C++ のアプリは、外部へ直接アクセスできます。これはネットアプリでは不可能な Qt のメリットです。 外部プログラムを起動することもできます。QProcess::startDetached() を使うと独立したプロセスを立ち上げることができます。 この QProces...
-
コンデンサマイク 極性があります コンデンサマイクがようやく届きました。モジュールではないのでそのままでは信号が弱いので使えません。信号を増幅する必要があります。 ちょっとした手間ですが、首尾よく動いてくれました。この回路の応用で、使えるマイクが出来ます。 ...
-
Flask/SQLAlchemy 使ってる方、jinja で困ってませんか? 本体で Python の関数を書いてもいいんですが、テンプレートでも関数が呼べます。 日付を出したい場合、フォーマットなら strftime() が使えます。 わざわざ文字列を作って渡す必...
-
PowerBuilder では Time, Date, DateTime などという型があります。 デフォルトの表示形式から変更する場合は String() 関数を使います。 String(Date('1/12/2016'),'yyyy-mm-dd...