小弟这有一支上传程式,自行修改试试看吧~
还有显示错误讯息的功能
复制程式
<?php
define("UPLOAD_DIR", "./");
// 用来显示错误讯息
function error($str)
{
print "<font color=\"#ff0000\">{$str}</font>\n";
exit();
}
header("Content-Type: text/html; charset=big5");
print <<<_EOT_
<form method="POST" action="301.php" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="102400">
<input type="file" name="file">
<input type="submit" value="传送">
<input type="hidden" name="mode" value="upload">
</form>
_EOT_;
if($_POST["mode"] == "upload")
{
// 错误检查
switch ($_FILES["file"]["error"])
{
case UPLOAD_ERR_INI_SIZE:
case UPLOAD_ERR_FORM_SIZE:
error("超过档案大小限制。");
case UPLOAD_ERR_PARTIAL:
case UPLOAD_ERR_NO_FILE:
error("无法上传。");
}
// 为求慎重,也检查一次档案的大小
if($_FILES["file"]["size"] > 1024 * 100)
{
error("超过档案大小限制。");
}
///////////////////
//关闭阻挡功能//
//////////////////
// // 拒绝png与jpeg之外的档案
// if(!preg_match("/^image\/.*(png|jpeg)$/i", $_FILES["file"]["type"]))
// {
// error("档案形式不合法。");
// }
// 拒绝使用了特定字元以外之文字的档名
if(preg_match("/[^\w\d\-\.]/", $_FILES["file"]["name"]))
{
error("档名不合法。");
}
// 移动档案
$upload_file = UPLOAD_DIR . $_FILES["file"]["name"];
if(move_uploaded_file($_FILES["file"]["tmp_name"], $upload_file))
{
chmod($upload_file, 0644);
$img_size = getimagesize($upload_file);
print "以下的档案已经上传成功。<br>\n";
print '<img src="' . $upload_file . '" ';
print $img_size[3] . ' border="0">';
}
else
{
error("上传失败。");
}
}
?>