PDA

View Full Version : سوال: طریقه decompress کردن فایل فشرده چطوری است؟؟؟



Mostafa_Sabeti
یک شنبه 21 شهریور 1389, 15:50 عصر
چطوری میشه یک فایل فشرده مثلا (zip یا rar...) را به سرور لود کرد و بعد از اون محتویات آن فایل فشرده را در یک پوشه (در مسیری که فایل فشرده اپلود شده است) جدید decompress کرد؟

pikoolas
یک شنبه 21 شهریور 1389, 19:16 عصر
بستگی به پنل هاست داره. پنل هاست شما چیه؟

Mostafa_Sabeti
دوشنبه 22 شهریور 1389, 07:56 صبح
اگه منظور شما از پنل هاست، نرم افزار کنترل پانل هاست وبسایت من است، plesk میباشد.

pikoolas
دوشنبه 22 شهریور 1389, 09:05 صبح
منم قبلا با plesk کار کردم این امکانو نداشت . یکسری می گفتن موقع آپلود فایل باید یک چک باکس رو تیک بزنی که من چنین چیزی ندیدم .آخرش با پشیبانی هاست تماس گرفتم و اونا فایل رو برام uzip کردن. الیته بعضی از سایتها هم هستند که از طریق اونا می تونی بری فایل رو تو هاست خودت unzip کنی .

صادق صدقی
دوشنبه 22 شهریور 1389, 12:21 عصر
سلام
من دات نت پنل دارم
می شه
خودش گزینه داره
البته فقط زیپ

می شه از طریق برنامه نویسی هم این کار رو کرد؟
مثلا تویه سایتم upload panel بزارم و کلاینت آپ کنه و بعدش Decompress کنم؟

Mostafa_Sabeti
دوشنبه 22 شهریور 1389, 12:25 عصر
منظور من آپلود دستی فایل نیست.
کاری که من دقیقا میخواهم انجام بدهم ارسال مطالب سایت از طریق یک صفحه مدیریت که طراحی کرده ام میباشد.
یعنی وقتی میخواهم مطلبی را به سایت خودم ارسال کنم از این فرم مدیریت استفاده میکنم (که البته فقط خودم بهش دسترسی دارم)
توی این فرم دو بخش گذاشتم. یکی عنوان مطلب و لینک مطلب را میگیره و آنها را داخل یک تیبل در دیتابیس ذخیره میکنه.
بخش دوم یک فایل آپلود داره که باید یک فایل فشرده مثلا زیپ را بگیره و بعد از ارسال ان به سرور(تابع اپلود فایل به سرور را خودم دارم) محتوای آن را به همان صورت که هست در یک پوشه از حالت فشرده خارج کنه و مسیر فایل های آنزیپ شده را (مسیر پوشه فایلها) در یک لیبل بدهد تا من قبل از ثبت مطلب جدید این ادرس ارائه شده را به عنوان لینک مطلب جدید ثبت کنم و در سایت نشان داده بشه.
در ضمن این عملیات از فشرده خارج کردن باید بتونه همه فایل ها به همان شکل را از فشرده سازی خارج کند مثلا اگه اطلاعات داخل فایل فشرده بصورت زیر بود:

index.html
images/xxx.jpg
css/style.css
آنها را به همان شکل در یک پوشه با نامی تصادفی (نام پوشه توسط سیستم تولید شود) بریزد و آدرس مطلب ارسالی را مثلا بصورت
~/(dirName)/ بدهد تا وقتی من مطلب جدید را ثبت کردم لینک ان
فایل ارسال شده را نمایش دهد.

اگر کسی کدی داره یا میتونه مطلبی به عنوان راهنمایی بدهد دریغ نکند.
بسیار متشکرم

persian_bigboy
دوشنبه 22 شهریور 1389, 22:35 عصر
سلام هیچ ربطی به هاست و سرور نداره ،


set shell = CreateObject("WScript.Shell")
zipCommand = "pkzipc -add " & server.mappath("/") & "\test.zip c:\*.log"
shell.Run zipCommand, 1, true
set shell = nothing
من تو ASP.NET با vb.net کار کردم جواب دارد .


اینجا رو بخون .

http://classicasp.aspfaq.com/general/how-do-i-zip/unzip-files-from-asp.html




FileStream sourceFile = File.OpenRead(@"C:\sample.xml");
FileStream destFile = File.Create(@"C:\sample.zip");
GZipStream compStream = new GZipStream(destFile, CompressionMode.Compress);
try
{
int theByte = sourceFile.ReadByte();
while (theByte != -1)
{
compStream.WriteByte((byte)theByte);
theByte = sourceFile.ReadByte();
}
}
finally
{
compStream.Dispose();
}



این ها رو هم بخون

http://forums.aspfree.com/code-bank-54/creating-zip-files-using-classic-asp-66544.html
http://forums.asp.net/t/1086292.aspx
http://weblogs.asp.net/krunalmevada/archive/2008/10/09/extract-zip-file-in-asp-net.aspx

pikoolas
سه شنبه 23 شهریور 1389, 09:14 صبح
سلام هیچ ربطی به هاست و سرور نداره ،

بهتر بود شما تاپیک رو از اول می خوندید

persian_bigboy
سه شنبه 23 شهریور 1389, 11:00 صبح
؟ . ؟

Ali_M.Eghbaldar
سه شنبه 23 شهریور 1389, 13:45 عصر
http://www.emailarchitect.net/eacompression/sdk/html/object_overwrite.htm