2016-04-07 11 views
1

ここに私のコードがありますが、私の質問はファイルサイズをアップロードすることを含めてアップロード中にファイルの名前を変更する方法です。だから私は私のレポートでもファイルサイズを取得することができます。名前を変更中のファイル複数のフォルダから選択したファイルをアップロードして削除する

<?php 
 

 
if ((!isset($_GET['admin'])) and (!isset($_GET['admin']))) { 
 
$valid_formats = array(
 
    "jpg", 
 
    "png", 
 
    "gif", 
 
    "zip", 
 
    "bmp" 
 
); 
 
$max_file_size = 100000000000 * 100000000000; //100 kb 
 
$path   = "../week/"; // Upload directory 
 
$count   = 0; 
 

 
if (isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST") { 
 
    // Loop $_FILES to execute all files 
 
    foreach ($_FILES['files']['name'] as $f => $name) { 
 
     if ($_FILES['files']['error'][$f] == 4) { 
 
      continue; // Skip file if any error found 
 
     } 
 
     if ($_FILES['files']['error'][$f] == 0) { 
 
      if ($_FILES['files']['size'][$f] > $max_file_size) { 
 
       $message[] = "$name is too large!."; 
 
       continue; // Skip large files 
 
      } elseif (!in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats)) { 
 
       $message[] = "$name is not a valid format"; 
 
       continue; // Skip invalid file formats 
 
      } else { // No error found! Move uploaded files 
 
       if (move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path . $name)) { 
 
        $count++; // Number of successfully uploaded files 
 
        
 
        $sql = "INSERT INTO pics_uploads(gf,path) VALUES('$name','$path')"; 
 
        mysql_query($sql); 
 
       } 
 
      } 
 
     } 
 
    } 
 
} 
 
?> 
 
<div class="wrap"> 
 
\t \t <h1>Events Name</h1> 
 
\t \t <?php 
 
# error messages 
 
if (isset($message)) { 
 
    foreach ($message as $msg) { 
 
     printf("<p class='status'>%s</p></ br>\n", $msg); 
 
    } 
 
} 
 
# success message 
 
if ($count != 0) { 
 
    printf("<p class='status'>%d files added successfully!</p>\n", $count); 
 
} 
 
?> 
 
\t \t <p>Max file size 10MB, Valid formats jpg, png, gif</p> 
 
\t \t <br /> 
 
\t \t <br /> 
 
\t \t <!-- Multiple file upload html form--> 
 
\t \t <form action="" method="post" enctype="multipart/form-data"> 
 
\t \t \t <input type="file" name="files[]" multiple accept="image/*"> 
 
\t \t \t <input type="submit" value="Upload"> 
 
\t \t </form> 
 
     <br /> 
 

 
    
 
    <center><table width="80%" border="1" bordercolor="#FF0033" > 
 

 
    <tr> 
 
    <th>MultiDelete</th> 
 
    <td>File Name</td> 
 
    <td>File Location</td> 
 
    <td>Upload Date</td> 
 
    <td>View (Click to View)</td> 
 
    <th colspan="2">ACTION</th> 
 
    </tr> 
 
    <?php 
 
$sql  = "SELECT * FROM `pics_uploads` WHERE `gf`"; 
 
$result_set = mysql_query($sql); 
 
while ($row = mysql_fetch_array($result_set)) { 
 
?> 
 
     <tr> 
 
     <td ><font color="#000"><input name="checkbox[]" type="checkbox" value="<? 
 
    echo $row['id']; 
 
?>"></font></td> 
 
     <td><?php 
 
    echo $row['gf']; 
 
?></td> 
 
     <td><?php 
 
    echo $row['path']; 
 
?></td> 
 
     <td><?php 
 
    echo $row['curtime']; 
 
?></td> 
 
     <td><a href="../week1/<?php 
 
    echo $row['gf']; 
 
?>" target="_blank"><?php 
 
    echo '<img src="../week1/' . $row['gf'] . '" width="40px" height="20px" border="2" />'; 
 
?></a></td> 
 
     <td><a href="javascript:remove(<?php 
 
    echo $row['id']; 
 
?>)">Delete file</a></td> 
 
         
 
     </tr> 
 
     <?php 
 
} 
 
?> <tr> 
 
<td> 
 
\t <input name="delete" type="submit" id="delete" value="Delete"></td> 
 
\t \t </tr>  
 
    </table></center> 
 

 
    <?php 
 
} 
 
?> 
 

これは削除するためです。から削除したいフォルダ名がweek1、week2 week3、weeksだと言うことができますが、そこから選択したファイルだけが削除されます。

<?php 
 
include_once 'dbconfig.php'; 
 
if (isset($_GET['remove_id'])) { 
 
$res = mysql_query("SELECT file FROM pics_uploads WHERE id=" . $_GET['remove_id']); 
 
$row = mysql_fetch_array($res); 
 
mysql_query("DELETE FROM pics_uploads WHERE id=" . $_GET['remove_id']); 
 
unlink("week1/", week2, week3, week4 . $row['file']); //this didn't work 
 
header("Location: index-1.php"); 
 
} 
 
?>

答えて

0

aslem-パテルこの@おかげでPefectly OK勤務

$newfilename = round(microtime(true)). $name; 
if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.$newfilename)) 
+0

アップロードファイル名を変更するためにこれを試してみてください。複数のフォルダから選択したファイルを削除するには、まだ助けが必要です。上記の2番目のコードで与えられているように。 –

関連する問題