اجمع ملفات نصية في ZIP واحد
اجمع ما يصل إلى 50 إدخالًا نصيًا ملصوقًا في ملف ZIP قياسي واحد، مع بقاء المجلدات الفرعية الآمنة مثل docs/readme.txt، جاهزًا للإرسال أو الحفظ. يُحزم المحتوى كما هو دون تصغير، فيفتحه أي نظام شائع. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
أنشئ ملف ZIP قابلًا للتنزيل بلصق النص في ما يصل إلى 50 إدخالًا مسمى. تُحفظ المجلدات النسبية الآمنة؛ ولا يدعم النموذج بعد رفع PDF أو الصور أو الملفات الثنائية الأخرى.
تنزيل واحد بدل كومة من الملفات النصية
ملفات الإعداد والسجلات وأجزاء ملفات CSV والملاحظات والنصوص المولّدة كثيرًا ما تحتاج إلى أن تُجمع في تنزيل واحد. تضيف هنا سطرًا لكل إدخال، وتعطيه اسمًا أو مسارًا نسبيًا آمنًا، وتلصق نصه، ثم تنزّل ملف ZIP قياسيًا تفتحه أنظمة التشغيل الشائعة دون برامج إضافية. المسار مثل docs/readme.txt يضع الإدخال داخل مجلد docs، فيصل الأرشيف مرتبًا. يمكنك إضافة ما يصل إلى 50 إدخالًا بحد أقصى 32 ميغابايت من النص، ويُبنى الأرشيف محليًا في متصفحك.
تجميع لا ضغط، وما لا يُقبل بعد
يستخدم الأرشيف طريقة التخزين، أي أنه يحزم البيانات كما هي دون محاولة تصغيرها. لذلك تكون النتيجة متطابقة في كل مرة وتقرؤها كل الأدوات تقريبًا، لكن حجم ملف ZIP يبقى قريبًا من حجم النصوص التي وضعتها. وإذا كان هدفك ملفًا أخف فهذه ليست الخطوة المناسبة. أكثر المفاجآت شيوعًا انتظار تقلص كبير في مجلد من السجلات. والحد الآخر نوع المحتوى: الإدخالات نصوص بترميز UTF-8، فلا يمكن إضافة ملفات PDF أو الصور أو غيرها من الملفات الثنائية هنا بعد.
لماذا تحتاج أرشيفًا واحدًا لا ملفات متفرقة
اجمع الإعدادات والسجلات وCSV وملاحظات الشفرة والنصوص الأخرى في تنزيل واحد. أضف صفًا لكل إدخال، وحدد مسارًا نسبيًا آمنًا، والصق النص ثم نزّل ZIP.
ما الذي يحافظ عليه الأرشيف
يحتوي كل إدخال على اسم أو مسار نسبي ونص UTF-8. تُحفظ المسارات الآمنة مثل docs/readme.txt، بينما تُرفض المسارات المطلقة و.. والشرطة المائلة العكسية.
الاستخدام من الصفحة مباشرة
يستخدم ZIP طريقة store لتجميع البايتات دون تقليل الحجم. الميزة هي تنزيل واحد متوافق، لا ضغط الحجم.
حالات الاستخدام
إعدادات مشروع لفريق التطوير
يجمع فريق README والترخيص ونص الإعدادات في مجلدات فرعية آمنة.
سجلات نصية يومية
تجمع عملية يومية ما يصل إلى 50 سجلًا نصيًا.
الأسئلة الشائعة
هل يحافظ الأرشيف على المجلدات الفرعية؟
تُحفظ المسارات النسبية الآمنة. تُرفض المسارات المطلقة و.. والشرطة المائلة العكسية.
هل الاستخدام من المتصفح مجاني؟
نعم، حتى 50 إدخالًا نصيًا في كل ملف ZIP.
هل تُرسل ملفاتي لأي خادم عند الاستخدام من الصفحة؟
يبقى النص المُدخل في المتصفح. لا يقبل هذا النموذج ملفات ثنائية.
هل يمكن حماية الأرشيف بكلمة مرور؟
لا تدعم هذه الأداة كلمة مرور حاليًا؛ الغرض منها تجميع الإدخالات النصية فقط.
كم إدخالًا نصيًا يمكنني إضافته؟
حتى 50 إدخالًا نصيًا. لا يدعم النموذج PDF أو الصور أو الملفات الثنائية الأخرى بعد.
هل يفتح أي شخص الأرشيف دون برنامج خاص؟
نعم، صيغة ZIP مدعومة تلقائيًا في كل أنظمة التشغيل الحديثة دون أي برنامج إضافي.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/data/zip \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"files":[{"name":"a.txt","content":"hola"}]}'const res = await fetch("https://api.kit.forhosting.com/data/zip", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"files": [
{
"name": "a.txt",
"content": "hola"
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/zip",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"files": [
{
"name": "a.txt",
"content": "hola"
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/zip", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"files":[{"name":"a.txt","content":"hola"}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"files":[{"name":"a.txt","content":"hola"}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/zip", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"files": [
{
"name": "a.txt",
"content": "hola"
}
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.zip",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 25 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
الأتمتة عبر الـAPI
رفع الملفات الثنائية غير متاح بعد. يقبل الـAPI العقد نفسه: حتى 50 عنصرًا نصيًا من نوع {name, content} بسعر $0.002 للطلب.
حالات التكامل
تصدير بيانات نصية
يجمع تطبيق ملف CSV وبيان JSON وملخصًا نصيًا في تنزيل واحد.