2013-07-13 66 views
0

我是新的php。 每17秒我的PHP代碼生成id1.php和id2.php此文件夾中:「sitename.com/」 所以,每次17秒我這有:將文件複製到文件夾(如果存在)+1

sitename.com/master.php 
sitename.com/id1.php 
sitename.com/id2.php 
sitename.com/filebag/id1.php 
sitename.com/filebag/id2.php 
sitename.com/filebag/id3.php 

後腳本生成id1.php和id2.php我需要將這些文件複製到sitename/filebag /並且如果文件名存在,請添加+1。所以最後,我必須把這種情況:

sitename.com/ 
sitename.com/master.php 
sitename.com/filebag/id1.php 
sitename.com/filebag/id2.php 
sitename.com/filebag/id3.php 
sitename.com/filebag/id4.php 
sitename.com/filebag/id5.php and so on... 

我使用master.php做替代

<?php 
$idname = "id1"; 
copy ("./id1.php","./filebag/$idname.php"); 
?> 

的問題是如何能如果文件名在此文件夾中的「網站名稱重命名存在文件。 COM/filebag /」

+0

也許類似的東西? <?php $ filename ='/filebag/$gotname.php'; $ gotname ='id $ idnumber'; $ idnumber =「1」; (file_exists($ filename)){ $ idnumber + 1; } else { copy(「./doit.php","./filebag/$gotname.php」);; } ?> – user1837120

回答

0

此代碼提供你想要什麼:

<?php 

$stringName = "id"; 
$numName = "1"; 

$file_orig = './' . $stringName . $numName . '.php'; 
$file_dest = './filebag/' . $stringName . $numName . '.php'; 

if(file_exists($file_dest)) 
{ 
    $count = (int)$numName; 
    while(file_exists($file_dest)) 
    { 
     $count = $count + 1; 
     $file_dest = './filebag/' . $stringName . $count . '.php'; 
    } 
} 

copy ($file_orig, $file_dest); 

?> 
+0

這是代碼中第19行的一些問題。 – user1837120

+0

我的代碼沒有問題。你可能會遇到任何問題的方式是錯誤地設置輸入;那就是:你正在設置一個不存在的文件/文件夾。如果$ file_orig和$ file_dest都引用有效的位置,它將毫無問題地工作。請檢查一下。 – varocarbas

+0

警告:複製($ file_orig)[function.copy]:未能打開流:/ home/users/sitename.com/master.php on line 19 ./id1.php – user1837120

相關問題