我正在尝试从 wordpress 页面的前端上传文件以发送到 wp-content 中的后端 wordpress 目录。我不明白为什么文件没有出现在后端文件夹“上传”中,这是 $target_dir 设置的内容。这是我在一页上的 HTML 表单。
<form action="http://www.aeroex.co.uk/php-upload/" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
上述表单的表单操作页面 www.aeroex.co.uk/php-upload/ 包含以下 PHP 代码:
<?php
$target_dir = "http://www.aeroex.co.uk/home3/dy/public_html/wp-content/uploads";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
?>
原文由 p.luck 发布,翻译遵循 CC BY-SA 4.0 许可协议
pathinfo() 需要路径而不是 URL。
\(target_dir 应该是路径,例如:/home3/dy/public_html/wp-content/uploads。如果您不确定,请检查 \)_SERVER[‘DOCUMENT_ROOT’]。
然后,您就有了要将文件上传到的路径。现在你需要运行: