我正在尝试制作一个上传文件功能,允许用户上传图像,视频和压缩文件(.rar)并自动重命名该文件,以防止上传的文件同名并互相替换.
但是当我尝试逐个上传时,上传的所有内容都会转换为.jpg格式.
有谁可以帮助我吗 ?
这是我的脚本:
function reArrayFiles(&$file_post) {
$file_ary = array();
$file_count = count($file_post['name']);
$file_keys = array_keys($file_post);
for ($i=0; $i<$file_count; $i++) {
foreach ($file_keys as $key) {
$file_ary[$i][$key] = $file_post[$key][$i];
}
}
return $file_ary;
}
if ($_FILES['upload']) {
$file_ary = reArrayFiles($_FILES['upload']);
foreach ($file_ary as $file) {
echo "<p>";
print 'File Name: ' . $file['name'] . '<br />';
print 'File Type: ' . $file['type'] . '<br />';
print 'File Size: ' . $file['size'] . '<br />';
print 'File Temp: ' . $file['tmp_name'] . '<br />';
echo "</p>";
if ($file['type'] == 'jpg' || 'jpeg') {
$newname = date('YmdHis',time()).mt_rand().'.jpg';
$dir = 'upload/images/'.$newname;
move_uploaded_file($file['tmp_name'], $dir);
}
if ($file['type'] == 'mp4') {
$newname_video = date('YmHis',time()).mt_rand().'.mp4';
$dir2 = 'upload/videos/'. $newname_video;
move_uploaded_file($file['tmp_name'], $dir2);
}
if ($file['type'] == 'rar') {
$newname_other = date('YmHis',time()).mt_rand().'.rar';
$dir3 = 'upload/others/'. $newname_other;
move_uploaded_file($file['tmp_name'], $dir3);
}
}
}
Run Code Online (Sandbox Code Playgroud)
if ($file['type'] == 'jpg' || 'jpeg') {
被评估为:
if (($file['type'] == 'jpg') || ('jpeg')) {
并且非空字符串的计算结果为true,因此如果总是通过则.
将其更改为:
if (($file['type'] == 'jpg') || ($file['type'] == 'jpeg')) {
它应该按预期工作.
| 归档时间: |
|
| 查看次数: |
46 次 |
| 最近记录: |