اختصاص Title ( موضوع ) صفحه به نام عکس ها

valasan

New Member
با عرض سلام و خسته نباشید .
دوستان ما می خواهیم صفحاتی که ثبت می کنیم موضوع صفحه را گرفته و عکسهای مرتبط به آن صفحه را با ان موضوع تغیر نام دهد .
بطور مثال :
xbox-1.jpg . xbox.2.jpg و .....
می خواستم از شما کمک بگیرم و این روش را با هم آنالیز کنیم و یک الگوریتم خاصی بنویسیم .
پیشاپیش از راهنماییتون متشکرم .
 

mo.esmp

Member
قبلا يه برنامه نوشته بودم که از طريق نام پوشه فايل داخل اون پوشه رو به نام پوشه تغيير ميداد.
پيشنهاد من اينه که شما حتماً يه پوشه به نام image داريد که عکس های سايت تون رو داخل اون ذخيره کرديد.
وقتی که يه صفحه ايجاد کرديد، يه پوشه به نام موضوع صفحه در داخل پوشه image ايجاد کنيد و عکس های مربوط به اون صفحه رو داخل اون ذخيره کنيد و از طريق نام پوشه عکس های داخل پوشه رو تغيير نام دهيد.
کد:
DirectoryInfo directoryInfo = new DirectoryInfo(Server.MapPath("~") + "\\image\\");
            foreach (System.IO.DirectoryInfo g in directoryInfo.GetDirectories())
            {
                string folderName = g.Name;

                int i = 0;
				
                foreach (System.IO.FileInfo f in g.GetFiles("*.*"))
                {
                    string name = f.Name.Substring(f.Name.Length - 4, 4);
                    string newName = f.DirectoryName + "\\" + folderName + i.ToString() + name;
					
                    File.Move(f.FullName, newName );
                    i++;
                }
            }
 
  • Like
Reactions: MDP

valasan

New Member
مشکل ما اینجاست که برای یک فروشگاه لازم داریم که وقتی یک کالا ثبت میشه نام فولدر ID کالاست و اگر بخواهیم تغییر بدهیم استاندارد ها بهم میریزه .
مثال :
image/123455/1.jpg
.
.
.
image/n/n.jpg
 

valasan

New Member
توضیح مختصر و کامل :

در یک فروشگاه مجازی یک کالا ثبت می شود , و آن کالا n تصویر دارد .
ما میخواهیم نام کالا را بطور خودکار به تصاویر مرتبط با آن کالا , تغییر نام و اختصاص دهد .

مثال : کالای XBOX ثبت شد و 3 عکس متعلق به این کالاست .
نام کالا ها پس از Upload :
xbox-1.jpg
xbox-2.jpg
xbox-3.jpg
قابل ذکر است که ابتدا کالا ثبت می شود و بعد عکس های بارگذاری شده بطور اتوماتیک تغیر نام می کند .:neutral:
 
آخرین ویرایش:

mohan21

Member
یعنی با آپلود تصویری با نام bbbbb.jpg (فایل موجود در کامپیوتر)
این تصویر با نام xbox-1.jpg ذخیره بشه ؟؟؟

در این صورت داریم ::::

نام کالا :::

PHP:
$Name = "xbox" ;

برای هر تصویر قبل از ذخیره در هاست نام و پسوند رو از هم جدا می کنیم که در فایل نمونه خودمون داریم :
نام ::: bbbbb
پسوند ::: jpg

با داشتن یه متغییر برای شمارش تصاویر مثلاً

PHP:
$Count

نام جدید تصویر رو داریم :::

PHP:
$NewName = $Name."_".$Count.".jpg"

تصویر مورد نظر شما با این نام جدید ذخیره میشه ...
 

valasan

New Member
با تسکر از دوست عزیزم . یک مشکل هست :
من jpg رو برای مثال گذاشتم و امکا ن داره GIF , TIF و .... باشه .! پس پسوند فایل هم باید چک بشه .
در ضمن خواهشمندم به زبان ASP راهنمایی کنید .
 
آخرین ویرایش:

mo.esmp

Member
مشکل ما اینجاست که برای یک فروشگاه لازم داریم که وقتی یک کالا ثبت میشه نام فولدر ID کالاست و اگر بخواهیم تغییر بدهیم استاندارد ها بهم میریزه .
مثال :
image/123455/1.jpg
.
.
.
image/n/n.jpg

خوب اين مشکل رو ميشه با يه Query ساده از ديتابيس حل کرد. با استفاده از نام پوشه که همون ID کالاست ميتونی از ديتابيس نام کالا رو به دست بياری و از طريق اون عکس ها رو تغيير نام بدی.

کد:
DirectoryInfo directoryInfo = new DirectoryInfo(Server.MapPath("~") + "\\image\\");
foreach (System.IO.DirectoryInfo g in directoryInfo.GetDirectories())
{
    [B]SqlConnection connection = new SqlConnection("Your connection string");
	connection.Open();
	SqlCommand command = new SqlCommand("SELECT ProductName FROM TableName WHERE ProductID = " + g.Name, connection);
	SqlDataReader reader = command.ExecuteReader();
	reader.Read();
	string folderName = reader[0].ToString();
	reader.Close();[/B]

    int i = 0;
				
    foreach (System.IO.FileInfo f in g.GetFiles("*.*"))
    {
		string fileExtension = f.Name.Substring(f.Name.Length - 4, 4);
        string newName = f.DirectoryName + "\\" + folderName + "-" + i.ToString() + fileExtension;
					
        File.Move(f.FullName, newName );
        i++;
    }
}
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا