[求助]有关上传的(实属无奈的选择) |
有关上传的文章这个论坛已经有好几篇了,我也看了。但当自己编写的时候老是出现莫名其妙的错误。调试了好久也没有找出原因,无奈之下想到求助于各位。
下面是php.ini中有关上传的配置,这个好象没错。
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = d:\test
; Maximum allowed size for uploaded files.
upload_max_filesize = 2M
下面是upload.html
<form enctype="multipart/form-data" action="upload.php" method=post>
<input type="hidden" name="MAX_FILE_SIZE" value="10000">
upload this file <input type="file" name="userfile">
<input type="submit" value="上传">
</form>
下面是upload.php
<html>
<head><title><h1>upload</h1><title></head>
<body>
<?
if ($userfile=="none")
{
echo "no file upload";
exit;
}
if ($userfile_size==0)
{
echo "file is zero";
exit;
}
if ($userfile_type!="text/plain")
{
echo "file is not text/plain";
exit;
}
if (!$is_uploaded_file($userfile))
{
echo "file upload attack";
exit;
}
$upfile="d:/test".$userfile_name;
if (!copy($userfile,$upfile))
{
echo "can not move file into Splace";
exit;
}
echo "file uploaded successfully<br>";
$fp=fopen ($upfile,"r");
$contents=fread($fp,filesize($upfile));
fclose($fp);
$contents=strip_tags($contents);
$fp=fopen($upload,"w");
fwrite($fp,$contents);
fclose($fp);
echo "uploaded file contents:<br><hr>";
echo $contents;
echo "<br><hr>";
?>
</body>
</html>
<?
function is_uploaded_file($filename)
{
if (!$tmp_file=get_cfg_var('upload_tmp_dir'))
{
$tmp_file=dirname(tempnam('', ''));
}
$tmp_file.='/'.basename($filename);
return (ereg_replace('/+','/',$tmp_file)==$filename);
}
?>
|
|
|