رفتن به مطلب

تولید نام متفاوت (عدد یا رشته) در php | سوال


پست های پیشنهاد شده

باسلام

من ی اسکریپت دارم که میاد عکس رو واترمارک میکنه . که بخش تولید نام به این شکل ثابت هست ( "overlay=10:10" output.jpg) اینجا همه عکس ها با نام output.jpg  ذخیره میشن و طبیعیه که بدلیل هم نام بودن همدیگه رو حذف میکنن.

میخوام  اون قسمت نام خروجی فایل با هربار اجرای اسکریپت فرق داشته باشه ... یعنی ی متغیر تعریف کنیم .. فرقی نمیکنه عدد باشه یا ترکیبی از a-z   0-9 ... درضمن پسوند jpg ثابت هست

لینک به ارسال

سلام

اگر برای وردپرس هست می‌تونید به نام خروجی آی‌دی فایل اتچ شده رو هم اضافه کنید

دقت داشته باشید فایل‌ها در رسانه همزمان آپلود نمی‌شن بلکه در صف قرار می‌گیرن، لذا هر تصویر یه آی‌دی منحصر به فرد داره

https://pippinsplugins.com/retrieve-attachment-id-from-image-url/

البته اگر وردپرس باشه

  • امتیاز 1
لینک به ارسال
در 53 دقیقه قبل، مهدی گفته است :

سلام

اگر برای وردپرس هست می‌تونید به نام خروجی آی‌دی فایل اتچ شده رو هم اضافه کنید

دقت داشته باشید فایل‌ها در رسانه همزمان آپلود نمی‌شن بلکه در صف قرار می‌گیرن، لذا هر تصویر یه آی‌دی منحصر به فرد داره


https://pippinsplugins.com/retrieve-attachment-id-from-image-url/

البته اگر وردپرس باشه

نه

وردپرس نیست ، اگر وردپرس بود که راحت بودم . روی هاست دانلودم . سی ام اس نیست ی اسکریپت هست

تو کد من خروجی output تعریف شده که چون نام ثابت هست همو پاک میکنن

میخوام خروجی هر دفعه ی چیز متفاوت باشه (عدد یا رشته) فرقی نداره

لینک به ارسال

راحترین راه استفاده از تابع ()time در اسم فایل هست

این هم تابعی هست که من خودم استفاده میکنم

public function RandomString($length = 10, $type = 'char',$repeat=2)
    {
        $Special = '!@#$%^&*()-_ []{}<>~+=,.;:/?|';
        $number  = '0123456789';
        $chars   = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
        switch($type)
        {
            case 'all' :$str = $Special.$number.$chars;break;
            case 'char':$str = $chars;break;
            case 'num' :$str = $number;break;
            default    :$str = $chars.$number;
        }
        return substr(str_shuffle(str_repeat($str,$repeat)),0,$length);
    }

 

  • امتیاز 3
لینک به ارسال
در در ۱۳۹۵/۹/۲۰ at 10:32، lord_viper گفته است :

راحترین راه استفاده از تابع ()time در اسم فایل هست

این هم تابعی هست که من خودم استفاده میکنم

 

باسلام

من با تاخیر پاسخ شمارو دیدم . متاسفانه این انجمن فعالیتش کم شده و اساتید پاسخ کمتر میدن.

من هم اومدم دقیقه رو در ساعت ضرب کردم و ریختم در یک متغییر بنام x 

حالا این متغییر رو من دوجا باید بیارم ، ی جا نام فایلم و یکجا اکو کنم برای کاربر که ببینه.

متاسفانه در عکس ها و فایل های بالای دو میگ که مرورگر درحال انجام عملیات هست ، نام فایل با نام اکو شده فرق میکنه ...

لطفا راهنماییم کنید.

اینم کدهای من

	$sa = date('H');
	$da = date('i');
	$date = date('Y-m-d-h');
	$hasel = $sa * $da;
	$myfile = $date . $hasel . '.jpg';
	exec('ffmpeg -i movie.jpg -i logo.png -filter_complex "ovelay=5:10" ' . $myfile);
	echo ' src="http://cdn.varzesht.ir/azar95/' .$myfile ;

لینک به ارسال
در در 13/12/2016 at 10:16، lord_viper گفته است :

با سلام

کدتون دقیقا همین هست یا مختصر کردینش؟

این کد قاعدتا نباید مشکلی داشته باشه

 سلام

بله . ی دستور لینوکس هست که با php انجام میدم.

استاد ، چجوری میشه ی کوکی یک دقیقه ای ست کرد و اون کوکی بشه نام فایل؟

لینک به ارسال

کوکی ست کردن که کاری نداره

http://www.w3schools.com/php/func_http_setcookie.asp

بهتره از خروجی استفاده کنید

$output = exec('ffmpeg -i movie.jpg -i logo.png -filter_complex "ovelay=5:10" ' . $myfile);

http://stackoverflow.com/questions/18608207/php-exec-not-executing-ffmpeg-command

 

  • امتیاز 1
لینک به ارسال
در 2 ساعت قبل، Parsa گفته است :

کوکی ست کردن که کاری نداره

http://www.w3schools.com/php/func_http_setcookie.asp

بهتره از خروجی استفاده کنید


$output = exec('ffmpeg -i movie.jpg -i logo.png -filter_complex "ovelay=5:10" ' . $myfile);

http://stackoverflow.com/questions/18608207/php-exec-not-executing-ffmpeg-command

 

متشکرم

اولین جایی که میرم  w3 هست . توو این آموزش ست کردن کوکی نام و مقدار ثابته ، میخوام ببینم چجوری میتونم ی کوکی یک دقیقه ای ست کنم که یک دقیقه باشه و کاربر وقتی میاد دوباره مقدار تغییر کنه؟

متاسفانه من فراتر از وردپرس نرفتم و الآن مشکل خوردم :(

لینک به ارسال

یک مثال (کد رو به هر شکل مناسب هست تغییر دهید)

<?php
if(!isset($_COOKIE['file_name'])) {
    $sa = date('H');
	$da = date('i');
	$date = date('Y-m-d-h');
	$hasel = $sa * $da;
	$myfile = $date . $hasel . '.jpg';
	setcookie('file_name', $myfile, time() + 60, "/"); // 1 Minute
	exec('ffmpeg -i movie.jpg -i logo.png -filter_complex "ovelay=5:10" ' . $myfile);
} else {
    $myfile = $_COOKIE['file_name'];
}

echo ' src="http://cdn.varzesht.ir/azar95/' .$myfile ;
?>

 

  • امتیاز 4
لینک به ارسال

بهتره بجای کوکی از شسن استفاده کنید چون کوکی بعد از ساخت به صورت header به مرورگر فرستاده میشه و شما برای دستیابی به اون کوکی حتما نیاز به یک رفرش یا پست بک تو صفحه دارین

شسن هم بطور پیشفرض بعد از 20 دقیقه از بین میره

  • امتیاز 2
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...