Page 1 sur 1

PHP COPY

Posté : 24 janv. 2012, 12:12
par Franck V
Bonjour,

Novice dans le php j'ai creer une page web pour des utilisateurs afin de deplacer un fichier video vers un autre dossier. Aprés des recherches sur le net voici ma commande :

$file = 'D:\1.txt';
$newfile = 'D:\temp\1.txt';

if (!copy($file, $newfile)) {
echo "La copie du fichier $file a échoué...\n";
}

Jusque ici ok.
Après j'ai mappé des volumes réseau afin de copié les fichier d'un serveur a un autre. OK!

La ou je ne trouve pas la solution, je voudrais que le fichier qui se trouve dans D:\ soit une variable qui est rentré dans un champs par l'utilisateur de type :

$file = 'D:\ $VARIABLE.txt';
$newfile = 'D:\temp\ $VARIABLE.txt';

if (!copy($file, $newfile)) {
echo "La copie du fichier $file a échoué...\n";
}

Et la cela ne marche pas. Pouvez vous m'aider?
Merci d'avance

Re: PHP COPY

Posté : 24 janv. 2012, 12:31
par Shiva
Essai plutôt comme ceci :
$file = 'D:\\'.$VARIABLE.'.txt';
$newfile = 'D:\temp\\'.$VARIABLE.'.txt';

Re: PHP COPY

Posté : 24 janv. 2012, 12:55
par xTG
L'explication manquante au code de Shiva :

Utiliser des simples quotes ne permet pas l'évaluation des variables. Il faut soit concaténer soit utiliser des doubles quotes.
Exemple :
$var = 'test';
echo 'ceci est un $var'; // ceci est un $var
echo 'ceci est un ' . $var; // ceci est un test
echo "ceci est un $var"; // ceci est un test
De plus l'antislash est utilisé pour échapper un caractère. Donc pour l'utiliser en tant que caractère d'impression et non d'échappement bah... Il faut l'échapper lui même => \\ :D