各位大侠: 最近在做这么一个功能的PHP页面:
1>选择一个文件,然后上传. <BT种子>
2>上传成功后,通过move_uploaded_file函数,放置在指定的目录位置
3>然后通过命令来对该放置在指定目录的文件,进行操作<BT下载>测试代码如下:if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
echo "<br>";
}
if (file_exists("/mnt/sdb/upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"/mnt/sdb/upload/" . $_FILES["file"]["name"]); echo "Stored in: " . "/mnt/sdb/upload/" . $_FILES["file"]["name"];
$mycmd = "/usr/sbin/mybt " . "/mnt/sdb/upload/" . $_FILES["file"]["name"] . " /mnt/sdb/";
exec($mycmd); //此句会出错,提示xxx.torrent不完整,但是如果在命令提示符下单独执行这句话,就没有问题
}?> <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>uploader</title>
</head>
<body><form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:<label>
<input type="file" name="file" id="file" >
<br >
<input type="submit" name="submit" value="Submit" >
</form></body>
</html>
1>选择一个文件,然后上传. <BT种子>
2>上传成功后,通过move_uploaded_file函数,放置在指定的目录位置
3>然后通过命令来对该放置在指定目录的文件,进行操作<BT下载>测试代码如下:if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
echo "<br>";
}
if (file_exists("/mnt/sdb/upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"/mnt/sdb/upload/" . $_FILES["file"]["name"]); echo "Stored in: " . "/mnt/sdb/upload/" . $_FILES["file"]["name"];
$mycmd = "/usr/sbin/mybt " . "/mnt/sdb/upload/" . $_FILES["file"]["name"] . " /mnt/sdb/";
exec($mycmd); //此句会出错,提示xxx.torrent不完整,但是如果在命令提示符下单独执行这句话,就没有问题
}?> <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>uploader</title>
</head>
<body><form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:<label>
<input type="file" name="file" id="file" >
<br >
<input type="submit" name="submit" value="Submit" >
</form></body>
</html>
看看你的apache用户是否有权限执行相关的系统命令。
--------
指点迷津网 http://www.zhidianmijin.com
我没有对此PHP进行设置限制。
另外补充。用copy函数也是不行的。
就是一个页面专门用来上传,并 move_uploaded_file 成功后,马上用exit退出
然后重新在一个页面,执行这条下载的命令,就成功。但是通过在 move_uploaded_file成功后,通过header重定向到这个执行的页面也是不行的,必须要让上传的页面退出后,再执行命令就成功。
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
echo "<br>";
}
$path="/mnt/sdb/upload/" . $_FILES["file"]["name"];
if(!is_dir($path)) {
@mkdir($path, 0777, true);
@chmod($path, 0777);
}
if (move_uploaded_file($_FILES["file"]["tmp_name"],$path){
@chmod($path, 0777);
echo "Stored in: " . $path;
$mycmd = "/usr/sbin/mybt " . $path . " /mnt/sdb/";
exec($mycmd); //此句会出错,提示xxx.torrent不完整,但是如果在命令提示符下单独执行这句话,就没有问题
}?> <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>uploader</title>
</head>
<body><form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:<label>
<input type="file" name="file" id="file" >
<br >
<input type="submit" name="submit" value="Submit" >
</form></body>
</html>
if ($_FILES['file']['size']==filesize($path))