2015-12-17 1 views
0

J'ai un fichier que j'essaie de déplacer et je suis capable de le faire, mais je n'arrive pas à changer le nom du fichier exactement comme j'en ai besoin.PHP Copier et renommer le fichier

$file1 = "/../../../../../../rooms.GENRE.FILENAME/FILENAMEentry.html"; 
$newfile1 = "/../../../../creative/$path/ $dir entry.html"; 
copy($file1, $newfile1); 

$dir est la variable avec le nom du fichier que j'appelle. cela retourne le nom de fichier comme FILENAME entry.html et j'ai besoin de l'espace entre eux enlevé.

Je l'ai essayé sans l'espace comme dans

$direntry.html et qui se déplace et crée le fichier, mais seulement les noms qu'il .html

Fondamentalement, je remplace où il est dit FILENAMEentry.html (la partie capitalisée) avec le nom du nom de fichier dans $dir

Répondre

3

Pensez à utiliser concaténation:

$newfile1 = "/../../../../creative/$path/" . $dir . 'entry.html'; 
+0

Merci Marat était la concaténation je n'étais pas sûr de la façon de l'écrire que je manque. Je vous remercie. –

0

Avez-vous essayé avec:

$newfile1 = "/../../../../creative/$path/{$dir}entry.html";

1

fonctionne réellement $ dir tout en faisant écho, mais vous avez l'espace et si vous les écrivez ensemble le mot serait $direntry qui sera ambigu pour l'interprète afin concaténation d'utilisation. changer

$newfile1 = "/../../../../creative/$path/ $dir entry.html"; 

à

$newfile1 = "/../../../../creative/$path/".$dir."entry.html"; 
+0

cela a parfaitement du sens et c'était la concaténation qui me manquait. Merci Danyal. J'accepterai la réponse dans 5 minutes quand cela me le permettra. –

1

Vous devriez vérifier ces string operators.

Cela devrait bien:

$file1 = "/../../../../../../rooms.GENRE.FILENAME/FILENAMEentry.html"; 
$newfile1 = "/../../../../creative/$path/".$dir."entry.html"; 

if (!copy($file1, $newfile1)) { 
    echo "failed to copy file."; 
} 

Stephen Clay

<?php 
"{$str1}{$str2}{$str3}"; // one concat = fast 
    $str1. $str2. $str3; // two concats = slow 
?> 

guillemets doubles concat plus de deux chaînes au lieu de plusieurs. » les opérateurs. PHP est obligé de re-concaténer avec chaque '.' opérateur.

Source

+0

Merci pour cette ressource, je la feuillette maintenant et j'apprécie, vous avez raison de dire que ça fonctionne vraiment. –