「◆ファイル/URL相対パス」の編集履歴(バックアップ)一覧はこちら
「◆ファイル/URL相対パス」(2009/05/31 (日) 17:29:14) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*情報
作者名:はっぱ
引用元:[[なでしこプログラム掲示板「はっぱのサンプル集57」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=734&rev=&no=0]]
解説引用元:[[絶対パスと相対パス ( ホームページ作成 )>http://www.shoshinsha.com/hp/1hour/know/pass.html]]
勝手に改変
*概要
相対パスを出力します。
相対パス指定のお約束
・同じ階層にあるものは、そのままファイル名か「./ファイル名」
・下の階層にあるものは、「./フォルダ名/ファイル名」
・上の階層にあるものは、「../ファイル名」
・2階層上にあるものは、「../../ファイル名」
・1階層上にあるフォルダの中のファイルは、「../フォルダ名/ファイル名」
*解説
●ファイル相対パス変換
●ファイル相対パス展開
●URL相対パス変換
●URL相対パス展開
**「変換」系
***引数
基本パス:指定する側
絶対パス:絶対的に指定される側
***返り値
相対パス
**「展開」系
***引数
基本パス:指定する側
相対パス:相対的に指定される側
***返り値
絶対パス
*サンプルプログラム
//ファイル相対パス変換・展開
基本パス=「C:\Documents and Settings\Owner\デスクトップ\AAA.html」。
#基本パス=「C:\Documents and Settings\Owner\デスクトップ\」。#どちらでもOK!
絶対パス=「C:\Documents and Settings\Owner\My Documents\BBB.html」。
相対パス=絶対パスを基本パスでファイル相対パス変換して言う。#..\My Documents\BBB.html
相対パスを基本パスでファイル相対パス展開して言う。#C:\Documents and Settings\Owner\My Documents\BBB.html
//URL相対パス変換・展開
基本パス=「http://www.yahoo.co.jp/test/aiueo/」。
#基本パス=「http://www.yahoo.co.jp/test/aiueo/index.html」。#どちらでもOK!
絶対パス=「http://www.yahoo.co.jp/neko.gif」。
相対パス=絶対パスを基本パスでURL相対パス変換して言う。#../../neko.gif
相対パスを基本パスでURL相対パス展開して言う。#http://www.yahoo.co.jp/neko.gif
*//本体
●ファイル相対パス展開(相対パスを基本パスで)
基本パス=基本パスからパス抽出。
相対パスを基本パスで相対パス展開。それで戻る。
●ファイル相対パス変換(基本パスから絶対パスまでの|絶対パスを基本パスで)
結果とは文字列。仮基本パスとは配列。仮絶対パスとは配列。カウンタとは整数。
基本パス=基本パスからパス抽出。基本パス=基本パスの終端パス追加。基本パス=基本パス&「syuusei」。
仮基本パスは基本パスを『\』で区切る。仮絶対パスは絶対パスを『\』で区切る。
1のループ
もし回数が(仮基本パスの配列要素数)ならば、抜ける
もし回数が(仮絶対パスの配列要素数)ならば、抜ける
もし仮基本パス[回数-1]が仮絶対パス[回数-1]でなければ、抜ける
カウンタ=カウンタ+1。
((仮基本パスの配列要素数)-1-カウンタ)回
結果は(『..\』&結果)
((仮絶対パスの配列要素数)-カウンタ)回
結果は結果&仮絶対パス[カウンタ+回数-1]&『\』
結果は結果&改行。結果は結果の(『\』&改行)を空に置換。結果は結果の改行を空に置換。
もし、結果の1から3バイト抜き出す≠「..\」ならば、結果=「.\」&結果。
結果で戻る。
●URL相対パス展開(相対パスを基本パスで)
基本パス=基本パスからURL基本パス抽出。
相対パスを基本パスでURL展開。それで戻る。
●URL相対パス変換(基本パスから絶対パスまでの|絶対パスを基本パスで)
結果とは文字列。仮基本パスとは配列。仮絶対パスとは配列。カウンタとは整数。
基本パス=基本パスからURL基本パス抽出。もし、基本パスから1バイト右部分≠「/」ならば、基本パス=基本パス&「/」。
基本パス=基本パス&「syuusei」。
仮基本パスは基本パスを『/』で区切る。仮絶対パスは絶対パスを『/』で区切る。
1のループ
もし回数が(仮基本パスの配列要素数)ならば、抜ける
もし回数が(仮絶対パスの配列要素数)ならば、抜ける
もし仮基本パス[回数-1]が仮絶対パス[回数-1]でなければ、抜ける
カウンタ=カウンタ+1。
((仮基本パスの配列要素数)-1-カウンタ)回
結果は(『../』&結果)
((仮絶対パスの配列要素数)-カウンタ)回
結果は結果&仮絶対パス[カウンタ+回数-1]&『/』
結果は結果&改行。結果は結果の(『/』&改行)を空に置換。結果は結果の改行を空に置換。
もし、結果の1から3バイト抜き出す≠「../」ならば、結果=「./」&結果。
結果で戻る。
----
#comment()
----
*情報
作者名:はっぱ
引用元:[[なでしこプログラム掲示板「はっぱのサンプル集57」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=734&rev=&no=0]]
解説引用元:[[絶対パスと相対パス ( ホームページ作成 )>http://www.shoshinsha.com/hp/1hour/know/pass.html]]
勝手に改変
*概要
相対パスを出力します。
相対パス指定のお約束
・同じ階層にあるものは、そのままファイル名か「./ファイル名」
・下の階層にあるものは、「./フォルダ名/ファイル名」
・上の階層にあるものは、「../ファイル名」
・2階層上にあるものは、「../../ファイル名」
・1階層上にあるフォルダの中のファイルは、「../フォルダ名/ファイル名」
*解説
●ファイル相対パス変換
●ファイル相対パス展開
●URL相対パス変換
●URL相対パス展開
**「変換」系
***引数
基本パス:指定する側
絶対パス:絶対的に指定される側
***返り値
相対パス
**「展開」系
***引数
基本パス:指定する側
相対パス:相対的に指定される側
***返り値
絶対パス
*サンプルプログラム
//ファイル相対パス変換・展開
基本パス=「C:\Documents and Settings\Owner\デスクトップ\AAA.html」。
#基本パス=「C:\Documents and Settings\Owner\デスクトップ\」。#どちらでもOK!
絶対パス=「C:\Documents and Settings\Owner\My Documents\BBB.html」。
相対パス=絶対パスを基本パスでファイル相対パス変換して言う。#..\My Documents\BBB.html
相対パスを基本パスでファイル相対パス展開して言う。#C:\Documents and Settings\Owner\My Documents\BBB.html
//URL相対パス変換・展開
基本パス=「http://www.yahoo.co.jp/test/aiueo/」。
#基本パス=「http://www.yahoo.co.jp/test/aiueo/index.html」。#どちらでもOK!
絶対パス=「http://www.yahoo.co.jp/neko.gif」。
相対パス=絶対パスを基本パスでURL相対パス変換して言う。#../../neko.gif
相対パスを基本パスでURL相対パス展開して言う。#http://www.yahoo.co.jp/neko.gif
*//本体
●ファイル相対パス展開(相対パスを基本パスで)
基本パス=基本パスからパス抽出。
相対パスを基本パスで相対パス展開。それで戻る。
●ファイル相対パス変換(基本パスから絶対パスまでの|絶対パスを基本パスで)
結果とは文字列。仮基本パスとは配列。仮絶対パスとは配列。カウンタとは整数。
基本パス=基本パスからパス抽出。基本パス=基本パスの終端パス追加。基本パス=基本パス&「syuusei」。
仮基本パスは基本パスを『\』で区切る。仮絶対パスは絶対パスを『\』で区切る。
1のループ
もし回数が(仮基本パスの配列要素数)ならば、抜ける
もし回数が(仮絶対パスの配列要素数)ならば、抜ける
もし仮基本パス[回数-1]が仮絶対パス[回数-1]でなければ、抜ける
カウンタ=カウンタ+1。
((仮基本パスの配列要素数)-1-カウンタ)回
結果は(『..\』&結果)
((仮絶対パスの配列要素数)-カウンタ)回
結果は結果&仮絶対パス[カウンタ+回数-1]&『\』
結果は結果&改行。結果は結果の(『\』&改行)を空に置換。結果は結果の改行を空に置換。
もし、結果の1から3バイト抜き出す≠「..\」ならば、結果=「.\」&結果。
結果で戻る。
●URL相対パス展開(相対パスを基本パスで)
基本パス=基本パスからURL基本パス抽出。
相対パスを基本パスでURL展開。それで戻る。
●URL相対パス変換(基本パスから絶対パスまでの|絶対パスを基本パスで)
結果とは文字列。仮基本パスとは配列。仮絶対パスとは配列。カウンタとは整数。
基本パス=基本パスからURL基本パス抽出。もし、基本パスから1バイト右部分≠「/」ならば、基本パス=基本パス&「/」。
基本パス=基本パス&「syuusei」。
仮基本パスは基本パスを『/』で区切る。仮絶対パスは絶対パスを『/』で区切る。
1のループ
もし回数が(仮基本パスの配列要素数)ならば、抜ける
もし回数が(仮絶対パスの配列要素数)ならば、抜ける
もし仮基本パス[回数-1]が仮絶対パス[回数-1]でなければ、抜ける
カウンタ=カウンタ+1。
((仮基本パスの配列要素数)-1-カウンタ)回
結果は(『../』&結果)
((仮絶対パスの配列要素数)-カウンタ)回
結果は結果&仮絶対パス[カウンタ+回数-1]&『/』
結果は結果&改行。結果は結果の(『/』&改行)を空に置換。結果は結果の改行を空に置換。
もし、結果の1から3バイト抜き出す≠「../」ならば、結果=「./」&結果。
結果で戻る。
----
#comment()
----