2013-01-31 44 views
0

我與用戶照片 然後將圖像是保存到數據庫中與BLOBWPDB WordPress的顯示圖像錯誤

當即時通訊將獲得的圖像,以它不幹活數據庫中創建插件。

我的代碼 用戶management.php

<table cellpadding="5" cellspacing="0"> 
    <thead> 
    <tr> 
     <th>Username</th> 
     <th>Email</th> 
     <th>First Name</th> 
     <th>Middle Name</th> 
     <th>Last Name</th> 
     <th>Status</th> 
     <th>Photo</th> 
     <th>Date</th> 
     <th>Option</th> 
    </tr> 
    </thead> 
    <tbody> 
<?php 
global $wpdb; 
$myadmin = $wpdb->get_results("SELECT * FROM jon_admin"); 
$color1 = "#F8F8F8"; 
$color2 = "#FFFFFF"; 
$row_count = 0; 
foreach ($myadmin as $admin) { 
    $myadminphoto = $wpdb->get_row("SELECT * FROM jon_admin_photo WHERE user_login = '".$admin->user_login."' "); 
$row_color = ($row_count % 2) ? $color1 : $color2; 
    ?> 
     <tr> 
      <td style="background-color:<? echo $row_color; ?>"><?php echo $admin->user_login; ?></td> 
      <td style="background-color:<? echo $row_color; ?>"><?php echo $admin->email; ?></td> 
      <td style="background-color:<? echo $row_color; ?>"><?php echo $admin->fname; ?></td> 
      <td style="background-color:<? echo $row_color; ?>"><?php echo $admin->mname; ?></td> 
      <td style="background-color:<? echo $row_color; ?>"><?php echo $admin->lname; ?></td> 
      <td style="background-color:<? echo $row_color; ?>"><?php echo $admin->user_status; ?></td> 
      <td style="background-color:<? echo $row_color; ?>"> 
      <img src="<?php echo plugins_url('photo.php', __FILE__); ?>?pid=<?php echo $myadminphoto->apid; ?>&img=adminphoto" />    </td> 
      <td style="background-color:<? echo $row_color; ?>"><?php echo $admin->date; ?></td> 
      <td style="background-color:<? echo $row_color; ?>">edit view delete</td> 
     </tr> 
<?php 
$row_count++; 
}  
?> 
    </tbody> 
</table> 

如果你看到這條線<img src="<?php echo plugins_url('photo.php', __FILE__); ?>?pid=<?php echo $myadminphoto->apid; ?>&img=adminphoto" /> IM通過調用另一頁是photo.php

然後photo.php的文件是圖像這

if ($_GET['img'] == 'adminphoto') { 
    global $wpdb; 
     ## VIEW ADMIN PHOTO 
     $id = $_GET['pid']; 
     $get_photo = $wpdb->get_row("SELECT * FROM jon_admin_photo WHERE apid = '".$id."'"); 

      $content = $get_photo->image; 
      $filetype = $get_photo->imgcode; 
      header('Content-type: $filetype'); 
      echo $content; 

    } 

你走了,沒有圖像顯示也沒有錯誤顯示。

但是當我做這樣的事情, 我拿到照片的URL,然後它錯誤說 Fatal error: Call to a member function get_row() on a non-object in C:\xampp\htdocs\web\advanced-nanny\wp-content\plugins\jon-user-management\photo.php on line 37

是不是有什麼毛病我的代碼右鍵點擊開新標籤 ?

請告訴我,謝謝...

回答

1

你需要在你的PHP文件中實例化的WordPress。

我認爲這樣做在WordPress,無需破壞你的邏輯最簡單的方法是在你的插件定義一個函數像這樣使用它像一個AJAX調用:

function MY_FUNCTION() { 
    if ($_GET['img'] == 'adminphoto') { 
     global $wpdb; 
     ## VIEW ADMIN PHOTO 
     $id = $_GET['pid']; 
     $get_photo = $wpdb->get_row("SELECT * FROM jon_admin_photo WHERE apid = '".$id."'"); 

      $content = $get_photo->image; 
      $filetype = $get_photo->imgcode; 
      header('Content-type: $filetype'); 
      echo $content; 

    } 
    exit(); 
} 
add_action('wp_ajax_MY_FUNCTION', 'MY_FUNCTION'); 
add_action('wp_ajax_nopriv_MY_FUNCTION', 'MY_FUNCTION');//for users that are not logged in 

然後,你可以這樣調用它:

<img src="<?php echo admin_url('admin-ajax.php'); ?>?action=MY_FUNCTION&pid=<?php echo $myadminphoto->apid; ?>&img=adminphoto" /> 
+0

非常感謝你。 – Butternut