| |||
| Se puede copiar y pegar archivos/carpetas en el servidor con php? Hola solo eso, Se puede copiar y pegar carpetas(incluyendo su contenido de archivos y otras carpetas) en el servidor con php? Por ejemplo digamos que tengo: public/miCarpeta/ y public/copias/ Se podria mover 'miCarpeta' a 'copias' ? de forma que quede: public/miCarpeta/ y public/copias/miCarpeta/ gracias saludos! Última edición por chefnelone; 20/06/2009 a las 12:36 |
| ||||
| Respuesta: Se puede copiar y pegar archivos/carpetas en el servidor con php? pues hay varias funciones para esto... revisa el manual de PHP http://php.net/ en las funciones del sistema de archivos copy(), rename(), etc...
__________________ http://is.gd/leeme |
| |||
| Respuesta: Se puede copiar y pegar archivos/carpetas en el servidor con php? lo he mirado pero no me da resultado. si lo hago con : rename("public/miCarpeta/", "public/copias/miCarpeta/"); funciona, pero me borra el original el cual necesito conservar. y con: copy("/copiaFolder2/", "/copiaFolder/"); no funciona porque solo copia archivos y no carpetas. Alguna idea. gracias |
| ||||
| Respuesta: Se puede copiar y pegar archivos/carpetas en el servidor con php? ideas... claro!! itera un directorio, y vas copiando recursivamente....
__________________ http://is.gd/leeme |
| |||
| Respuesta: Se puede copiar y pegar archivos/carpetas en el servidor con php? Dejo este codigo que duplica archivos y carpetas, por si alguien tiene la misma pregunta:
Código:
function smartCopy($source, $dest, $options=array('folderPermission'=>0755,'filePermission'=>0755))
{
$result=false;
if (is_file($source)) {
if ($dest[strlen($dest)-1]=='/') {
if (!file_exists($dest)) {
cmfcDirectory::makeAll($dest,$options['folderPermission'],true);
}
$__dest=$dest."/".basename($source);
} else {
$__dest=$dest;
}
$result=copy($source, $__dest);
chmod($__dest,$options['filePermission']);
} elseif(is_dir($source)) {
if ($dest[strlen($dest)-1]=='/') {
if ($source[strlen($source)-1]=='/') {
//Copy only contents
} else {
//Change parent itself and its contents
$dest=$dest.basename($source);
@mkdir($dest);
chmod($dest,$options['filePermission']);
}
} else {
if ($source[strlen($source)-1]=='/') {
//Copy parent directory with new name and all its content
@mkdir($dest,$options['folderPermission']);
chmod($dest,$options['filePermission']);
} else {
//Copy parent directory with new name and all its content
@mkdir($dest,$options['folderPermission']);
chmod($dest,$options['filePermission']);
}
}
$dirHandle=opendir($source);
while($file=readdir($dirHandle))
{
if($file!="." && $file!="..")
{
if(!is_dir($dirsource."/".$file)) {
$__dest=$dest."/".$file;
} else {
$__dest=$dest."/".$file;
}
//echo "$source/$file ||| $__dest<br />";
$result=smartCopy($source."/".$file, $__dest, $options);
}
}
closedir($dirHandle);
} else {
$result=false;
}
return $result;
}
smartCopy('copiaFolder2', 'copiaFolder3');//aquí le indicas el original y el nombre de la copia
|