$fileName خودش شامل پسوند فایل هست پس چرا در $newFileName بعد از هش کردن پسوند فایل را هم اضافه میکنیم؟
سلام
خب ما وقتی هش میکنیم نام فایل رو پسوند هم هش میشه و بهش دسترسی ای نداریم.
به همین دلیل پسوند رو باید بهش اضافه کنیم.