مقسّم أجزاء المسار
ألصق /home/a/file.tar.gz لتحصل على أجزائه: المجلد /home/a واسم الملف file.tar.gz والامتداد .gz والجذر، إلى جانب الاسم دون امتداد. يُستخرج كل ذلك من النص وحده دون لمس أي قرص. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- المسار
- /home/a/file.tar.gz
- المجلد
- /home/a
- اسم الملف
- file.tar.gz
- اسم الملف بدون الامتداد
- file.tar
- Ext
- .gz
اقسم سلسلة مسار إلى dirname وbasename وstem والامتداد وroot. نية البحث: path basename dirname امتداد. لا يلزم استدعاء شبكة ولا بذور عشوائية ولا حالة خادم لجواب صحيح.
خمسة أجزاء من مسار واحد
خذ المسار /home/a/file.tar.gz. المجلد الذي يحتوي الملف هو /home/a، واسم الملف هو file.tar.gz، والاسم دون الامتداد الأخير هو file.tar، والامتداد هو .gz، والجذر هو الشرطة المائلة، وهذا ما يجعل المسار مطلقًا أيضًا. تعيد الأداة كل هذه الأجزاء دفعة واحدة، فلا تحتاج إلى عدّ الشرطات المائلة أو النقاط يدويًا، ويمكنك استخدام كل جزء وحده، كأن تعيد تسمية ملف مع الإبقاء على مجلده، أو تجمع الملفات حسب امتدادها.
نص فقط ولا شيء من قرصك
التقسيم عمل نصي خالص. فالأداة لا تفتح نظام الملفات ولا تتصفحه ولا تفحصه أبدًا، لذا تعمل بالطريقة نفسها مع مسار على جهازك أو على خادم أو مع مسار لم يُنشأ بعد. ولا يُرسل شيء عبر الشبكة، ولا توجد عناصر عشوائية أو حالة محفوظة، فيعطي المسار نفسه الأجزاء نفسها دائمًا. ولاحظ أن الامتداد الأخير وحده هو المعتبر: فالامتداد المزدوج يعطي الجزء الأخير فقط، ويبقى ما قبله جزءًا من الاسم.
كيف يعمل
اقسم سلسلة مسار إلى dirname وbasename وstem والامتداد وroot. تحليل نصوص خالص — لا يمس نظام الملفات أبدًا. التنفيذ JavaScript خالص بلا خدمات خارجية.
لا يلزم استدعاء شبكة ولا بذور عشوائية ولا حالة خادم لجواب صحيح. لا تُحاسب المهام الفاشلة. تستهدف الصفحات نية البحث بكلمات مفتاحية دقيقة.
فضّل الوحدات والنطاقات الصريحة على الإكراه الصامت للأنواع الخاطئة. عندما يكون الحقل اختياريًا، تُوثَّق القيم الافتراضية في params وتُعاد في المخرج. هذا يحافظ
المدخلات والحدود والتقريب
الكسور الاختيارية تستخدم half-up مرة واحدة. تعيد المخرجات المدخلات الرئيسية حتى تسجّل الأتمتة السياق الكامل لكل استدعاء. لا يلزم استدعاء شبكة ولا بذور عشوائية ولا حالة خادم لجواب صحيح.
لا تُحاسب المهام الفاشلة. تستهدف الصفحات نية البحث بكلمات مفتاحية دقيقة. فضّل الوحدات والنطاقات الصريحة على الإكراه الصامت للأنواع الخاطئة.
عندما
متى تستخدمه
استخدمه عندما تطابق نية بحثك اسم الحاسبة وتحتاج جوابًا قابلاً للتكرار للتدريس أو العمليات المالية أو GIS أو أدوات النص أو تاريخ الوحدات. اقسم سلسلة مسار إلى dirname وbasename وstem والامتداد وroot. لا يلزم استدعاء شبكة ولا بذور عشوائية ولا حالة خادم لجواب صحيح.
لا تُحاسب المهام الفاشلة. تستهدف الصفحات نية البحث بكلمات مفتاحية دقيقة. فضّل الوحدات والنطاقات الصريحة على الإكراه الصامت للأنواع الخاطئة.
عندما يكون الحقل اختياريًا، القيم الافتراضية هي
حالات الاستخدام
فحص سريع
الصق القيم في الودجت المجاني وقارنها بجدول بيانات.
الأسئلة الشائعة
من المؤلف؟
Aspire (elon@forhosting.com)، تسليم EN فقط؛ Nitro يرطّب اللغات.
هل تتحقق الأداة من وجود الملف أو المجلد؟
لا. إنها تحلل النص فقط ولا تلمس نظام الملفات أبدًا، لذا تعمل مع أي مسار تكتبه، حتى لو لم يكن موجودًا على جهازك أو على أي خادم.
ما الامتداد الذي تعطيه لاسم بامتداد مزدوج؟
تعطي الامتداد الأخير فقط، ففي المثال يكون الامتداد .gz ويبقى file.tar اسمًا دون امتداد. وإذا احتجت الامتداد المزدوج كاملًا فخذه من اسم الملف الكامل الذي يعود كما هو.
كيف أعرف إن كان المسار مطلقًا؟
تعرض الأداة الجذر وتبيّن إن كان المسار مطلقًا. في المثال يبدأ المسار من الجذر وهو الشرطة المائلة، لذا يُعدّ مسارًا مطلقًا.
هل يُرسل المسار الذي أدخله إلى أي مكان؟
لا. تجري المعالجة كلها داخل متصفحك دون اتصال بالشبكة ودون عناصر عشوائية أو حالة محفوظة، فيعطي المسار نفسه الأجزاء نفسها دائمًا.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/text/path-parts \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"path":"/home/a/file.tar.gz"}'const res = await fetch("https://api.kit.forhosting.com/text/path-parts", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"path": "/home/a/file.tar.gz"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/path-parts",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"path": "/home/a/file.tar.gz"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/path-parts", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"path":"/home/a/file.tar.gz"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"path":"/home/a/file.tar.gz"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/path-parts", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"path": "/home/a/file.tar.gz"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.path_parts",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
أداة مجانية من المستوى A وحتمية، مع ودجت متصفح وواجهة API متطابقتين. الحاسبة مجانية في المتصفح وحتمية ومطابقة عبر مسار API. تُتحقق المدخلات قبل أي حساب؛ تفشل الحمولات غير الصالحة بـ invalid_input. يُطبَّق تقريب half-up مرة واحدة من نتائج IEEE الخام عند طلب الكسور. استخدم عقد JSON نفسه من جداول البيانات وCMS
كيف يعمل
الحاسبة مجانية في المتصفح وحتمية ومطابقة عبر مسار API. تُتحقق المدخلات قبل أي حساب؛ تفشل الحمولات غير الصالحة بـ invalid_input. يُطبَّق تقريب half-up مرة واحدة من نتائج IEEE الخام عند طلب الكسور. استخدم عقد JSON نفسه من جداول البيانات وخطافات CMS والأتمتة أو عروض التدريس.
المدخلات والحدود والتقريب
قدّم المعاملات المطلوبة كأرقام أو سلاسل JSON كما هو موثّق. الأنواع غير الصالحة أو الحقول المطلوبة الناقصة أو القيم خارج النطاق تُطلق invalid_input برسالة واضحة. الحاسبة مجانية في المتصفح وحتمية ومطابقة عبر مسار API. تُتحقق المدخلات قبل أي حساب؛ تفشل الحمولات غير الصالحة بـ invalid_input. يُطبَّق تقريب half-up مرة واحدة من نتائج IEEE الخام عند طلب الكسور. استخدم عقد JSON نفسه من جداول البيانات وخطافات CMS والأتمتة أو عروض التدريس.
متى تستخدمه
الحاسبة مجانية في المتصفح وحتمية ومطابقة عبر مسار API. تُتحقق المدخلات قبل أي حساب؛ تفشل الحمولات غير الصالحة بـ invalid_input. يُطبَّق تقريب half-up مرة واحدة من نتائج IEEE الخام عند طلب الكسور. استخدم عقد JSON نفسه من جداول البيانات وخطافات CMS والأتمتة أو عروض التدريس.
حالات التكامل
أتمتة
استدعِ واجهة API بعقد JSON نفسه من n8n أو سكربتات أو CMS.
تدريس
اعرض الصيغة وأمثلة golden المثبتة دون برمجيات مملوكة.
أسئلة تقنية
هل هو مجاني في المتصفح؟
نعم. المستوى A يعمل بالكامل من جهة العميل بنفس نواة API.
هل يستدعي الشبكة؟
لا. كل التحويلات الرياضية والنصية محلية وحتمية.
ماذا يحدث عند إدخال خاطئ؟
يرمي المعالج invalid_input؛ والمهام الفاشلة لا تُحاسب.
هل يمكنني استخدامه من API؟
نعم. أرسل حقول JSON نفسها الموثّقة في params.