проверьте следующий код.
$imagebaseurl = 'support/content_editor/uploads/$name';
$imagebaseurl
– это переменная, содержащая ссылку на мою папку с изображениями (загружает), а внутри папки у меня есть другие папки, имена которых называются именем моего пользователя. например: у меня есть имя пользователя john, поэтому ссылка должна выглядеть так:> support/content_editor/uploads/john
.
Основная идея – когда любой пользователь входит в систему и просматривает свою галерею изображений, я хочу занести его в свою собственную галерею, которая в основном названа в честь его имени.
Когда он посетит галерею, значение $name
в ссылке будет получено от имени пользователя (от сеанса). Теперь проблема в том, что вы, вероятно, уже поняли, что размещение $name
в приведенной выше ссылке неверно, и поэтому она не работает. Я получаю весь этот URL> (support / content_editor / uploads / $ name) вместо (support / content_editor / uploads / john)
Теперь не могли бы вы рассказать мне, как использовать $name
в этой $imagebaseurl = 'support/content_editor/uploads/$name';
$imagebaseurl = 'support/content_editor/uploads/' . $name;
или
$imagebaseurl = "support/content_editor/uploads/{$name}";
Обратите внимание: если вы используете двойные кавычки, вы также можете написать выше:
$imagebaseurl = "support/content_editor/uploads/$name";
Хорошо, хотя и привык использовать {$...}
в двойных кавычках вместо $...
, в то время, когда вам нужно вставить переменную в строку, где это не очевидно для PHP, частью которой является переменная и какая часть является строкой.
Если вы хотите получить лучшую производительность, используйте конкатенацию строк с одинарными кавычками.
Я не мог больше не соглашаться с предыдущим сообщением.
Я почти зашел так далеко, чтобы называть это плохой практикой
$varname = 'EXAMPLE'; $fulltext = "This is an $varname";
По моему опыту, он более удобен, чтобы использовать моего хорошего друга, известного как sprintf ();
define('CONST_NAME', 'This is an example of a better %s'); define('EXAMPLE', sprintf(CONST_NAME, 'practice')); echo EXAMPLE;
Зачем? Первый может казаться более ясным, но второй гораздо более пригодным для повторного использования. Я рекомендую использовать sprintf по сравнению с маской двойной цитаты php, которая существует, буквально, ни на одном другом языке.
http://php.net/manual/en/function.sprintf.php
Это также практика, очень похожая на C # и многие другие языки.
См. Также: https://msdn.microsoft.com/en-us/library/system.string.format(v=vs.110).aspx