2013-03-07 121 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

相关问题