2014-12-19 19 views
0

我將盡我所能解釋這一點,因爲我無法實現重命名文件的函數,我目前獲得了一個列表文件函數,該函數在我的網頁使它看起來像這樣:在文件數組上執行重命名函數php

enter image description here

我想創造另一個重命名按鈕,更改文件名,用戶在推吞下價值,目前的功能如下:

<?php 
function renameFile($dir, $fileToRename, $newname){ 
if (is_dir($dir)) { 
    if ($dirHandle = opendir($dir)) { 
     $files = array_diff(scandir($dir), array('.', '..', '.htaccess')); 
     if($files){ 
      foreach($files as $file){ 
       if($file === $fileToRename) { 
        rename($dir."\\".$fileToRename, $dir."\\".$newname); 
        $output = 'Successfully renamed file: '.$fileToRename; 
       } 
      } 
     } 
    } 
} 
return $output; 
    } 
'<form> 
<input type="text" id="newname"/> 
<input type="hidden" value="'.$file.'" name="fileToRename"/> 
<input type="button" value="rename" onclick="rename($dir, $fileToRename, this.newname)"/> 
</form>' 



?> 

我還會添加listi的代碼納克的文件,因爲它可能是相關的:

function listFiles($dir) 
{ 
    function deleteFile($dir, $fileToDelete){ 
if (is_dir($dir)) { 
    if ($dirHandle = opendir($dir)) { 
     $files = array_diff(scandir($dir), array('.', '..', '.htaccess')); 
     if($files){ 
      foreach($files as $file){ 
       if($file === $fileToDelete) { 
        unlink($dir."\\".$fileToDelete); 
        $output = 'Successfully deleted file: '.$fileToDelete; 
       } 
      } 
     } 
    } 
} 
return $output; 
    } 
    if(isset($_POST)){ 
echo deleteFile($_SESSION['UserFolder'], $_POST['fileToDelete']); 
} 

    { 
$output = ''; $outRows = ''; $files = array(); 
if (is_dir($dir)) { 
    if ($dirHandle = opendir($dir)) { 
    $files = array_diff(scandir($dir), array('.', '..', '.htaccess')); 
    $totalSize = (int) 0; 
    foreach($files as $file) { 
     $fileTime = @date("d-M-Y", filectime($dir . '/' . $file)) . ' ' . @date("h:i",   filemtime($dir . '/' . $file)); 
     $totalSize += filesize($dir . '/' . $file); 
     $fileSize = @byte_convert(filesize($dir . '/' . $file)); 
     $cellLink = '<td class="list_files_table_file_link"><a href="'. $dir ."/".   $file  . '">' . $file . '</a></td>'; 
     $cellTime = '<td>' . $fileTime . '</td>'; 
     $cellOptions = '<td>'. '<form action="MyFiles.php" method="POST"><input type="hidden" value="'.$file.'" name="fileToDelete"/><input type="submit" value="Delete" name="deleteButton"/></form>' .'<td>'; 
     $cellSize = '<td>' . $fileSize . '</td>'; 
     //$deleteCell = '<td><form action="Delete.php" method="POST"><input     type="hidden" value="'.$file.'" name="fileToDelete"/><input type="submit"    value="click" name="deleteButton"/></form></td>'; 
    $outRows .= '<tr>' . "\n " . $cellLink . "\n " . $cellTime . "\n " . $cellSize . "\n" . $cellOptions . '</tr>' . "\n"; 
    } 
    closedir($dirHandle); 
} 

形式將在$ cellOptions被稱爲具有沿側搜索按鈕刪除按鈕應用到正確的文件。我試着執行它,但保持像被引發的錯誤:

語法錯誤,意想不到的(T_CONSTANT_ENCAPSED_STRING)

幾個人當中,我俯瞰的東西嗎?或者只是這樣做不對,一般我知道這是很長,但我真的很感謝您抽出寶貴的時間來閱讀它

回答

0

我想你需要改變這一行

​​

rename('.$dir."\\".$fileToRename.', '.$dir."\\".$newname.'); 
0

你知道我認爲在這:

if(file_put_contents(file_get_contents($customName),$newName)){ 
deleteFunction($custonName); 
} 

我還沒試過,但我認爲它會工作 PD:我的英文不好