我一直在尝试各种方法来将文件上传到wordpress网站上载目录(我现在已授予它777权限,以确保不会出现权限问题)。我有一个放置代码的自定义php插件。
我尝试使用wordpress函数,但它们似乎不起作用。
因此,现在我在php中获得了一段代码,该代码应处理文件上传(由表单提交)。
这是我的处理代码:
//image upload handling
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["editfile"]["name"]);
$extension = end($temp);
if ((($_FILES["editfile"]["type"] == "image/gif")
|| ($_FILES["editfile"]["type"] == "image/jpeg")
|| ($_FILES["editfile"]["type"] == "image/jpg")
|| ($_FILES["editfile"]["type"] == "image/pjpeg")
|| ($_FILES["editfile"]["type"] == "image/x-png")
|| ($_FILES["editfile"]["type"] == "image/png"))
&& ($_FILES["editfile"]["size"] < 5000000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["editfile"]["error"] > 0)
{
$tim_core_edit_company_page .= "Return Code: " . $_FILES["editfile"]["error"] . "<br>";
}
else
{
$tim_core_edit_company_page .= "Upload: " . $_FILES["editfile"]["name"] . "<br>";
$tim_core_edit_company_page .= "Type: " . $_FILES["editfile"]["type"] . "<br>";
$tim_core_edit_company_page .= "Size: " . ($_FILES["editfile"]["size"] / 1024) . " kB<br>";
$tim_core_edit_company_page .= "Temp file: " . $_FILES["editfile"]["tmp_name"] . "<br>";
if (file_exists(wp_upload_dir() . $_FILES["editfile"]["name"]))
{
$tim_core_edit_company_page .= $_FILES["editfile"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["editfile"]["tmp_name"],
"upload/" . $_FILES["editfile"]["name"]);
$tim_core_edit_company_page .= "Stored in: " . "upload/" . $_FILES["editfile"]["name"];
}
}
}
else
{
$tim_core_edit_company_page .= "Invalid file";
}
这是用于提交文件的表格:
<form action="' . site_url('/edit-company/?cid=' . $_GET['cid']
. '&lid=' . $_GET['lid']
. '&cname=' . $_GET['cname'] . '&editcompany=1&todb=1' ) . '" method="post">
<label><b>Company Name:</b></label> <input type="text" name="editname" value="' . $company->company_name . '">
<label><b>Address:</b></label> <input type="text" name="editaddress" value="' . $company->company_address . '">
<label><b>Telephone:</b></label> <input type="text" name="edittelephone" value="' . $company->company_telephone . '">
<label><b>Fax:</b></label> <input type="text" name="editfax" value="' . $company->company_fax . '">
<label><b>Email:</b></label> <input type="text" name="editemail" value="' . $company->company_email . '">
<label><b>Website:</b></label> <input type="text" name="editwebsite" value="' . $company->company_website . '">
<label><b>Logo:</b></label> <input type="file" name="editfile" id="file">
<input type="submit" value="Submit">
</form>
我得到的响应是“无效文件”。我累了上传各种图像,结果总是一样。
有谁知道是什么原因造成的?
更新:
我按照建议将enctype =“ multipart / form-data”添加到表单中,显然无效文件错误现在消失了。但是,我仍然看不到wp-content / uploads目录中的上载。我看到它已被最后修改,所以脚本确实以某种方式对其进行了修改,但是我看不到任何实际上传的文件。我认为这可能与wordpress处理上载目录有关。
您必须enctype="multipart/form-data"
在form标记中添加该属性才能使用该表单发送文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句