我正在构建一个网页,允许用户将多个文件上传到我的Web服务器。这是一个简单的html页面和php脚本。我有php错误,我不知道为什么。非常感谢您的帮助。
这是我的html。
<html>
<head>
<title>File Upload</title>
</head>
<body>
<form enctype="multipart/form-data" action="upload.php" method="POST">
Your Name:
<select name="uname">
<option value="Test">Test</option>
</select>
<br>
Your Company:
<select name="company">
<option value="TestCom">testCompany</option>
</select>
<br>
Choose file(s) to upload (Max 500MB):
<input name="files[]" type="file" id="files" multiple="multiple" />
<input type="submit" name="submit" value="Upload" />
</form>
</body>
</html>
这是我的php
<?php
$uname = $_POST['uname'];
$company = $_POST['company'];
$dir = "D:/File Upload/uploads/$uname/$company/";
$count = 0;
if ($_SERVER['REQUEST_METHOD'] == 'POST' and isset($_FILES['files']))
{
// loop all files
foreach ( $_FILES['files']['name'] as $i => $name )
{
// if file not uploaded then skip it
if ( !is_uploaded_file($_FILES['files']['tmp_name'][$i]) )
continue;
// now we can move uploaded files
if( move_uploaded_file($_FILES["files"]["tmp_name"][$i], $dir . $name) )
$count++;
}
echo json_encode(array('count' => $count));
}
?>
以下是php日志中的错误。
[11-Feb-2015 16:01:04 America/Chicago] PHP Warning: move_uploaded_file(D:/File Upload/uploads/Test/TestCom/image.png): failed to open stream: No such file or directory in D:'File Upload'upload.php on line 17
[11-Feb-2015 16:01:04 America/Chicago] PHP Warning: move_uploaded_file(): Unable to move 'D:'phptempdata'php48F.tmp' to 'D:/File Upload/uploads/Test/TestCom/image.png' in D:'File Upload'upload.php on line 17
原来我并没有在文件系统上实际创建指定的目录。
我一直在努力上传文件,我不停地问文件夹是否真的在那里。
我添加这一行是为了创建文件夹,如果它不存在的话。
if (!file_exists($dir)) { mkdir($dir, 0777, true); }