将时间戳和自定义名称添加到通过 PHP 上传的文件
Adding timestamp and custom name to a File uploaded via PHP
我正在寻找一种方法来为通过 php 上传到我的服务器的文件添加时间戳和自定义名称。我在 $_FILE[] 上做了一些阅读以理解它的论点,但是官方 PHP 文档没有给出详细的解释。
这是我用来上传的代码,我可以在哪里包含时间戳(日期('m-d-Y_H:i:s'))和名称(即:"myFile")来为文件创建一个唯一名称上传了吗?
谢谢!
$date = date('m-d-Y_H:i:s');
$file_path = "uploads/{$_POST['name']}/";
if (!file_exists("uploads/{$_POST['name']}")) {
mkdir("uploads/{$_POST['name']}", 0777, true);
} else {
echo 'folder already exists!';
}
$file_path = $file_path . basename($_FILES['zipFile']['name']);
if (move_uploaded_file($_FILES['zipFile']['tmp_name'], $file_path)) {
echo "success";
} else {
echo "fail";
}
您可以将上传的文件数据安全地保存到数据库中,并添加您需要的所有数据,例如时间戳、来自上传者的 ip、文件大小、文件名
如果我正确理解你的问题..
这是你要的吗..
if(is_uploaded_file($tmp_name))
{
$org_name = date('m-d-Y_H:i:s')."_".$yourname;
$dest = "uploads/$org_name";
move_uploaded_file($tmp_name, $dest);
}
很简单,在你的$file_path
后面添加文件名。
$filename = date('m-d-Y_H:i:s').'_'.md5(time).'.zip';
if (move_uploaded_file($_FILES['zipFile']['tmp_name'], $file_path.'/'.$filename)) {
echo "success";
} else {
echo "fail";
}
如果您确定只有 zip 文件,您可以直接使用扩展名,否则您应该使用占位符。
使用此更改自定义名称+(加)时间戳
在
中添加您的自定义名称
your_custom_name provide what name your what...
$filename=$_FILES[upload][name];
$ext=substr($filename,strrpos($filename,'.')+1);
$fname=date("Y-m-d-H-i-s")."-";
$fname.="your_custom_name"."-";
$fname.=uniqid().".".$ext;
$ext=strtolower($ext);
if(move_uploaded_file($_FILES[upload][tmp_name], "../images/products/".$fname)) {
echo "success";
} else {
$er_imgs="Failed";
}
希望大家出出主意
$file_path = "uploads/".$_POST['name']."/";
$newfile = $_POST['NAME'].date('m-d-Y_H:i:s')'.zip'; //Please use date('m-d-Y_H-i-s') for Linux.
$filename = $file_path.$newfile;
if(!file_exists($filename))
{
if(move_uploaded_file($_FILES['zipFile']['tmp_name'],$filename))
{
// Other codes
}
}
else
{
echo 'file already exists';
}
您不能在文件名中使用“:”。将其替换为“-”:
$filename= 'yourprefix_' . date('d-m-Y_H-i-s') . '.zip';
我正在寻找一种方法来为通过 php 上传到我的服务器的文件添加时间戳和自定义名称。我在 $_FILE[] 上做了一些阅读以理解它的论点,但是官方 PHP 文档没有给出详细的解释。
这是我用来上传的代码,我可以在哪里包含时间戳(日期('m-d-Y_H:i:s'))和名称(即:"myFile")来为文件创建一个唯一名称上传了吗?
谢谢!
$date = date('m-d-Y_H:i:s');
$file_path = "uploads/{$_POST['name']}/";
if (!file_exists("uploads/{$_POST['name']}")) {
mkdir("uploads/{$_POST['name']}", 0777, true);
} else {
echo 'folder already exists!';
}
$file_path = $file_path . basename($_FILES['zipFile']['name']);
if (move_uploaded_file($_FILES['zipFile']['tmp_name'], $file_path)) {
echo "success";
} else {
echo "fail";
}
您可以将上传的文件数据安全地保存到数据库中,并添加您需要的所有数据,例如时间戳、来自上传者的 ip、文件大小、文件名
如果我正确理解你的问题.. 这是你要的吗..
if(is_uploaded_file($tmp_name))
{
$org_name = date('m-d-Y_H:i:s')."_".$yourname;
$dest = "uploads/$org_name";
move_uploaded_file($tmp_name, $dest);
}
很简单,在你的$file_path
后面添加文件名。
$filename = date('m-d-Y_H:i:s').'_'.md5(time).'.zip';
if (move_uploaded_file($_FILES['zipFile']['tmp_name'], $file_path.'/'.$filename)) {
echo "success";
} else {
echo "fail";
}
如果您确定只有 zip 文件,您可以直接使用扩展名,否则您应该使用占位符。
使用此更改自定义名称+(加)时间戳 在
中添加您的自定义名称your_custom_name provide what name your what...
$filename=$_FILES[upload][name];
$ext=substr($filename,strrpos($filename,'.')+1);
$fname=date("Y-m-d-H-i-s")."-";
$fname.="your_custom_name"."-";
$fname.=uniqid().".".$ext;
$ext=strtolower($ext);
if(move_uploaded_file($_FILES[upload][tmp_name], "../images/products/".$fname)) {
echo "success";
} else {
$er_imgs="Failed";
}
希望大家出出主意
$file_path = "uploads/".$_POST['name']."/";
$newfile = $_POST['NAME'].date('m-d-Y_H:i:s')'.zip'; //Please use date('m-d-Y_H-i-s') for Linux.
$filename = $file_path.$newfile;
if(!file_exists($filename))
{
if(move_uploaded_file($_FILES['zipFile']['tmp_name'],$filename))
{
// Other codes
}
}
else
{
echo 'file already exists';
}
您不能在文件名中使用“:”。将其替换为“-”:
$filename= 'yourprefix_' . date('d-m-Y_H-i-s') . '.zip';