将相同文件复制到其他文件夹,如果存在则仅更新名称

时间:2019-06-20 07:38:53

标签: php copy

我有这个php代码来制作将文件复制到其他文件夹的按钮:

<?php

 $folder = "print"; //folder tempat gambar disimpan
 $handle = opendir($folder);
 echo '<table cellspacing="5" cellpadding="10" width="100%" >';
 echo '<tr>';
 $i = 1;
 $fileGambar = array('JPG', 'jpg');
 while(false !== ($file = readdir($handle))){
   $fileAndExt = explode('.', $file);
   if(in_array(end($fileAndExt), $fileGambar)){
   echo '<td style="border:1px solid #000000;" align="center" >
   <div class="hvrbox">
   <img src="print/'.$file.'" alt="Mountains" class="hvrbox- 
            layer_bottom" width="50%" />
    <div class="hvrbox-layer_top">
    <div class="hvrbox-text"> '.$file.'.</div>
    </div>
    </div>
    <script type="text/javascript" src="js/jquery-1.11.3.min.js"></script>
    <script type="text/javascript" src="js/hover-box.js"></script>  
            <br></br></select>

        <form method="post">
        jumlah cetak?
        <input type="hidden" name="field1" value="'.$file.'">
        <input type="text" name="field2" maxlength="4" size="4">
        <input type="submit" value="SIMPAN">

   if(($i % 1) == 0){
   echo '</tr><tr>';
      }
   $i++;
   }
   }
   echo '</tr>';
   echo '</table>';
   ?>

用于处理复制文件的php脚本是

<?php
    if (isset($_POST['field2']) && isset($_POST['field1'])) {
    copy('print/'.$_POST['field1'],'Upload/'.$_POST['field1']."cetak".$_POST['field2'].".JPG");
    echo "<meta http-equiv='refresh' content='1'>";
    }
    ?>

例如,显示的文件为 IMG_7892.jpg 当我在文本框中输入 4 并单击“提交”按钮时,它将把新名称为 IMG_7892 cetak 4.jpg IMG_7892.jpg复制到上传夹。 并且如果我再次在同一文件上输入,目的是将cetak之后的值从 4 更改为 5、2或我想输入的任何数字它将再次复制相同文件但名称不同,因此在Upload folder中将有两个文件(例如: IMG_7892 cetak 4.jpg IMG_7892 cetak 2.jpg ) 。

我要做的就是,每当我更改同一文件的值然后提交时,都不会复制其他名称不同的文件,而是用新的cetak替换包含相同名称的文件,我已经尝试过unlink,但仍然没有替换

希望有人可以帮助我给出解决方案脚本

0 个答案:

没有答案