这是书本上的上传文件的例子,为什么运行有错误?? 什么错误?文件上传看这里http://cn.php.net/manual/zh/features.file-upload.php 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我都是用自己写的类的:class DB{ /* host name * @var: string */ var $_host = ''; /* username * @var: string */ var $_user = ''; /* password * @var: string */ var $_pass = ''; /* database name * @var: string */ var $_db = ''; /* debugging true or false: default false */ var $debugging = false; /* * construct function */ function DB() { global $Config; $this->_host = $Config['MysqlHostname']; $this->_user = $Config['MysqlUsername']; $this->_pass = $Config['MysqlPassword']; $this->_db = $Config['MysqlDatabase']; } /* * Debug function */ function debug($str, $file, $line) { if ($this->debugging) { if (is_array($str)) { print_r($str); } else { $debug = "Debug Info: $str (<font color=#0000FF>$file</font> ". "on line <font color=#FF0000>$line</font>)<br>\n"; print($debug); } } } /* * Error function */ function error($str, $file, $line) { die("Fatal error:<font color=#FF0000>$str</font> (<font color=#0000FF>$file</font> ". "on line <font color=#FF0000>$line</font>)<br>\n"); } /* Connect to the Mysql Server */ function connect() { $host = $this->_host; $link = mysql_connect( $host, $this->_user, $this->_pass ); $this->debug("Host = $host, user = {$this->_user}, pass = {$this->_pass}", __FILE__, __LINE__); if (!$link) { // mysql connection error $this->error(mysql_error(), __FILE__, __LINE__); } $this->debug("db = {$this->_db}", __FILE__, __LINE__); $db_selected = mysql_select_db($this->_db, $link); if (!$db_selected) { $this->error(mysql_error(), __FILE__, __LINE__); } return $link; } /* * excute sql query */ function execute($query) { $this->debug("SQL = $query", __FILE__, __LINE__); $link = $this->connect(); if ($link) { $res = mysql_query($query, $link); mysql_close($link); } else { $this->error(mysql_error(), __FILE__, __LINE__); } if (!$res) { $this->error(mysql_error(), __FILE__, __LINE__); } else { return $res; } } /* * get data set function */ function getset($query) { $res = $this->execute($query); if ($res) { $row = mysql_fetch_array($res, MYSQL_ASSOC); if (!$row) { $this->debug("empty set", __FILE__, __LINE__); } $i = 0; while ($row) { $this->debug($row, __FILE__, __LINE__); for ($n = 0; $n < mysql_num_fields($res); $n++) { $name = mysql_field_name($res, $n); //$this->debug("name=$name", __FILE__, __LINE__); $rowset[$i][$n] = $row["$name"]; $rowset[$i]["$name"] = $row["$name"]; } $row = mysql_fetch_array($res, MYSQL_ASSOC); $i ++; } } $this->debug("Get <b>$i</b> records", __FILE__, __LINE__); $this->debug($rowset, __FILE__, __LINE__); return $rowset; } /**/} 错误是说没有定义$userfile,这应该是HTML用POST传递过来的吧,那么PHP该怎么接住这个变量?(用$_POST[]好像不行啊) <?if ($_POST){$uploaddir = './datafile/';$uploadfile = $uploaddir.$_FILES['userfile']['name'];echo $uploadfile;echo "<br>";echo $_FILES['userfile']['tmp_name'];echo "<br>";echo $uploaddir . $_FILES['userfile']['name'];print "<pre>";if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) { print "File is valid, and was successfully uploaded. Here's some more debugging info:\n"; print_r($_FILES);} else { print "Possible file upload attack! Here's some debugging info:\n"; print_r($_FILES);}print "</pre>";}else{?><form enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF']?>" method="post"><input type="hidden" name="MAX_FILE_SIZE" value="100000" />Send this file: <input name="userfile" type="file" /><input type="submit" value="Send File" /></form><?}?> surfchen(冲浪)你好,你是否可以留下QQ我有些问题还是不太明白,想请教请教你 我查手册知道$_FILES是自动全局变量,如何区分自动全局变量,超全局变量,全局变量? 使用冲浪的代码我的运行结果如下,是否意味着上传失败?./datafile/002.jpg./datafile/002.jpgPossible file upload attack! Here's some debugging info:Array( [userfile] => Array ( [name] => 002.jpg [type] => [tmp_name] => [error] => 2 [size] => 0 )) 在同目录下建立一个datafile的文件夹先 婚恋网用什么开源产品最好呢? 带参数的首页 php +mysql 出现乱码 1500字左右的文章 部分为乱码 PHP多张图片的生成并输出显示 Apache Alias 映射局域网目录问题 php中可以对mssql事物进行控制吗? php新人求助 做过Flash Action的进来报个名,留下你们的Msn和我联系 调用webservice问题 求助 php sleep PHP的网站统计系统,100分相赠 在mysql 4.1.8里执行左连接出错
{
/* host name
* @var: string
*/
var $_host = ''; /* username
* @var: string
*/
var $_user = ''; /* password
* @var: string
*/
var $_pass = ''; /* database name
* @var: string
*/
var $_db = ''; /* debugging true or false: default false */
var $debugging = false; /*
* construct function
*/
function DB()
{
global $Config;
$this->_host = $Config['MysqlHostname'];
$this->_user = $Config['MysqlUsername'];
$this->_pass = $Config['MysqlPassword'];
$this->_db = $Config['MysqlDatabase'];
} /*
* Debug function
*/
function debug($str, $file, $line)
{
if ($this->debugging)
{
if (is_array($str))
{
print_r($str);
} else {
$debug = "Debug Info: $str (<font color=#0000FF>$file</font> ".
"on line <font color=#FF0000>$line</font>)<br>\n";
print($debug);
}
}
} /*
* Error function
*/
function error($str, $file, $line)
{
die("Fatal error:<font color=#FF0000>$str</font> (<font color=#0000FF>$file</font> ".
"on line <font color=#FF0000>$line</font>)<br>\n");
} /* Connect to the Mysql Server */
function connect()
{
$host = $this->_host;
$link = mysql_connect( $host, $this->_user, $this->_pass );
$this->debug("Host = $host, user = {$this->_user}, pass = {$this->_pass}",
__FILE__, __LINE__);
if (!$link)
{
// mysql connection error
$this->error(mysql_error(), __FILE__, __LINE__);
} $this->debug("db = {$this->_db}", __FILE__, __LINE__);
$db_selected = mysql_select_db($this->_db, $link);
if (!$db_selected)
{
$this->error(mysql_error(), __FILE__, __LINE__);
}
return $link;
} /*
* excute sql query
*/
function execute($query)
{
$this->debug("SQL = $query", __FILE__, __LINE__);
$link = $this->connect();
if ($link)
{
$res = mysql_query($query, $link);
mysql_close($link);
} else {
$this->error(mysql_error(), __FILE__, __LINE__);
} if (!$res)
{
$this->error(mysql_error(), __FILE__, __LINE__);
} else {
return $res;
}
} /*
* get data set function
*/
function getset($query)
{
$res = $this->execute($query);
if ($res)
{
$row = mysql_fetch_array($res, MYSQL_ASSOC);
if (!$row)
{
$this->debug("empty set", __FILE__, __LINE__);
}
$i = 0;
while ($row)
{
$this->debug($row, __FILE__, __LINE__);
for ($n = 0; $n < mysql_num_fields($res); $n++)
{
$name = mysql_field_name($res, $n);
//$this->debug("name=$name", __FILE__, __LINE__);
$rowset[$i][$n] = $row["$name"];
$rowset[$i]["$name"] = $row["$name"];
}
$row = mysql_fetch_array($res, MYSQL_ASSOC);
$i ++;
}
}
$this->debug("Get <b>$i</b> records", __FILE__, __LINE__);
$this->debug($rowset, __FILE__, __LINE__); return $rowset;
} /**/
}
if ($_POST)
{
$uploaddir = './datafile/';
$uploadfile = $uploaddir.$_FILES['userfile']['name'];
echo $uploadfile;
echo "<br>";
echo $_FILES['userfile']['tmp_name'];
echo "<br>";
echo $uploaddir . $_FILES['userfile']['name'];
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
print "File is valid, and was successfully uploaded. Here's some more debugging info:\n";
print_r($_FILES);
} else {
print "Possible file upload attack! Here's some debugging info:\n";
print_r($_FILES);
}
print "</pre>";
}
else
{?>
<form enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF']?>" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form><?
}
?>
Possible file upload attack! Here's some debugging info:
Array
(
[userfile] => Array
(
[name] => 002.jpg
[type] =>
[tmp_name] =>
[error] => 2
[size] => 0
))