رفتن به مطلب

حذف قسمتی از آدرس url


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

سلام من می خوام یه عکس رو حذف کنم تو کنترل پنلی که برای قالبم زدم به شکل زیر:

<?php
								$url = esc_url($yp_options ['yp_logo']);
                                $path = parse_url($url, PHP_URL_PATH); // Remove "http://localhost"
                                $fullPath = get_home_path() . $path;
                                unlink($fullPath);

الان وقتی چاپ می گیرم آدرس رو این شکلی نشون می ده:
E:/Program Files/xampp/htdocs/wordpress//wordpress/wp-content/uploads/۲۰۱۸/۰۶/۵۵۱۱۰۳-۱TOqFD۱۵۰۲۲۸۵۰۱۸.jpg
الان wordpress/دوبار نوشته و اضافی چاپ میشه چی کار کنم این رو یک بار چاپ کنم؟
ممنون

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

سلام و درود @reza_yki

 

چرا آدرس اشتباهه؟

آدرس درست هست فقط یه پوشه رو دوبار نوشته

<?php
$fullPath = get_home_path() . $path;

get_home_path()

تا اینجا رو بر می گردونه:

E:/Program Files/xampp/htdocs/wordpress/

و $path هم یک بار دیگه این آدرس رو بر می گردونه:

/wordpress/wp-content/uploads/۲۰۱۸/۰۶/۵۵۱۱۰۳-۱TOqFD۱۵۰۲۲۸۵۰۱۸.jpg

این کد تا http://localhost رو حذف می کنه و فک می کنه آدرس سایت اینه در حالی که آدرس سایت اینه http://localhost/wordpress/

 

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

در حال حاضر با یه substr کارت راه میوفته.


<?php
$fullPath = get_home_path() . substr($path, 11);

 

فکر می کنم تو کد شما بصورت استاتیک این مشکل رفع میشه درسته؟ چون کار بصورت عمومی مورد استفاده قرار میگیره تو هر سایت معلوم نیست در کجا وردپرس نصب هست و مشکل دوباره ایجاد میشه

ویرایش شده توسط reza_yki
لینک به ارسال
در 2 ساعت قبل، reza_yki گفته است :

فکر می کنم تو کد شما بصورت استاتیک این مشکل رفع میشه درسته؟ چون کار بصورت عمومی مورد استفاده قرار میگیره تو هر سایت معلوم نیست در کجا وردپرس نصب هست و مشکل دوباره ایجاد میشه

بله همین طوره.

برای کدی که همیشه کار کنه باید دید شما چطوری عمل کردید توی ذخیره سازی آدرس عکس شاید بشه جور دیگه ای عمل کرد.

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

بله همین طوره.

برای کدی که همیشه کار کنه باید دید شما چطوری عمل کردید توی ذخیره سازی آدرس عکس شاید بشه جور دیگه ای عمل کرد.

من از uploader خود وردپرس استفاده میکنمو ذخیره سازی هم کاملا مثل ارسال تصویر شاخص هست فقط برش ها رو نداره

من این شکلی نوشتم:

$url = esc_url($yp_options ['yp_logo']);
                                        $path = str_replace(get_site_url(),'',$url);
                                        echo $path;
                                        $fullPath = get_home_path() . $path;
                                        dd($fullPath);

نتیجه هم این شد:

E:/Program Files/xampp/htdocs/wordpress//wp-content/uploads/2018/06/551103-1TOqFD1502285018.jpg

الان فقط یه  / اضافه هستش

 

ویرایش شده توسط reza_yki
لینک به ارسال
در 2 دقیقه قبل، mehran-b گفته است :

اگر str_replace رو این شکلی کنی اسلش اضافی چی میشه؟


$path = str_replace(home_url('/'), '', $url);

 

perfect :)

الان همونی که می خواستم شد ممنون وقت گذاشتی

لینک به ارسال

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

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

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

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

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

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

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

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

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