2010-09-13 5 views
0

Je suis en train de changer une valeur variable à hardcoded dynamique, mais ne peut pas sembler obtenir la concaténation correcte ...concaténation variables PHP

La valeur est codée en dur ...

$token = "../wp-content/themes/mytheme/styles/test/sidebar"; 

et je suis en train de le remplacer par ...

$token = ".get_bloginfo('template_directory')."styles/test/sidebar"; 

Mais sa ne fonctionne pas la même chose que quand je hardcode la valeur.

Qu'est-ce qui me manque?

Voici le reste du code (la fonction imagegif ne se déclenche jamais avec la variable générée dynamiquement ...

$color = imagecolorallocate($img, $info["red"], $info["green"], $info["blue"]); 
    for ($i = $startPixel-1; $i < $endPixel; $i++) 
    { 
     imagesetpixel($img, $i, 0, $color); 
    } 

    imagegif($img, $token.'.gif'); 
} 

Répondre

1
$token = get_bloginfo('template_directory') . "styles/test/sidebar"; 

Le . est l'opérateur de concaténation, de sorte que vous ne voudriez pas le get_bloginfo () fonction à l'intérieur des guillemets. Cela suppose la fonction retourne une chaîne qui se termine dans une /

+0

Merci Fosco, j'ai raté. A également dû mettre un "/" devant "styles". –

0
$token = get_bloginfo('template_directory')."styles/test/sidebar"; 

Est-ce que vous voulez dire? vous avez eu la fonctionne comme une chaîne au lieu d'une fonction.

0

À partir de votre code:

$token = ".get_bloginfo('template_directory')."styles/test/sidebar"; 

Cette ligne a une citation perdue et la période au début. Vous vouliez sans doute faire:

$token = get_bloginfo('template_directory') . "styles/test/sidebar"; 

Les appels de fonction ne peut pas être dans les chaînes, et l'opérateur de concaténation (.) doit être en dehors de la chaîne.

0

Seules les chaînes doivent être placées entre guillemets.

$token = get_bloginfo('template_directory') . "styles/test/sidebar"; 
0

Votre concaténation est un peu faible.

Essayez: $token = get_bloginfo('template_directory') . 'styles/test/sidebar';

+0

"Votre concatination est un peu loin." ... n'est-ce pas la question? – RobertPitt

+0

Peut-être que je voulais dire que son style de concaténation était un peu bizarre. Mais ouais, c'était la question je suppose ;-) – vindia