así que traté de usar la función rename()
como se describe y seguí recibiendo el error de espalda que había no such file or directory
. Coloqué el código dentro de una declaración if else para asegurarme de que realmente tenía los directorios creados. Se veía así:
$tempDir = '/home/site/images/tmp/';
$permanentDir = '/home/site/images/' . $claimid; // this was stored above
mkdir($permanentDir,0775);
if(is_dir($permanentDir)){
echo $permanentDir . ' is a directory';
if(is_dir($tempDir)){
echo $tempDir . ' is a directory';
}else{
echo $tempDir . ' is not a directory';
}
}else{
echo $permanentDir . ' is not a directory';
}
rename($tempDir . "*", $permanentDir);
Así que cuando ejecuté el código de nuevo, escupió que ambas rutas eran directorios. Estaba perplejo. Hablé con un compañero de trabajo y me sugirió: "¿Por qué no cambiar el nombre del directorio temporal al nuevo directorio, ya que quiere mover todos los archivos de todos modos?"
Resulta que esto es lo que terminé haciendo. Dejé de intentar usar el comodín con la función rename()
y en su lugar solo uso el rename()
para cambiar el nombre del directorio temporal al permanente.
por lo que se ve así.
$tempDir = '/home/site/images/tmp/';
$permanentDir = '/home/site/images/' . $claimid; // this was stored above
mkdir($permanentDir,0775);
rename($tempDir, $permanentDir);
Esto funcionó muy bien para mis propósitos, ya no necesito el directorio tmp de edad a permanecer allí después de que los archivos se han subido y "movido".
Espero que esto ayude. Si alguien sabe por qué el comodín no funciona en la función rename()
y por qué recibí el error antes mencionado, por favor, hágamelo saber.
¿Es necesario para mantener el directorio original? – Sampson
que sería bueno para mantener la carpeta original ... no esta vez, pero tal vez otra vez que tendrá que seguir it..i puede sospechar lo que su enfoque es =) – ajsie
pero me di cuenta de que el ive consiguió archivos en la carpeta de destino que i querer guardar. y entonces su enfoque no funciona causa No permite mover la carpeta a una carpeta de destino que ya contiene archivos – ajsie