PHP:文件上传脚本和移动上传文件
我正在用PHP创建一个简单的文件上传脚本来上传XML文件(实际上是一个WordPress插件),我怀疑我在将文件从临时文件夹传递到指定文件夹时遇到了问题。完整的脚本如下所示,脚本实际运行并成功,echo语句PHP:文件上传脚本和移动上传文件,php,file-upload,php-5.6,Php,File Upload,Php 5.6,我正在用PHP创建一个简单的文件上传脚本来上传XML文件(实际上是一个WordPress插件),我怀疑我在将文件从临时文件夹传递到指定文件夹时遇到了问题。完整的脚本如下所示,脚本实际运行并成功,echo语句“文件”。basename($_文件[“上载”][“名称”])。“已上载。”;显示。但是,XML文件从未出现在目标目录中。有趣的是,如果我尝试两次上传同一个文件,if语句返回的结果表明该文件已经存在,并且返回true。抱歉,如果这是一个明显的问题,我对PHP非常陌生 $target_dir =
“文件”。basename($_文件[“上载”][“名称”])。“已上载。”
;显示。但是,XML文件从未出现在目标目录中。有趣的是,如果我尝试两次上传同一个文件,if语句返回的结果表明该文件已经存在,并且返回true。抱歉,如果这是一个明显的问题,我对PHP非常陌生
$target_dir = "/user1/caravans/public_html/wordpress/wp-content/uploads/wpallimport/files";
(upload) from the form
$target_file = $target_dir . basename($_FILES["upload"]["name"]);
$success = 1;
$type = pathinfo($target_file,PATHINFO_EXTENSION);
if((!empty($_FILES["upload"])))
{
if (file_exists($target_file)) {
echo "Sorry, file already exists, please archive or remove existing xml files before uploading a new file.";
$success = 0;
}
if ($_FILES["upload"]["size"] > 500000) {
echo "Sorry, your file is too large.";
$success = 0;
}
if($type != "xml")
{
echo "Only XML file types are allowed";
$success = 0;
}
if ($success == 0)
{
echo "Error uploading.";
}
else
{
if (move_uploaded_file($_FILES["upload"]["tmp_name"], $target_file))
{
echo "The file ". basename( $_FILES["upload"]["name"]). " has been uploaded.";
}
else
{
echo "Sorry, there was an error uploading your file.";
}
}
}
else
{
echo "Please upload a file!";
}
问题在$target_dir路径中。根目录路径错误。使用$\u服务器['DOCUMENT\u ROOT'] 换行
$target_dir = "/user1/caravans/public_html/wordpress/wp-content/uploads/wpallimport/files";
到
这样,所有文件都将上载到“文件”目录
现在文件被上传到错误的目录中。这就是为什么你们不能在文件目录中看到它们
在Linux服务器(Ubuntu,CentOS)中,用户目录不是根目录。它存在于“home”目录下。但它可能因LINUX的风格和版本而异
echo $_SERVER['DOCUMENT_ROOT'];
这将帮助您找到根目录
echo $_SERVER['DOCUMENT_ROOT'];