文件上传功能
问题描述:
你好,我试图与PHP文件上传,所以我拷入它 这个工作,但后来我wan't把这个在这样的函数:文件上传功能
function upload($file) {
$target_dir = "www/";
$target_file = $target_dir . date("Y-m-d") . "_" . basename($file["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file, PATHINFO_EXTENSION);
$check = getimagesize($file["tmp_name"]);
if ($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
// Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file $target_file already exists.";
$uploadOk = 0;
}
// Check file size
if ($file["size"] > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// Allow certain file formats
if ($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif") {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($file["tmp_name"], $target_file)) {
echo "The file " . basename($file["name"]) . " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
return $target_file;
}
,所以我可以这样称呼:
include 'upload.php';
if(isset($_POST["send2"])) {
$p1="";
$p2="";
$p3="";
$p4="";
$p5="";
if(isset($_FILES["p1"])){
$p1= upload($_FILES["p1"]);
}
if(isset($_FILES["p2"])){
$p2= upload($_FILES["p2"]);
}
if(isset($_FILES["p3"])){
$p3=upload($_FILES["p3"]);
}
if(isset($_FILES["p4"])){
$p4 = upload($_FILES["p4"]);
}
if(isset($_FILES["p5"])){
$p5= upload($_FILES["p5"]);
}
$pcrud->create($_POST['titel'], $_POST['input'], "" . getdate() . "", $target_file, $_POST['p2'], $_POST['p3'], $_POST['p4'], $_POST['p5'], $_SESSION['user'], $ccrud->getidbytitle($_POST['cat']));
}
但这不起作用的消息“文件名不能为空”来了。我该如何解决这个问题有什么问题?
答
,我发现我不能,如果文件isset检查问题,我必须检查品牌的价值是这样的:
这是我如何调用该函数:
if(isset($_POST["send2"])) {
$p1="";
$p2="";
$p3="";
$p4="";
$p5="";
if($_FILES["p1"]["name"]!=""){
$p1= upload($_FILES["p1"]["name"],$_FILES["p1"]["tmp_name"],$_FILES["p1"]["size"]);
}
if($_FILES["p2"]["name"]!=""){
$p2= upload($_FILES["p2"]["name"],$_FILES["p2"]["tmp_name"],$_FILES["p2"]["size"]);
}
if($_FILES["p3"]["name"]!=""){
$p3=upload($_FILES["p3"]["name"],$_FILES["p3"]["tmp_name"],$_FILES["p3"]["size"]);
}
if($_FILES["p4"]["name"]!=""){
$p4 = upload($_FILES["p4"]["name"],$_FILES["p4"]["tmp_name"],$_FILES["p4"]["size"]);
}
if($_FILES["p5"]["name"]!=""){
$p5= upload($_FILES["p5"]["name"],$_FILES["p5"]["tmp_name"],$_FILES["p5"]["size"]);
}
$pcrud->create($_POST['titel'], $_POST['input'], "" . getdate() . "", $p1, $p2, $p3, $p4, $p5, $_SESSION['user'], $ccrud->getidbytitle($_POST['cat']));
}
这是功能:
function upload($filename,$filetmpname,$size) {
$target_dir = "www/";
$target_file = $target_dir . date("Y-m-d") . "_" . basename($filename);
$uploadOk = 1;
$imageFileType = pathinfo($target_file, PATHINFO_EXTENSION);
$check = getimagesize($filetmpname);
if ($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
// Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file $target_file already exists.";
$uploadOk = 0;
}
// Check file size
if ($size > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// Allow certain file formats
if ($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif") {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($filetmpname, $target_file)) {
echo "The file " . basename($filename) . " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
return $target_file;
}
“没有工作”是一个广泛的问题。究竟会发生什么? –
您尝试上传的文件夹是否具有写入权限? –
是的,它有。它工作时,我使用$ _Files ['nameoffile'] –