简体   繁体   English

将网站移至新服务器后,无法上传图像

[英]after moving website to a new server, uploading images does not work

I am trying to upload an image using the script below. 我正在尝试使用以下脚本上传图像。

We have had no problems at all with our old server. 我们的旧服务器完全没有问题。 As soon as I migrated the site to windows 2012 , iis 8, php 5.2 (same version), we have been unable to get this working. 将网站迁移到Windows 2012 iis 8,php 5.2(相同版本)后,我们一直无法正常工作。

Unfortunately, we have sent hours trying to enable php logging without success. 不幸的是,我们已经花费了数小时试图启用php日志记录而没有成功。

I suspect the issue is with permissions. 我怀疑问题与权限有关。

question To use the script below, what permissions are needed? 问题要使用以下脚本,需要什么权限? I immediately apologize for a horrible question, but my knowledge of php is minimal, and I need guidance on getting started to try to solve this issue. 我立即为一个可怕的问题道歉,但是我对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  = 'helpdesk@khhsl.com'; // 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
?>

您可能想要检查是否在temp文件夹中找到了上载的文件,可能想要添加IUSR_MACHINENAME或IUSR_MYMACHINENAME帐户的写许可权,并指定要在未上传文件的情况下尝试写入的文件夹。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM