繁体   English   中英

WP插件图片上传

[英]WP plugin image upload

$pid = $wpdb->insert_id; 
$newname = "$pid.jpg";

$dir = plugin_dir_path( __FILE__ );
    echo "<pre>";
    var_dump($dir);
    echo "</pre><br>";  
move_uploaded_file( $_FILES['fileField']['tmp_name'], "images/$newname");


$message ="directoryBase inserted";

以上是我尝试调试此Wordpress片段的尝试。 基本上,我正在创建人员的迷你目录。

在此代码片段的正上方是我的MYSQLI插入语句,该语句在执行时返回我的$ pid。 ID插入数据库后,当我准备显示图像时(从数据库中调用该行时),我将使用它来匹配并提取url。

通常,我为图像创建一个目录,然后如上所述将它们设置为该目录。 文件夹images /位于插件主目录中。

我遇到的问题是确定move_uploaded_file行。

有没有一种特定的方法可以弄清楚向上或向下移动的距离以找到正确的目录。 我不会抛出任何错误,并且没有按预期向我的自定义插件目录添加任何图像。

我还不完全了解Wordpress,但我确实知道足够多的PHP十分危险。

在将文件移动到任何目录之前,请记住以下步骤:

  1. 检查您要上传的文件类型,例如图像,pdf,word文件等。
  2. 如果需要,请检查文件的大小。
  3. 检查您要上传文件的目录是否存在,确保已从php.ini文件中增加了上传的最大大小
  4. 检查目录的权限

如果以上所有要点都通过,则继续进行move_uploaded_file()
现在,使用脚本检查插件中是否存在images目录或您想存储的位置。

// http://codex.wordpress.org/Function_Reference/plugin_dir_path
$path = plugin_dir_path(__FILE__);
if( ! is_dir($path.'images') ) {
    mkdir($path.'images', 0755);
} 

然后像这样使用move_uploaded_file

// Return true if file moved successfully
if( move_uploaded_file( $_FILES['fileField']['tmp_name'], $path."images/$newname") ) {
}

希望这会帮助你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM