簡體   English   中英

PHP文件無法正確通過Wordpress變量

[英]PHP file won't pass Wordpress Variable Properly

有一個很奇怪的問題,無法解決。 我正在使用“ 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文件,它將顯示“ This is a test 1adminz”,因為它應該以admin身份登錄。 有任何想法嗎? 我很沮喪! 順便說一句,我知道$ ses_id不是理想的varname,但是它只是在我有一個名為session的會話ID時才在我的代碼中繼續使用。

代替

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

好的,我真的無法解釋這一點,但是我找到了一個解決方案,該解決方案在幾個不同服務器上的每個安裝中修復了uploadify。

走這條線

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

然后注釋掉一半

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

令人驚訝的是,它現在使用$ ses_id變量和'-'重命名了上傳的圖像。 沒有明顯的圖像后綴。

所以對於它的地獄,我沒有評論結尾部分,並且低估了它的工作! 心靈飛揚!

這對我來說沒有任何意義,但可以在多台服務器上解決!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM