PHP文件不会正确传递Wordpress变量

时间:2013-02-27 04:25:33

标签: php wordpress uploadify

有一个非常奇怪的问题,无法弄清楚。我正在使用'UPLOADIFY'从小型网络应用上传图片。它工作了好几个月,然后突然停止工作。理想情况下,我想获取登录的Wordpress用户的用户名并将其添加到图像文件名。

以下是我的uploadify文件的一部分:

<?php
include_once($_SERVER['DOCUMENT_ROOT'] .'/wp-config.php');
include_once($_SERVER['DOCUMENT_ROOT'] .'/wp-load.php');
include_once($_SERVER['DOCUMENT_ROOT'] .'/wp-includes/wp-db.php');
global $user_login , $user_email;
      get_currentuserinfo();

$variableuser_id = $user_login;
$ses_id = $variableuser_id;
$ses_id = "1" . $ses_id . "z";
echo "This is a test " . $ses_id;

然后在uploadify中我有:

if (!empty($_FILES)) {
    $tempFile = $_FILES['Filedata']['tmp_name'];
    $targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
    $targetFile = rtrim($targetPath,'/') . '/' . $ses_id . "-" . str_replace(" ", "", $_FILES['Filedata']['name']);

所以...当我使用uploadify上传图片时,它不会将用户名添加到图片名称中,它会在文件名中添加“1”和“z”,但在中间完全没有用户名

如果我在浏览器中定期启动uploadify.php文件,它将显示“这是一个测试1adminz”,因为它应该以管理员身份登录。有任何想法吗?我很难过!顺便说一下,我知道$ ses_id不是理想的varname,但是当我有一个名为的会话ID时,它只是在我的代码中继承。

2 个答案:

答案 0 :(得分:1)

而不是

global $user_login , $user_email;
      get_currentuserinfo();

使用

global $current_user;
get_currentuserinfo()
$user_login = $current_user->user_login;
$user_email = $current_user->user_email;

供参考,请参阅http://codex.wordpress.org/Function_Reference/get_currentuserinfo

答案 1 :(得分:0)

好的,我真的无法解释这一点,但我找到了一个解决方案,可以在几个不同的服务器上修复每个安装的uploadify。

采取这一行

$targetFile = rtrim($targetPath,'/') . '/' . $ses_id . "-" . str_replace(" ", "", $_FILES['Filedata']['name']);

然后评论了一半

$targetFile = rtrim($targetPath,'/') . '/' . $ses_id . "-"; // . str_replace(" ", "", $_FILES['Filedata']['name']);

令人惊讶的是,它现在使用$ ses_id变量和&#39; - &#39;重命名已上传的图像。显然没有图像后缀。

所以对于它的地狱,我取消注释了结束部分,并且低,并且看到它工作!心烦意乱!

这对我没有意义,但在多台服务器上解决了!