0

フォルダー パス f1/f2/ があります。f1 と f2 はどちらもフォルダーです。f2 フォルダーには、ff0、ff1、ff2、ff3 などの多数のサブフォルダーが含まれています。f2 には、copy_folder というフォルダーも含まれています (パスは f1/f2/copy_folder)。ff0、ff1、ff2、ff3 のすべてのコンテンツをフォルダー (ff0、ff1、ff2、ff3) と一緒にカットしてコピーする必要があります。パスは f1/f2/copy_folder です。つまり、すべてのプロセスの後、copy_folder には ff0 が含まれている必要があります。 ff1、ff2、ff3とその内容をそれぞれ。また、同じものを古いフォルダーから削除する必要があります。つまり、フォルダーf2から

実際には、関数 'copy' を使用して php 5.3 でこれを行いました。例: これは私のサンプル コードです mkdir(f1.f2/copy_folder/ff0) copy_folder/ff0) //内容を copy_folder の ff0 にコピー unlink(f1/f2/ff0) //そこに古いフォルダー ff0 を削除して

私はphp 5.3でこれを行いました.しかし、php 5.2.1では機能しません.何か問題はありますか? Zendフレームワークを使用しています。配列でいくつかの詳細を使用しています('$arrNewClosedIncidentsDetails')

              foreach($arrNewClosedIncidentsDetails as $arrNewClosedDet)    


{                           //iteration of closed incident details there by taking the old path


                $strOldPath = $config->paths->releaseattach.'/'.$arrNewClosedDet['strPatchPath'];  //taking the

古いパス if(is_dir($strOldPath))

{ //ファイルがディレクトリの場合

$strNewFolderPath = $config->paths->closedreleaseattach.'/'.$arrNewClosedDet['strFolderName'];

//taking the new folder path to which old folder and sub files have to copied
                        mkdir($strNewFolderPath); 

                                                              //making the directory in new path (with old folder name)
                        chmod($strNewFolderPath, 0777);   

                                                      //giving permission to this created folder
                        $arrNewFolderRelatedFiles = scandir($strOldPath);  

                                    //scan all files from old folder 
                        foreach($arrNewFolderRelatedFiles as 

$objNewFolderRelatedFiles) { //古いフォルダーからすべてのファイルを繰り返します

                            if($objNewFolderRelatedFiles != '.' && $objNewFolderRelatedFiles != '..') 

{

                                        //remove default dot elements,which will present as the first and second array value

                             if (copy($strOldPath.'/'.$objNewFolderRelatedFiles, $strNewFolderPath.'/'.$objNewFolderRelatedFiles)) { 

//トレースされたすべてのファイルを、新しいパスに作成された対応する新しいフォルダーにコピーします chmod($strNewFolderPath.'/'.$objNewFolderRelatedFiles, 0777); //新しいフォルダに作成されるすべてのファイルにアクセス許可を与える

                                      unlink($strOldPath.'/'.$objNewFolderRelatedFiles);                                               //delete the files from old folder 
                                 }
                                }
                        }
                         rmdir($strOldPath);                                                                                                //remove all old folders
                }
             }

前もって感謝します

4

1 に答える 1