2017-05-04 2 views
1

これはupload.phpのコードで、「アップロード」ボタンをクリックすると投稿されます。私の目的は、タイムスタンプで画像ファイルの名前を変更するようにアップロードすることです。サーバーにアップロードしたときにタイムスタンプ付きのイメージファイルの名前を変更するにはどうすればよいですか?

<?php require_once("includes/connection.php"); ?> 
<?php require_once("includes/functions.php"); ?> 
<?php 
//turn on php error reporting 
error_reporting(E_ALL); 
ini_set('display_errors', 1); 

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 

    $name  = $_FILES['file']['name']; 
    $tmpName = $_FILES['file']['tmp_name']; 
    $error = $_FILES['file']['error']; 
    $size  = $_FILES['file']['size']; 
    $ext  = strtolower(pathinfo($name, PATHINFO_EXTENSION)); 

    switch ($error) { 
     case UPLOAD_ERR_OK: 
      $valid = true; 
      //validate file extensions 
      if (!in_array($ext, array('jpg','jpeg','png','gif'))) { 
       $valid = false; 
       $response = 'Invalid file extension.'; 
      } 
      //validate file size 
      if ($size/1024/1024 > 2) { 
       $valid = false; 
       $response = 'File size is exceeding maximum allowed size.'; 
      } 
      //upload file 
      if ($valid) { 
       $targetPath = dirname(__FILE__) . DIRECTORY_SEPARATOR. 
      'uploads' . DIRECTORY_SEPARATOR. $name; 
       move_uploaded_file($tmpName,$targetPath); 
       header('Location: CheckTooth.php') ; 
       exit; 
      } 
     break; 
    case UPLOAD_ERR_INI_SIZE: 
     $response = 'The uploaded file exceeds the upload_max_filesize 
     directive in php.ini.'; 
     break; 
    case UPLOAD_ERR_PARTIAL: 
     $response = 'The uploaded file was only partially uploaded.'; 
     break; 
    case UPLOAD_ERR_NO_FILE: 
     $response = 'No file was uploaded.'; 
     break; 
    case UPLOAD_ERR_NO_TMP_DIR: 
     $response = 'Missing a temporary folder. Introduced in PHP 4.3.10 
     and PHP 5.0.3.'; 
     break; 
    case UPLOAD_ERR_CANT_WRITE: 
     $response = 'Failed to write file to disk. Introduced in PHP 
     5.1.0.'; 
     break; 
    default: 
     $response = 'Unknown error'; 
    break; 
} 

echo $response; 
} 
?> 

私のopencvが複数のファイルを読むことができるように、タイムスタンプが必要です。

答えて

0

更新time()の代わり$name$targetPath

//upload file 
if ($valid) { 
    // UPDATED LINE 
    $targetPath = dirname(__FILE__) . DIRECTORY_SEPARATOR. 
     'uploads' . DIRECTORY_SEPARATOR . time(); 
    move_uploaded_file($tmpName,$targetPath); 
    header('Location: CheckTooth.php') ; 
    exit; 
} 
+0

致命的なエラー:私は常にそれらをミックス() – Yang

+0

今未定義の関数に呼び出し、それは '時間()'です。私はそれを反映するために私の答えを更新しました。 – Growiel

+0

ありがとうございました。動作していますが、jpegファイルとしてアップロードされていません。どのようにすればいいですか? – Yang

関連する問題