怎么通过HTML+PHP上传文件到服务器?

html-css014

怎么通过HTML+PHP上传文件到服务器?,第1张

HTML代码:

<body>

<form action="" method="post" enctype="multipart/form-data" name="upload_form">

<label>选择图片文件</label>

<input name="imgfile" type="file" accept="image/gif, image/jpeg"/>

<input name="upload" type="submit" value="上传" />

</form>

</body>

PHP代码:

if (isset($_FILES['imgfile'])

&&is_uploaded_file($_FILES['imgfile']['tmp_name']))

{

$imgFile = $_FILES['imgfile']

$upErr = $imgFile['error']

if ($upErr == 0)

{

$imgType = $imgFile['type']//文件类型。

/* 判断文件类型,这个例子里仅支持jpg和gif类型的图片文件。*/

if ($imgType == 'image/jpeg'

|| $imgType == 'image/gif')

{

$imgFileName = $imgFile['name']

$imgSize = $imgFile['size']

$imgTmpFile = $imgFile['tmp_name']

/*

将文件从临时文件夹移到上传文件夹中。

注意:upfile这个文件夹必须先创建好,不然会报错。

*/

move_uploaded_file($imgTmpFile, 'upfile/'.$imgFileName)

/*显示上传后的文件的信息。*/

$strPrompt = sprintf("文件%s上传成功<br>"

. "文件大小: %s字节<br>"

. "<img src='upfile/%s'>"

, $imgFileName, $imgSize, $imgFileName

)

echo $strPrompt

}

else

{

echo "请选择jpg或gif文件,不支持其它类型的文件。"

}

}

else

{

echo "文件上传失败。<br>"

switch ($upErr)

{

case 1:

echo "超过了php.ini中设置的上传文件大小。"

break

case 2:

echo "超过了MAX_FILE_SIZE选项指定的文件大小。"

break

case 3:

echo "文件只有部分被上传。"

break

case 4:

echo "文件未被上传。"

break

case 5:

echo "上传文件大小为0"

break

}

}

}

else

{

}

html前端代码:

<html>  

<body>  

    <form action="upload-file.php" method="post"  

        enctype="multipart/form-data">  

        <label for="file">文件名:</label>  

        <input type="file" name="file" id="file" />  

        <br/>  

        <input type="submit" name="submit" value="提交" />  

    </form>  

</body>  

</html>

如果是ubuntu上部署apache2,你应该是php开发者吧,action="upload-file.php

" 中的upload-file.php改为你自己的后端php接收文件的逻辑代码即可!

这里提供upload-file.php后端接收文件的代码:

<?php  

if ($_FILES["file"]["error"] > 0)  

  {  

  echo "错误: " . $_FILES["file"]["error"] . "<br />"  

  }  

else  

  {  

  echo "文件名: " . $_FILES["file"]["name"] . "<br />"  

  echo "类型: " . $_FILES["file"]["type"] . "<br />"  

  echo "大小: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"   

  }  

 if (file_exists("upload/" . $_FILES["file"]["name"]))  

    {  

      echo $_FILES["file"]["name"] . " 文件已经存在. "  

    }  

else  

    {  

      move_uploaded_file($_FILES["file"]["tmp_name"],  

      "upload/" . $_FILES["file"]["name"])  

      echo "文件已经被存储到: " . "upload/" . $_FILES["file"]["name"]  

    }   

?>

代码很简单,我相信你应该能看懂,这里的 文件夹 upload/ 需要你自己手动创建,请确保文件路径正取!

我也是web开发者,有问题可继续追问我!或是加我工作室QQ(540144097),在群里向我提问!有问必答,望采纳......