رفتن به مطلب

تغییر نام تصاویر به اعداد راندوم


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

سلام دوستان

چطوری میشه هنگام آپلود تصاویر نام عکس رو به اعداد راندوم تغییر داد؟

مثلا عکسی با اسم pic بعد از آپلود اینطوری میشه site.com/pic.jpg اما من میخوام اینطوری بشه site.com/0123456.jpg

از این کد استفاده کردم اما این فقط یه کلمه به اسم تصویر اضافه میکنه


add_filter( 'wp_handle_upload_prefilter', 'custom_upload_name' );
function custom_upload_name( $file )
{
$file['name'] = 'filename-'.$file['name'];

return $file;
}

لینک به ارسال

اینجا یه پلاگین هست ببینید به دردتون میخوره؟

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

لینک به ارسال

درسته حرف شما اما این hash خیلی طولانیه نمیشه طوری کوتاه تر بشه؟


f3cc500afa395e537ca78890e18586d9.jpg

اگه بشه که کاری کرد که حروف یا اعداد رندوم یا هر چیزی که تا 10 کاراکتر باشه خیلی خوب میشه.

ویرایش شده توسط ashkanreal
لینک به ارسال

درستش کردم.


<?php
function make_filename_hash($filename) {
$info = pathinfo($filename);
$random_number = rand(1000000000,9999999999);
$ext = empty($info['extension']) ? '' : '.' . $info['extension'];
$name = basename($filename, $ext);
return 'YourMessage--' .$random_number . $ext;
}
add_filter('sanitize_file_name', 'make_filename_hash', 10);
?>

توضیحات:

توی قسمت


$random_number = rand(1000000000,9999999999);

تعداد اعداد مشخص میکند.هم تعداد هم بازه اعداد.

اما در قسمت


return 'YourMessage--' .$random_number . $ext;

YourMessage-- یک متن هستش و میشه به هر چیزی تغییرش داد.و اگز هم نمیخواید چیزی پشت اعداد باشه 'YourMessage--' رو پاک کنید.

البته بگم که کد اضافه زیاد داره من که ویرایش کردم دیگه اضافه ها رو پاک نکردم.

ویرایش شده توسط ashkanreal
لینک به ارسال

ممنون این پلاگین بدردم خورد

فقط تنها مشکلش تعداد حروف و اعداد هستش راهی نیست که کمتر بشه؟

لینک به ارسال

گفتم که شما میتونید توی این قسمت


$random_number = rand(1000000000,9999999999);

مشخص کنید که تعداد اعداد چند تا باشن

مثلا:اگر rand(1000,9999) بزارید فقط 4 تا عدد میشه.

مثال:

2546.jpg

لینک به ارسال
درستش کردم.
 

توضیحات: توی قسمت

 $random_number = rand(1000000000,9999999999); 

تعداد اعداد مشخص میکند.هم تعداد هم بازه اعداد. اما در قسمت

 return 'YourMessage--' .$random_number . $ext; 

YourMessage-- یک متن هستش و میشه به هر چیزی تغییرش داد.و اگز هم نمیخواید چیزی پشت اعداد باشه 'YourMessage--' رو پاک کنید. البته بگم که کد اضافه زیاد داره من که ویرایش کردم دیگه اضافه ها رو پاک نکردم.

ممنون your message رو پاک کردم اما سایت بالا نیومد

لینک به ارسال

امتحان کردم باید فقط YourMessage-- پاک بشه.

این شکلی:


return '' .$random_number . $ext;

کتیشن رو باید بزارین.

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...