Echapper la touche dollar avec cat EOF
Résolu
Integreur
Messages postés
86
Date d'inscription
Statut
Membre
Dernière intervention
-
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Dans mon projet en ruby, je dois créer un fichier php a la volée a la racine de mon serveur web (/var/www) , pour ce faire j'utilise cat EOF qui est un grand classique, mais en tant que gros débutant que je suis en programmation, je me suis aperçu que le dollar $ n'était pas prit en compte lors de l'écriture un fichier.Du coup c'est problématique car le script php ne lance pas vue que les variables avec le "$" ne sont pas prises en compte (erreur: 500).
Le script php a créer a la racine de /var/www est le suivant:
La sortie est la suivante une fois le fichier crée avec EOF, j'ai mis des commentaires pour etre plus clair.
En indiquant a EOF de quoter le dollar de la variable PHP $maccheck tel que:
la sortie du fichier crée est exactement la meme que celle que je veux, tout y est et il y a aucune différence.Sauf que je me tape une erreur 500 avec ce retour de commande quand j'essai de lancer le script dans un terminal:
Je tourne en rond depuis 2 jours a cause de ceci...
Dans mon projet en ruby, je dois créer un fichier php a la volée a la racine de mon serveur web (/var/www) , pour ce faire j'utilise cat EOF qui est un grand classique, mais en tant que gros débutant que je suis en programmation, je me suis aperçu que le dollar $ n'était pas prit en compte lors de l'écriture un fichier.Du coup c'est problématique car le script php ne lance pas vue que les variables avec le "$" ne sont pas prises en compte (erreur: 500).
Le script php a créer a la racine de /var/www est le suivant:
<?php
$maccheck=system("/usr/sbin/arp -a|grep ".$_SERVER['REMOTE_ADDR']."\)|cut -f4 -d\" \"");
function redirection($url)
{
die('<meta http-equiv="refresh" content="0;URL='.$url.'">');
};
if($maccheck == '#{$mac1}' OR $maccheck == '#{$mac2}' OR $maccheck == '#{$mac3}')
{
redirection("#{$page}.php" );
}
else
{
redirection("#{$pagebis}.php" );
}
?>
La sortie est la suivante une fois le fichier crée avec EOF, j'ai mis des commentaires pour etre plus clair.
<?php
=system("/usr/sbin/arp -a|grep ".['REMOTE_ADDR'].")|cut -f4 -d" ""); ### Variable jamais écrite avec EOF: $maccheck
function redirection()
{
die('<meta http-equiv="refresh" content="0;URL='..'">');
};
if( == '' OR == '44:78:3e:2a:fc:e8' OR == '') ## # Variable jamais écrite avec EOF: $maccheck
{
redirection("accueil.php" );
}
else
{
redirection("visitemoi.php" );
}
?>
En indiquant a EOF de quoter le dollar de la variable PHP $maccheck tel que:
\\\$
la sortie du fichier crée est exactement la meme que celle que je veux, tout y est et il y a aucune différence.Sauf que je me tape une erreur 500 avec ce retour de commande quand j'essai de lancer le script dans un terminal:
PHP Parse error: syntax error, unexpected '""' (T_CONSTANT_ENCAPSED_STRING)
Je tourne en rond depuis 2 jours a cause de ceci...
A voir également:
- Echapper la touche dollar avec cat EOF
- Jeux java itel touche - Télécharger - Jeux vidéo
- Touche remanente windows - Guide
- Quelle touche pour débloquer la souris ? - Guide
- Touche insert - Guide
- Touche verr num - Guide
4 réponses
hello
avec 'EOF'
avec 'EOF'
$ cat <<EOF > z1
> $hello
> EOF
$ cat z1
$ cat <<'EOF' > z1
$hello
EOF
$ cat z1
$hello
Pas d'idée concernant cette erreur PHP qui s'affiche seulement quand je tente d'écrire le fichier automatiquement ?