si prega di controllare il seguente codice.
$imagebaseurl = 'support/content_editor/uploads/$name';
$imagebaseurl
è una variabile che contiene un link alla mia cartella di immagini (upload) e all'interno della cartella ho alcune altre cartelle che prendono il nome dal mio nome utente. per esempio: ho un utente il cui nome è john, quindi il link dovrebbe apparire come questo-> support/content_editor/uploads/john
.
L'idea principale è quando un utente ha effettuato l'accesso e sfoglia la sua galleria di immagini. Voglio portrlo nella sua galleria che in pratica prende il nome dal suo nome.
Quando visiterà la galleria, il valore di $name
nel collegamento verrà dal nome di accesso dell'utente (dalla session). Ora il problema è che probabilmente hai già capito che il posizionamento di $name
nel link sopra è sbagliato ed è per questo che non funziona. Ricevo l'integer URL> (supporto / content_editor / uploads / $ name) anziché (supporto / content_editor / uploads / john)
Ora potresti dirmi come usare il $name
in questo $imagebaseurl = 'support/content_editor/uploads/$name';
$imagebaseurl = 'support/content_editor/uploads/' . $name;
o
$imagebaseurl = "support/content_editor/uploads/{$name}";
Nota che se usi le virgolette doppie, puoi anche scrivere quanto sopra:
$imagebaseurl = "support/content_editor/uploads/$name";
È bene prendere l'abitudine di usare {$...}
tra virgolette anziché solo $...
, per le volte in cui è necessario inserire la variabile in una string in cui non è ovvio per PHP quale parte è la variabile e quale parte è la string.
Se si desidera la migliore prestazione, utilizzare la concatenazione di stringhe con virgolette singole.
Non potrei essere in disaccordo di più con il post precedente.
Andrei quasi fino a chiamarlo ctriggers pratica da usare
$varname = 'EXAMPLE'; $fulltext = "This is an $varname";
È più mantenibile, dalla mia esperienza, utilizzare un mio buon amico conosciuto come sprintf ();
define('CONST_NAME', 'This is an example of a better %s'); define('EXAMPLE', sprintf(CONST_NAME, 'practice')); echo EXAMPLE;
Perché? Il primo può sembrare più chiaro, ma il secondo è molto più riutilizzabile. Raccommand di utilizzare sprintf sulla double citazione di php magic double che esiste, letteralmente, in nessun'altra lingua.
http://php.net/manual/en/function.sprintf.php
Questa è anche la pratica usata molto simile a C # e molte altre lingue.
Vedi anche: https://msdn.microsoft.com/en-us/library/system.string.format(v=vs.110).aspx