试图用PHP将文件上载到服务器,但它';s始终转换为.jpg格式

试图用PHP将文件上载到服务器,但它';s始终转换为.jpg格式,php,Php,我正在尝试创建一个上载文件功能,允许用户上载图像、视频和压缩文件(.rar),并自动重命名文件,以防使用相同名称上载的文件相互替换 但当我试图一个接一个地上传时,上传的所有内容都转换成.jpg格式 有人能帮我吗 这是我的剧本: function reArrayFiles(&$file_post) { $file_ary = array(); $file_count = count($file_post['name']); $file_keys = array_keys($file_po

我正在尝试创建一个上载文件功能,允许用户上载图像、视频和压缩文件(.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);
  }
}
}
函数重新播放文件(&$file\u post){
$file_ary=array();
$file_count=count($file_post['name']);
$file\u keys=数组\u keys($file\u post);
对于($i=0;$i
if($file['type']='jpg'| |'jpeg'){

被评估为:

if($file['type']='jpg')||('jpeg')){

一个非空字符串的计算结果为true,所以它总是通过

将其更改为:

if($file['type']='jpg')| |($file['type']='jpeg')){

如果($file['type']='jpg'| | |'jpeg'){

被评估为:

if($file['type']='jpg')||('jpeg')){

一个非空字符串的计算结果为true,所以它总是通过

将其更改为:

if($file['type']='jpg')| |($file['type']='jpeg')){


它应该能按预期工作。

我需要更改所有类似的脚本还是只更改jpg和jpeg一位先生?当我只改变第一个条件时,它就像一个符咒,但当我改变所有条件时,它不会上传结果file@DonnyK.Pratama只有当它们的项目之间用
|
分隔时,才有此问题。在您列出的示例代码中,只有jpg/jpeg有此问题。一般来说,我倾向于在请确保100%的评估结果符合预期。不同语言中的运算符优先级有时会有所不同,再加上在并非绝对必要的情况下使用括号可能会导致更可读的代码。但在这种情况下,它们是使代码正常工作所必需的。谢谢您的解决方案,先生,但出现了一些问题ed在这里,它曾经工作过,但是当我试图上传更多的文件时,它不再上传了..你知道为什么会发生这种情况吗,先生?老实说,我是个编程新手。。xD@DonnyK.Pratama-抱歉,无法猜测可能发生了什么更改。您需要发布更新的代码和任何特定错误。哦,好的..好的,非常感谢帮助先生:Ddoes我必须更改所有类似的脚本或仅更改jpg和jpeg一位先生?当我只改变第一个条件时,它就像一个符咒,但当我改变所有条件时,它不会上传结果file@DonnyK.Pratama只有当它们的项目之间用
|
分隔时,才有此问题。在您列出的示例代码中,只有jpg/jpeg有此问题。一般来说,我倾向于在请确保100%的评估结果符合预期。不同语言中的运算符优先级有时会有所不同,再加上在并非绝对必要的情况下使用括号可能会导致更可读的代码。但在这种情况下,它们是使代码正常工作所必需的。谢谢您的解决方案,先生,但出现了一些问题ed在这里,它曾经工作过,但是当我试图上传更多的文件时,它不再上传了..你知道为什么会发生这种情况吗,先生?老实说,我是个编程新手。。xD@DonnyK.Pratama-抱歉,无法猜测可能发生了什么更改。您需要发布更新的代码和任何特定错误。哦,好的..好的,非常感谢救命先生