0

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

这是我的上传文件的一部分:

<?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 时遗留在我的代码中。

4

2 回答 2

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

于 2013-02-27T05:31:05.780 回答
0

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

走这条线

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

然后评论了一半

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

惊喜惊喜,它现在使用 $ses_id 变量和“-”组合重命名上传的图像。显然没有图像后缀。

所以对于它的地狱,我取消了结尾部分的注释,并且低并且看它工作!大吃一惊!

这对我来说毫无意义,但在多台服务器上解决了!

于 2013-02-28T14:41:53.407 回答