manx00
- UID
- 21893
- 帖子
- 99
- 积分
- 170
- 在线时间
- 122小时
- 注册时间
- 2008-03-22
- 最后登录
- 2015-12-04
|
1#
manx00 发表于2008-06-04
[已解决]一个move_uploaded_file的问题
我做一个上传,结果是可以生成上传临时文件,但是不能把它移动到我要的位置,怎么办??
我的代码:
up.php
<form enctype="multipart/form-data" action="upfile.php" method=" OST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>
----------------------------------------------------------------------------------------------------------------------------------
upfile.php
<?php
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
echo "File ". $_FILES['userfile']['name'] ." uploaded successfully.\n";
echo "Displaying contents\n";
readfile($_FILES['userfile']['tmp_name']);
} else {
echo " ossible file upload attack: ";
echo "filename '". $_FILES['userfile']['tmp_name'] . "'.";
}
?>
<?php
$uploaddir = 'E:\\www\\uploads\\';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo " ossible file upload attack!\n";
}
echo move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";
?>
------------------------------------------------------------------------------------------------------------
运行结果(我移动的是一个SQL数据库):
File hope.sql uploaded successfully. Displaying contents -- phpMyAdmin SQL Dump -- version 2.10.3 -- http://www.phpmyadmin.net -- -- 主机: localhost -- 生成日期: 2008 年 06 月 03 日 04:56 -- 服务器版本: 5.0.45 -- PHP 版本: 5.2.4 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; -- -- 数据库: `xdccms` -- -- -------------------------------------------------------- -- -- 表的结构 `hope` -- CREATE TABLE IF NOT EXISTS `hope` ( `id` int(5) NOT NULL auto_increment, `content` varchar(300) collate utf8_bin NOT NULL, `author` varchar(30) collate utf8_bin NOT NULL, `time` datetime NOT NULL default '0000-00-00 00:00:00', `color` varchar(2) collate utf8_bin NOT NULL default '01', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=6 ; -- -- 导出表中的数据 `hope` -- INSERT INTO `hope` (`id`, `content`, `author`, `time`, `color`) VALUES (1, 0xe4b880e58887e983bde4bc9ae5a5bde79a842ce6b581e6989fe5be88e7be8e21, 0x786463, '2008-06-03 11:12:33', 0x3032), (2, 0xe79c8be8a781e4ba86e4bb80e4b988e590973f, 0x78786463, '2008-06-03 00:00:00', 0x3033), (3, 0xe58187e689aee5a4aae79b91e5958a, 0x717171, '0000-00-00 00:00:00', 0x3036), (4, 0xe59b9be58d81e4ba8ce7aba0e7bb8f, 0xe782b9e5bf83, '0000-00-00 00:00:00', 0x3031), (5, 0xe68b94e6ada5e5a4a9e9be992ee5b89de59bbde781b5e4b9b0, 0xe79a87e5b89d, '0000-00-00 00:00:00', 0x3038);
Possible file upload attack!
Here is some more debugging info:Array
(
[userfile] => Array
(
[name] => hope.sql
[type] => text/plain
[tmp_name] => C:\WINDOWS\Temp\php5A.tmp
[error] => 0
[size] => 1336
)
)
我在E:/www/uploads里看什么都没有,连这个文件夹都没建立  :@
[ 本帖最后由 manx00 于 2008-6-4 13:53 编辑 ]
|