Php 上传的文件返回是否总是错误的
首先,对不起我的英语不好 函数为\u上传\u文件始终返回false。 在此之前,我尝试了以下方法: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
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']);
}
?>