Je suis en train d'imprimer la valeur de $name
mais il continue d'imprimer sur $name
au lieu de la valeur est la ligne ici:
header('Content-Disposition: attachment; filename="$name"');
Je suis en train d'imprimer la valeur de $name
mais il continue d'imprimer sur $name
au lieu de la valeur est la ligne ici:
header('Content-Disposition: attachment; filename="$name"');
PHP évaluera uniquement les variables dans les chaînes entre guillemets, pas les guillemets simples comme vous l'avez utilisé dans votre exemple.
Essayez plutôt (si vous avez besoin de sortie guillemets doubles dans une chaîne entre guillemets, vous devez les échapper avec une barre oblique inverse, sinon PHP les traitera comme fin de chaîne delimiter):
header("Content-Disposition: attachment; filename=\"$name\"");
Essayez comme ceci:
header('Content-Disposition: attachment; filename='.$name);
cette volonté break si $ name contient des espaces, d'où la raison pour laquelle son code original l'a fait entre guillemets. – Spudley
interpolation de chaîne ne se fait pas entre guillemets simples.
$name = "test";
echo "Value: $name"; // Value: test
echo 'Value: $name'; // Value: $name
Plus de détails here.
Je pense que c'est ce que vous cherchez
header('Content-Disposition: attachment; filename="'.$name.'"');
Cela donnerait un en-tête comme ceci:
Content-Disposition: attachment; filename="some_file_name.ext"
Hope this helps
Une autre façon de le faire est en utilisant sprintf
$header = sprintf('Content-Disposition: attachment; filename="%s"',$name);
header($header);
Le sprintf
est pas vraiment nécessaire, mais là pour vous montrer comment la variable serait placé dans la chaîne d'en-tête
ni l'un ne fonctionnait – DonJuma
Je fais cela pratiquement tous les jours, je vous assure que mes méthodes sont correct, plus que probable que votre variable est nulle ou incorrecte.S'il vous plaît montrer plus de code, aussi si c'était vous qui m'a voté, pouvez-vous s'il vous plaît retenir des réponses de vote qui répondent à votre question, si la réponse n'a pas fonctionné je vous assure une autre section de votre code. – RobertPitt
Pourquoi ne pas utiliser simplement "
au lieu de '
comme:
header("Content-Disposition: attachment; filename=$name");
qui n'a pas fonctionné qui a imprimé le nom de la page php. – DonJuma
ORIGNINAL: header ('Content-Disposition: attachment; nom de fichier = "BONJOUR"'); – DonJuma
J'essaie de faire en sorte qu'il y ait une variable où bonjour est mais la commande de nom de fichier a besoin de guillemets doubles – DonJuma