有一个非常奇怪的问题,无法弄清楚。我正在使用'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时,它只是在我的代码中继承。
答案 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;重命名已上传的图像。显然没有图像后缀。
所以对于它的地狱,我取消注释了结束部分,并且低,并且看到它工作!心烦意乱!
这对我没有意义,但在多台服务器上解决了!