please check the following code.
$imagebaseurl = 'support/content_editor/uploads/$name';
The $imagebaseurl is a variable that is containing a link to my image folder (uploads) and inside the folder I have some other folders which are named after my users name. for example: I have a user who's name is john, so the the link should look like this-> support/content_editor/uploads/john.
The main idea is when any user is logged in and browses his image gallery I want to take him to his own gallery which basically is named after his name.
When he will visit the gallery the value of $name in the link will come from the user's login name (from session). Now the problem is as you probably have already understood that the placement of $name in the above link is wrong and that is why it is not working. I am getting this whole URL> (support/content_editor/uploads/$name) instead of (support/content_editor/uploads/john)
Now could you please tell me how to use the $name in this $imagebaseurl = 'support/content_editor/uploads/$name';
2 Answers 2
$imagebaseurl = 'support/content_editor/uploads/' . $name;
or
$imagebaseurl = "support/content_editor/uploads/{$name}";
Note that if you use double quotes, you can also write the above as:
$imagebaseurl = "support/content_editor/uploads/$name";
It's good though to get in the habit of using {$...} in double quotes instead of only $..., for times where you need to insert the variable in a string where it's not obvious to PHP which part is the variable and which part is the string.
If you want the best performance, use string concatenation with single quotes.
3 Comments
<?php $test = 'test'; echo "This is a '$test'.";.I couldn't disagree more with the previous post.
I'd almost go as far to call it bad practice to use
$varname = 'EXAMPLE';
$fulltext = "This is an $varname";
Its more maintainable, from my experience, to utilize a good friend of mine known as sprintf();
define('CONST_NAME', 'This is an example of a better %s');
define('EXAMPLE', sprintf(CONST_NAME, 'practice'));
echo EXAMPLE;
Why? The first one may seem more clear, but the second one is much more re-usable. I recommend utilizing sprintf over the php magic double quote nonesense which exists, literally, in NO other language.
http://php.net/manual/en/function.sprintf.php
This is also the practice used very similar to C#, and many other languages.
See also: https://msdn.microsoft.com/en-us/library/system.string.format(v=vs.110).aspx
'is a single-quote, not a double-quote...)