مسیر fs/path
کار با مسیر پروندهها: پیوند زدن، جدا کردن نام و پسوند، مسیر مطلق و نسبی و بررسی امنیت.
واردسازی سیستم پرونده.مسیر
مسیرها را با چسباندن رشتهها نسازید؛ پیوند جداکنندهی درست را خودش میگذارد. وقتی مسیری از کاربر میگیرید، پیش از باز کردن با مسیر امن است بررسی کنید که کسی با ../.. از پوشهی مجاز بیرون نزند.
گونهها
اجزای مسیر PathParts
ساختار اجزای مسیر| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| dir | dir | رشته = "" | بخش پوشه. |
| base | base | رشته = "" | نام پرونده. |
واردسازی سیستم پرونده.مسیر
روال ریشه:
پ := مسیر.پیوند("/home/sara"، "docs/cv.pdf")
سرچاپ پ
ت := مسیر.تقسیم(پ)
سرچاپ ت.dir، ت.base
سرچاپ مسیر.نام پوشه(پ)، مسیر.پوشه والد(پ)، مسیر.نام پرونده(پ)، مسیر.نام پایه(پ)
سرچاپ مسیر.پسوند(پ)، مسیر.نام بدون پسوند(پ)
سرچاپ مسیر.نرمال سازی("/a/./b/../c//d")، مسیر.پاک سازی("a/b/../../c")
سرچاپ مسیر.مطلق است(پ)، مسیر.مطلق است("docs")، مسیر.مطلق است(مسیر.مسیر مطلق("docs"))
سرچاپ مسیر.مسیر نسبی("/home/sara"، "/home/sara/docs/cv.pdf")
سرچاپ مسیر.مسیر امن است("/srv/files"، "a/b.txt")، مسیر.مسیر امن است("/srv/files"، "../../etc/passwd")
سرچاپ مسیر.اعتبارسنجی مسیر("docs/cv.pdf")، مسیر.اعتبارسنجی مسیر("")
پایانروالها
پیوند Join
روال پیوند(a: رشته، b: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: fs-path-Join.salam
تقسیم Split
روال تقسیم(p: رشته): اجزای مسیرنمونهی این مورد همراه با موارد بالاتر آمده است: fs-path-Join.salam
نرمال سازی Normalize
روال نرمال سازی(p: رشته): رشته\ ویندوز را به / تبدیل میکند؛ کار دیگری نمیکند. برای ساده کردن .. و .، پاک سازی را ببینید.نمونهی این مورد همراه با موارد بالاتر آمده است: fs-path-Join.salam
پاک سازی Clean
روال پاک سازی(p: رشته): رشته. و .. را حل میکند و جداکنندههای تکراری را برمیدارد.نمونهی این مورد همراه با موارد بالاتر آمده است: fs-path-Join.salam
مطلق است IsAbs
روال مطلق است(p: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: fs-path-Join.salam
مسیر مطلق Abs
روال مسیر مطلق(p: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: fs-path-Join.salam
مسیر نسبی Rel
روال مسیر نسبی(base: رشته، target: رشته): رشتهtarget را نسبت به base میدهد.نمونهی این مورد همراه با موارد بالاتر آمده است: fs-path-Join.salam
پوشه والد Parent
روال پوشه والد(p: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: fs-path-Join.salam
نام پوشه Dirname
روال نام پوشه(p: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: fs-path-Join.salam
نام پرونده Filename
روال نام پرونده(p: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: fs-path-Join.salam
نام پایه Basename
روال نام پایه(p: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: fs-path-Join.salam
پسوند Ext
روال پسوند(p: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: fs-path-Join.salam
نام بدون پسوند Stem
روال نام بدون پسوند(p: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: fs-path-Join.salam
مسیر امن است IsSafe
روال مسیر امن است(base: رشته، p: رشته): منطقیbase بماند، درست برمیگرداند.نمونهی این مورد همراه با موارد بالاتر آمده است: fs-path-Join.salam
اعتبارسنجی مسیر Validate
روال اعتبارسنجی مسیر(p: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: fs-path-Join.salam