Php 当上传到服务器上时,如何重命名带有时间戳的图像文件?
这是我在upload.php中的代码,单击“upload”按钮后将发布到。我的目标是得到上传的图像文件被重命名的时间戳,请帮助Php 当上传到服务器上时,如何重命名带有时间戳的图像文件?,php,html,post,upload,timestamp,Php,Html,Post,Upload,Timestamp,这是我在upload.php中的代码,单击“upload”按钮后将发布到。我的目标是得到上传的图像文件被重命名的时间戳,请帮助 <?php require_once("includes/connection.php"); ?> <?php require_once("includes/functions.php"); ?> <?php //turn on php error reporting error_reporting(E_ALL); ini_set('dis
<?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能够读取多个文件。使用
time()更新$targetPath
,而不是$name
:
//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;
}
使用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;
}
我总是把它们混在一起,现在是time()
。我更新了我的答案以反映这一点。谢谢,伙计,它工作正常,但没有作为jpeg文件上传,我该怎么做?我总是把它们混在一起,现在是time()
。我更新了我的答案,以反映这一点。谢谢,伙计,它正在工作,但它没有上传为jpeg文件,我该怎么做?