在php中上载文件时出错

在php中上载文件时出错,php,Php,使用Dreamweaver CS6,我上传文件时遇到问题 错误为“无效文件” 这是我的代码: <?php $allowedExts = array("gif", "jpeg", "jpg", "png"); $temp = explode(".", $_FILES["file"]["name"]); $extension = end($temp); if ((($_FILES["file"]["type"] == "image/gif") ||

使用Dreamweaver CS6,我上传文件时遇到问题

错误为“无效文件”

这是我的代码:

<?php
    $allowedExts = array("gif", "jpeg", "jpg", "png");
    $temp = explode(".", $_FILES["file"]["name"]);
    $extension = end($temp);
    if ((($_FILES["file"]["type"] == "image/gif")
       || ($_FILES["file"]["type"] == "image/jpeg")
       || ($_FILES["file"]["type"] == "image/jpg")
       || ($_FILES["file"]["type"] == "image/pjpeg")
       || ($_FILES["file"]["type"] == "image/x-png")
       || ($_FILES["file"]["type"] == "image/png"))
       && ($_FILES["file"]["size"] < 20000)
       && in_array($extension, $allowedExts))
       {
         if ($_FILES["file"]["error"] > 0)
         {
           echo "Error: " . $_FILES["file"]["error"] . "<br>";
         }
         else
         {
           echo "Upload: " . $_FILES["file"]["name"] . "<br>";
           echo "Type: " . $_FILES["file"]["type"] . "<br>";
           echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
           echo "Stored in: " . $_FILES["file"]["tmp_name"];
         }
       }
       else
       {
         echo "Invalid file";
       }
?>

尝试以下方法:

if ($_FILES["file"]["error"]== 0) {

   $upload_dir = dirname(__FILE__) . "/photos/";

   if (file_exists($upload_dir)) {
      if (is_writable($upload_dir)) {
          $target = $upload_dir; 
          $newName=$_SESSION['theUsername'];
          $target = $target . basename($newName);
          $moved = move_uploaded_file($_FILES['file']['tmp_name'], "$target");
      } else {
          echo 'Upload directory is not writable<br>';
      }
   } else {
      echo 'Upload directory does not exist.<br>';
   }
}
if($\u文件[“文件”][“错误”]==0){
$upload_dir=dirname(_文件)“/photos/”;
如果(文件存在($upload\U dir)){
if(可写($upload\u dir)){
$target=$upload\u dir;
$newName=$\会话['theUsername'];
$target=$target.basename($newName);
$moved=move_上传的_文件($_文件['file']['tmp_name'],“$target”);
}否则{
echo“上载目录不可写
”; } }否则{ echo“上载目录不存在。
”; } }
holy moly坏格式什么是
echo$\u文件[“文件”][“类型”]显示何时发生这种情况?还有许多情况下,您的代码会转到“Invalid File”语句。您应该将测试(文件类型、大小、扩展名)拆分为单独的if块,以了解失败的位置。可能表单没有
enctype
,或者元素没有命名,等等。可能是任何内容。就我而言,我不是“去那里”@Populusyes
enctype
可能是人们最常见的第一个错误:)