我正嘗試使用以下腳本上傳圖片。將網站移動到新服務器後,上傳圖片不起作用
我們的舊服務器完全沒有問題。只要我將網站遷移到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
?>
上傳的任何錯誤?可能要檢查服務器日誌 – Eldar 2013-03-07 23:16:38
@Eldar無法找到服務器日誌 – 2013-03-07 23:17:48
@Eldar發生的唯一情況是頁面被刷新 – 2013-03-07 23:18:05