رفتن به مطلب

راهنمایی درباره یک قطعه کد php


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

سلام.
بنده به مشکلی برخوردم ممنون میشم دوستانی که بلدن راهنمایی کنن (اگه هزینه ای هم شامل میشه در پیام خصوصی عنوان کنید مشکلی نداره)

کد:

PHP:
<?php $track_url str_replace('.mp3''-std.mp3'$track_url);  echo $track_url;?>

کد مشخصه که چیکار میکنه. میاد ادرس فایل فعلی که با پسوند mp3 هستش رو نام فایلش رو جایگزین میکنه با -std.mp3

حالا بنده میخوام بجای اینکه -std.mp3 رو جایگزین کنه بیاد یه فولدر عقب تر از فولدر فعلی و نام فایل فعلی رو برگردونه.
یعنی اگه در حال حاضر اینطوریه :
www.site.com/folder/subfolder/originalfile.mp3
کد بالا اینکارو میکنه :
www.site.com/folder/subfolder/originalfile-std.mp3

حالا میخوام اینکارو بکنه :
www.site.com/folder/128/originalfile.mp3
یا به زیر فولدر :
www.site.com/folder/subfolder/128/originalfile.mp3

یعنی بجای تغییر اسم فایل، یه فولدر بیاد عقب و بره داخل فولدری به نام مثلا 128 و اونجا فایل رو فراخوانی کنه...

پیشاپیش تشکر.

 
 

 

لینک به ارسال

ممنونم خیلی لطف کردید.

این کد برای ارجاع به ساب فولدر 128 بود درسته ؟ برای اینکه یک فولدر بیاد عقب تر از فولدر فعلی و بره داخل پوشه 128 راه حلی هست ؟

 پ.ن: شرمنده بنده خیلی مبتدی هستم، این نوع کد php چقدر بار سرور رو افزایش میده ؟ چون نزدیک به 20 هزار اهنگه که با این کد قراره لینکش تغییر کنه و سایت هم بازدید بالایی داره و همیشه مشکل منابع داشتیم.بنظر شما استفاده به این شکل توصیه میشه ؟

 

لینک به ارسال

درود مجدد

 

نقل قول

این کد برای ارجاع به ساب فولدر 128 بود درسته ؟ برای اینکه یک فولدر بیاد عقب تر از فولدر فعلی و بره داخل پوشه 128 راه حلی هست ؟

واضح تر مثال بزنید.

نقل قول

پ.ن: شرمنده بنده خیلی مبتدی هستم، این نوع کد php چقدر بار سرور رو افزایش میده ؟ چون نزدیک به 20 هزار اهنگه که با این کد قراره لینکش تغییر کنه و سایت هم بازدید بالایی داره و همیشه مشکل منابع داشتیم.بنظر شما استفاده به این شکل توصیه میشه ؟

در لحظه لود صفحه این کد URL رو تغییر میده یا میخواید با این کد کل لینک های توی دیتابیس رو تغییر بدید؟

لینک به ارسال
در 29 دقیقه قبل، mehran-b گفته است :

درود مجدد

 

واضح تر مثال بزنید.

در لحظه لود صفحه این کد URL رو تغییر میده یا میخواید با این کد کل لینک های توی دیتابیس رو تغییر بدید؟

کدی که بالا دادید اینکارو میکنه درسته ؟:

site.com/folder1/folder2/file.mp3   --> site.com/folder1/folder2/128/file.mp3

حالا میشه اینکارو کرد ؟

site.com/folder1/folder2/file.mp3  --> site.com/folder1/128/file.mp3

یعنی اخرین فولدری که فایل مورد نظر داخلشه تغییر کنه به فولدری که بنده میخوام مثلا 128 ! (نام اخرین فولدر هم مختلفه و نمیشه مقدار ثابت بدیم)

یعنی در روت folder1 بنده دو عدد فولدر دیگه ساختم به این شکل :

128

folder2

امیدوارم منظور رو رسونده باشم.

 

 

این کد مربوط به صفحه دانلود تکی آهنگ هستش. که میخوام با 2 کیفیت بتونن دانلود کنن و کیفیت 128 معادل با هر تک آهنگ رو در فولدری جداگونه میخوام قرار بدم و  در لحظه نمایش تغییر میکنه. (البته فکر میکنم مقدار متغیر $track_url در دیتابیس ذخیره شده)

پ.ن:زمانی که کد شمارو بعد از خط کد فعلی (در پست اول قرار دادم) گذاشتم و سایت رو رفرش کردم به اخر اسم فایل ها همچنان -std.mp3 اضافه میشد یعنی انگار با دیتابیس در ارتباط هستش. و وقتی کد خودمو حذ کردم، کد شما بدون اضافه کردن -std.mp3 نمایش داده میشد.

آدرس سایت : (در بخش پخش انلاین روی یکی از لینک های دانلود اهنگ بزنید میتونید ببینید)

https://just-music.ir/%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86-%D8%A2%D9%87%D9%86%DA%AF-%D9%87%D8%A7%DB%8C-%D8%A8%DB%8C-%DA%A9%D9%84%D8%A7%D9%85-%D8%A2%D9%86%D8%AF%D8%B1%D9%87-%D8%B1%DB%8C%D9%88-andre-rieu/

تشکر مجدد.

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

درود مجدد

نقل قول

حالا میشه اینکارو کرد ؟

<?php
$base = basename($track_url);
$track_url = str_replace($base, '128/' . $base, substr($track_url, 0, strrpos(substr($track_url, 0, strrpos($track_url, "/")), "/")) . "/" . $base);
echo $track_url;
?>
نقل قول

این کد مربوط به صفحه دانلود تکی آهنگ هستش. که میخوام با 2 کیفیت بتونن دانلود کنن و کیفیت 128 معادل با هر تک آهنگ رو در فولدری جداگونه میخوام قرار بدم و  در لحظه نمایش تغییر میکنه. (البته فکر میکنم مقدار متغیر $track_url در دیتابیس ذخیره شده)

با این توضیحی که دادید انگار مقدار متغییر track_url که از دیتابیس میاد در لحظه لود صفحه با کدی که دادم تغییر میکنه.

نقل قول

زمانی که کد شمارو بعد از خط کد فعلی (در پست اول قرار دادم) گذاشتم و سایت رو رفرش کردم به اخر اسم فایل ها همچنان -std.mp3 اضافه میشد یعنی انگار با دیتابیس در ارتباط هستش. و وقتی کد خودمو حذ کردم، کد شما بدون اضافه کردن -std.mp3 نمایش داده میشد.

برای اینکه نتیجه ای رو که میخواید بگیرید صرفا باید از کدی که من بهتون دادم استفاده کنید و کد خودتون رو بیخیالش بشید.

 

موفق باشید

لینک به ارسال
در 35 دقیقه قبل، mehran-b گفته است :

درود مجدد


<?php
$base = basename($track_url);
$track_url = str_replace($base, '128/' . $base, substr($track_url, 0, strrpos(substr($track_url, 0, strrpos($track_url, "/")), "/")) . "/" . $base);
echo $track_url;
?>

با این توضیحی که دادید انگار مقدار متغییر track_url که از دیتابیس میاد در لحظه لود صفحه با کدی که دادم تغییر میکنه.

برای اینکه نتیجه ای رو که میخواید بگیرید صرفا باید از کدی که من بهتون دادم استفاده کنید و کد خودتون رو بیخیالش بشید.

 

موفق باشید

بله کد خودم رو که حذف میکنم.اینو گفتم تا شاید کمک بیشتری بکنه برای درک بهتر موضوع دیتابیس.ادرس سایت هم گذاشتم تا ببینید

بهرحال بنده متوجه نشدم نظر شما در رابطه با بحث فشار رو

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

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

درود مجدد

 

نقل قول

بهرحال بنده متوجه نشدم نظر شما در رابطه با بحث فشار رو

این کد فشار خاصی نمیاره به سرور یه کد معمولی به حساب میاد ولی خوب قطعا اگر راسا داخل دیتابیس لینک ها به روش جدید ذخیره بشه تعداد پردازش ها کمتر میشه.

 

موفق باشید

لینک به ارسال
  • مهدی عنوان را به راهنمایی درباره یک قطعه کد php تغییر داده است

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

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

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

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

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

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

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

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

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