
نوشته اصلی توسط
samanmo
نه، یکبار اجرا میشه
توو خط شش و هفت ببینید $myfile در خط شش یک نتیجه میده و در خط هفت ی نتیجه کاملا جدا و مجزا...
از کل کد شما خبر ندارم و نمی دونم چرا برای شما این اتفاق میفته ولی یه راه ساده تر هست که اونم هش کردن اسم فایل اصلی (یعنی فایل مبدا که هنوز Watermark نخورده) با یه الگوریتم هش کوتاه مثلاً crc32 هستش چون معمولاً الگوریتم های Hash بر پایه ورودی که بهشون میدین نتیجه یکسانی هر بار میدن و به همین دلیل 10 بار هم اجراش کنید باز همون نتیجه رو میده و این مشکلی که الان دارید رو پیش نمیاره.
md5 و sh1 و... معمولاً خروجی هش طولانی دارن ولی crc32 هش کوتاه عددی برای شما بر می گردونه.
استفاده اش هم خیلی آسونه اینطوری:
کد PHP:
<?php
$myfile = crc32('My Film.mp4');
echo $myfile;
?>
خروجی همیشه یکسان کد بالا: 534215241 هستش یعنی بر طبق ورودی که به تابع crc32 میدید همیشه خروجی عددی یکسانی میگیرین