Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 上传的文件返回是否总是错误的_Php - Fatal编程技术网

Php 上传的文件返回是否总是错误的

Php 上传的文件返回是否总是错误的,php,Php,首先,对不起我的英语不好 函数为\u上传\u文件始终返回false。 在此之前,我尝试了以下方法: var_dump($file); echo "<br>".$file['tmp_name']; 没有错误(0),文件夹的权限为777。。。 我尝试了realpath(从:),但仍然不起作用 完整功能: function fileUpload($file, $path_dir, $max_size) { var_dump($file); echo "<br&g

首先,对不起我的英语不好

函数为\u上传\u文件始终返回false。 在此之前,我尝试了以下方法:

var_dump($file);
echo "<br>".$file['tmp_name'];
没有错误(0),文件夹的权限为777。。。 我尝试了realpath(从:),但仍然不起作用

完整功能:

function fileUpload($file, $path_dir, $max_size)
  {
    var_dump($file);
    echo "<br>".$file['tmp_name'];
    // Si le fichier a bien été upload sur le serveur
    if(is_uploaded_file($file['tmp_name']))
    { 
      // Si il n'y a pas de caractères invalides
      if(preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $file['tmp_name']))
      {  
        // Si il n'y a pas d'erreurs lors d'upload
        if($file['error'] == 0)
        { 
          // Si la taille est < $max_size
          if($file['size'] <= $max_size)
          { 
            $infosfichier = pathinfo($file['name']);
            $extension_upload = $infosfichier['extension'];
            $extensions_autorisees = array('jpg', 'jpeg', 'png');
            // Si l'extension est autorisé   
            if(in_array($extension_upload, $extensions_autorisees)) 
            {                  
              // Si le fichier a bien été déplacé    
              global $max_id;   
              $dest = $path_dir.'even_'.$max_id['max'].'.'.$extension_upload;
              if(move_uploaded_file($file['tmp_name'], $dest))
                return true;                      
              else
              { 
                $_SESSION['erreur'] = "Erreur lors de l'upload : ".$dest;  
                return false;                                  
              }
            } else 
            {
              $_SESSION['erreur'] = "Le fichier dois etre une image au format JPG/JPEG/PNG";  
              return false;                                     
            }
          } else 
          {
            $_SESSION['erreur'] = "Fichier supérieur a ".$max_size." Ko.";   
            return false;
          }
        } else 
        {
          $_SESSION['erreur'] = "Erreur de l'envoi de la photo.";  
          return false;
        }   
      } else 
      {
        $_SESSION['erreur'] = "Nom de fichier invalide";   
        return false;
      }
    } else 
    {
      $_SESSION['erreur'] = "Erreur lors de la vérification du fichier";  
      return false;
    }
  }
谢谢

大家好, 我发现了问题!又是我的错! 我在每个表单的顶部都包含一个文件,以避免自动返回 用F5


但我还是不明白为什么,有人能解释一下吗?Tjks

你好, 我发现了问题!又是我的错! 我在每个表单的顶部都包含一个文件,以避免自动返回 用F5



但我还是不明白为什么,有人能解释一下吗?Tjks

可能重复相同的错误,但给出的解决方案对我不起作用:)请尝试
是_文件($file['tmp\u name'])
是可读的($file['tmp\u name'])
是_可读的('/tmp/'))
–这些结果是什么?您是否启用了PHP错误报告功能?相同错误的可能重复,但给出的解决方案对我不起作用:)尝试
is_file($file['tmp_name'])
is_readable($file['tmp_name'])
is_readable('/tmp/)
–这些结果是什么?您是否启用了PHP错误报告功能?
function fileUpload($file, $path_dir, $max_size)
  {
    var_dump($file);
    echo "<br>".$file['tmp_name'];
    // Si le fichier a bien été upload sur le serveur
    if(is_uploaded_file($file['tmp_name']))
    { 
      // Si il n'y a pas de caractères invalides
      if(preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $file['tmp_name']))
      {  
        // Si il n'y a pas d'erreurs lors d'upload
        if($file['error'] == 0)
        { 
          // Si la taille est < $max_size
          if($file['size'] <= $max_size)
          { 
            $infosfichier = pathinfo($file['name']);
            $extension_upload = $infosfichier['extension'];
            $extensions_autorisees = array('jpg', 'jpeg', 'png');
            // Si l'extension est autorisé   
            if(in_array($extension_upload, $extensions_autorisees)) 
            {                  
              // Si le fichier a bien été déplacé    
              global $max_id;   
              $dest = $path_dir.'even_'.$max_id['max'].'.'.$extension_upload;
              if(move_uploaded_file($file['tmp_name'], $dest))
                return true;                      
              else
              { 
                $_SESSION['erreur'] = "Erreur lors de l'upload : ".$dest;  
                return false;                                  
              }
            } else 
            {
              $_SESSION['erreur'] = "Le fichier dois etre une image au format JPG/JPEG/PNG";  
              return false;                                     
            }
          } else 
          {
            $_SESSION['erreur'] = "Fichier supérieur a ".$max_size." Ko.";   
            return false;
          }
        } else 
        {
          $_SESSION['erreur'] = "Erreur de l'envoi de la photo.";  
          return false;
        }   
      } else 
      {
        $_SESSION['erreur'] = "Nom de fichier invalide";   
        return false;
      }
    } else 
    {
      $_SESSION['erreur'] = "Erreur lors de la vérification du fichier";  
      return false;
    }
  }
if(isset($_FILES['photo']) AND !empty($_FILES['photo']['name']))
    $var = fileUpload($_FILES['photo'],'banniere/','512000');   
<?php
if(!empty($_POST) OR !empty($_FILES))
{
    $_SESSION['sauvegarde'] = $_POST ;
    $_SESSION['sauvegardeFILES'] = $_FILES ;

    $fichierActuel = $_SERVER['PHP_SELF'] ;
    if(!empty($_SERVER['QUERY_STRING']))
    {
        $fichierActuel .= '?' . $_SERVER['QUERY_STRING'] ;
    }
    header('Location: ' . $fichierActuel);
    exit;
}

if(isset($_SESSION['sauvegarde']))
{
    $_POST = $_SESSION['sauvegarde'] ;
    $_FILES = $_SESSION['sauvegardeFILES'] ;

    unset($_SESSION['sauvegarde'], $_SESSION['sauvegardeFILES']);
}
?>