2013-03-07 103 views
0

我正嘗試使用以下腳本上傳圖片。將網站移動到新服務器後,上傳圖片不起作用

我們的舊服務器完全沒有問題。只要我將網站遷移到windows 2012,iis 8,php 5.2(相同版本),我們一直無法得到這個工作。

不幸的是,我們已經發送了數小時嘗試啓用PHP日誌記錄而沒有成功。

我懷疑問題是有權限。

question 要使用下面的腳本,需要什麼權限?我立刻爲一個可怕的問題道歉,但我對PHP的知識很少,我需要指導開始嘗試解決這個問題。

<?php 

include '../Check.php'; 

function cropImage($nw, $nh, $source, $stype, $dest) { 

    $size = getimagesize($source); 
    $w = $size[0]; 
    $h = $size[1]; 

    switch($stype) { 
     case 'gif': 
     $simg = imagecreatefromgif($source); 
     break; 
     case 'jpg': 
     $simg = imagecreatefromjpeg($source); 
     break; 
     case 'png': 
     $simg = imagecreatefrompng($source); 
     break; 
    } 

    $dimg = imagecreatetruecolor($nw, $nh); 

    $wm = $w/$nw; 
    $hm = $h/$nh; 

    $h_height = $nh/2; 
    $w_height = $nw/2; 

    if($w> $h) { 

     $adjusted_width = $w/$hm; 
     $half_width = $adjusted_width/2; 
     $int_width = $half_width - $w_height; 

     imagecopyresampled($dimg,$simg,-$int_width,0,0,0,$adjusted_width,$nh,$w,$h); 

    } elseif(($w <$h) || ($w == $h)) { 

     $adjusted_height = $h/$wm; 
     $half_height = $adjusted_height/2; 
     $int_height = $half_height - $h_height; 

     imagecopyresampled($dimg,$simg,0,-$int_height,0,0,$nw,$adjusted_height,$w,$h); 

    } else { 
     imagecopyresampled($dimg,$simg,0,0,0,0,$nw,$nh,$w,$h); 
    } 

    imagejpeg($dimg,$dest,100); 
} 



// JQuery File Upload Plugin v1.4.1 by RonnieSan - (C)2009 Ronnie Garcia 
if (!empty($_FILES)) { 
// $filename = $_FILES['Filedata']['tmp_name']; 
// $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_GET['path'] . '/'; 
// $filename2 = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name']; 
// 
// // Uncomment the following line if you want to make the directory if it doesn't exist 
// // mkdir(str_replace('//','/',$targetPath), 0755, true); 
// 
// move_uploaded_file($filename,$filename2); 




       $imagename = $_FILES['Filedata']['name']; 
       $source = $_FILES['Filedata']['tmp_name']; 
       $target = "../Account/uploadimages/".$imagename; 
       move_uploaded_file($source, $target); 

       $imagepath = $imagename; 

       //Save Original 

       $save = "../Account/uploadimages/" . $USR_ID . ".jpg" ; //This is the new file you saving 
       $file = "../Account/uploadimages/" . $imagepath; //This is the original file 

       list($width, $height) = getimagesize($file) ; 

       $modwidth = 500; 
       $modheight = 500; 

       $diff = $width/$modwidth; 

       $modheight = $height/$diff; 
       $tn = imagecreatetruecolor($modwidth, $modheight) ; 
       $image = imagecreatefromjpeg($file) ; 
       imagecopyresampled($tn, $image, 0, 0, 0, 0, $modwidth, $modheight, $width, $height) ; 

       imagejpeg($tn, $save, 100) ; 

       //Save Small Version  

       $save = "../Account/profile_small/" . $USR_ID . ".jpg" ; //This is the new file you saving 
       $file = "../Account/uploadimages/" . $USR_ID . ".jpg" ; //This is the original file 

       list($width, $height) = getimagesize($file) ; 

       $modwidth = 225; 

       $diff = $width/$modwidth; 

       $modheight = $height/$diff; 
       $tn = imagecreatetruecolor($modwidth, $modheight) ; 
       $image = imagecreatefromjpeg($file) ; 
       imagecopyresampled($tn, $image, 0, 0, 0, 0, $modwidth, $modheight, $width, $height) ; 

       imagejpeg($tn, $save, 100) ; 



       //Save Square Version 

       $save = "../Account/profile_square/" . $USR_ID . ".jpg"; //This is the new file you saving 
       $file = "../Account/uploadimages/" . $USR_ID . ".jpg" ; //This is the original file 

       cropImage(60, 60, $file, 'jpg', $save); 

      include '../khhCustomConnect.php'; 
//Set their USR_HasImage to 1 on their associate profile so that it checks before trying to display profile photo. 
      $update_hasimage = mssql_query("UPDATE Associate SET USR_HasImage = '1' WHERE USR_ID = '$USR_ID'") or die ("Error - No option deleted"); 


//Send email to helpdesk 
    //Get User that submitted email address for from address 
    $emaillookup = mssql_query("Select * FROM Associate Where USR_ID = '$USR_ID'"); 
    $USR_Email = mssql_result($emaillookup,0,'USR_Email'); 
    $USR_First = mssql_result($emaillookup,0,'USR_First'); 
    $USR_Last = mssql_result($emaillookup,0,'USR_Last'); 


//Start Menu Permission Detail - Change Variable and Title. 


// Email will go to their Email. 
$to = '[email protected]'; // note the comma 

// subject 
$subject = $USR_First . ' ' . $USR_Last . ' - New Picture Uploaded'; 

// message 
$message = ' 
' . $USR_First . ' ' . $USR_Last . ' has changed their photo on khhConnect. Please upload to AD. Here is link to image: http://xx/xx/Account/profile_small/' . $USR_ID . '.jpg 

<br /><a href="http://xx/xx/Account/profile_small/' . $USR_ID . '.jpg">http://xx/xx/Account/profile_small/' . $USR_ID . '.jpg</a><br><br> 


<img src="http://xx/xx/Account/profile_small/' . $USR_ID . '.jpg"><img /> 


'; 

// To send HTML mail, the Content-type header must be set 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

// Additional headers 
$headers .= 'From: ' . $USR_First . ' ' . $USR_Last . ' <' . $USR_Email . '>' . "\r\n"; 

// Mail it 
mail($to, $subject, $message, $headers) or exit("could not send"); 



} 

echo '1'; // Important so upload will work on OSX 
?> 
+0

上傳的任何錯誤?可能要檢查服務器日誌 – Eldar 2013-03-07 23:16:38

+0

@Eldar無法找到服務器日誌 – 2013-03-07 23:17:48

+0

@Eldar發生的唯一情況是頁面被刷新 – 2013-03-07 23:18:05

回答

1

你可能要檢查如果發現臨時文件夾中上傳的文件,可能需要增加IUSR_MACHINENAME或IUSR_MYMACHINENAME帳戶寫入權限,並指定你想,如果文件沒有被上傳到寫一個文件夾。

+0

你是指文學上的「IUSR_MACHINENAME」還是IUSR_MYMACHINENAME? – 2013-03-07 23:20:42

+0

你是對的!它只是需要添加的本地計算機上的IUSR – 2013-03-28 17:11:47

相關問題