0

古いW​​ebサイトのデバッグに問題があります。元のプログラマーは長い間連絡を取り合っておらず、エラーを見つけることができないようです。問題は、ユーザーが画像をアップロードしたときに、それが ftp ディレクトリに作成されないことです。説明、ファイル名などのデータベース値が作成されます。資格情報は正常であり、テスト済みです。

いくつか調べてみたところ、ほとんど同じことを行うスクリプトがいくつか見つかりました。PHP関数はすべてまだ有効であるようです(php.netで検索しました)。だから私は少し途方に暮れています。

このスクリプトは、2 か月前に機能しなくなりました。サーバーに DNS のトラブルがありましたが、解決され、問題ないようです。それが関連しているかどうかはわかりません。

誰かが問題を見つけることができれば、私はそれを大いに感謝します!

    <?php
IF($ResizeAuth != "yes" OR $ItemID2Resize == "") //This page will exit right here unless the Resize Authorization is set to yes, and the New Image variable has some value
{
  exit();
}

ini_set("memory_limit","24M"); //sets the total memory limit to 24 Megabytes just on this page for all of its scripts. The default is only 8M and fails with re-sizing large images.

$connection = mysql_connect("localhost","dbuser-correct","dbpw-correct");
$db = mysql_select_db("databasename-correct",$connection);

$conn_id = ftp_connect("www.correct-domain.com"); 
ftp_login($conn_id, "workingftpusername", "workingftppassword") or die("Could not connect");    

FUNCTION uploadPic($src_img,$dDir,$maxWidth,$maxHeight,$resizeFlag,$tempName)
{

//destination
//(old) $dest = $dDir.$tempName;

//get source dimentions
$src_dims = getImageSize($src_img);

//create appropriate temp image
switch ($src_dims[2]) {
case 1: //GIF
break;

case 2: //JPEG
$srcImage = imageCreateFromJpeg($src_img);
break;

case 3: //PNG
break;

default:
return false;
break;
}

$srcRatio = $src_dims[0]/$src_dims[1]; // width/height ratio
$destRatio = $maxWidth/$maxHeight;

if ($destRatio > $srcRatio) {
$destSize[1] = $maxHeight;
$destSize[0] = $maxHeight*$srcRatio;
}
else {
$destSize[0] = $maxWidth;
$destSize[1] = $maxWidth/$srcRatio;
}

//if set image dimensions are required:
if ($resizeFlag == 1) {
$destSize[0] = $maxWidth;
$destSize[1] = $maxHeight;

}

$thumb_w = $destSize[0];
$thumb_h = $destSize[1];
$dst_img = imageCreateTrueColor($thumb_w,$thumb_h);
imageCopyResampled($dst_img,$srcImage,0,0,0,0,$thumb_w,$thumb_h,$src_dims[0],$src_dims[1]);

switch ($src_dims[2]) {
case 1:
break;
case 2:
#(original) imageJpeg($dst_img, $dest, 75); //75 denotes image quality / compression ratio
$resizedimage = imageJpeg($dst_img, NULL, 75); //75 denotes image quality / compression ratio
break;

case 3:
break;
}
//$y++;
unlink($src_img);

return $resizedimage;

}

######################

$maxImageWidth = 640; //pixels
$maxThumbWidth = 131; //pixels

$ImageName = $ItemID2Resize."_temp1.jpg";
$ThumbName = $ItemID2Resize."_temp2.jpg";
$NewImageName = "Item".$ItemID2Resize.".jpg";
$NewThumbName = "Item".$ItemID2Resize."_thumb.jpg";

$TempImageFile = uploadPic("temp_image_resize/$ImageName","",$maxImageWidth,0,0,"");
$TempImageFile = fopen($TempImageFile,"r");

@ftp_delete($conn_id, "httpdocs/images/Items/$NewImageName"); //deletes the previous jpg referencing the same item if it exsists.
ftp_fput($conn_id, "httpdocs/images/Items/$NewImageName", $TempImageFile, FTP_BINARY);
fclose($TempImageFile);
#ftp_delete($conn_id, "httpdocs/mckadmin/temp_image_resize/$NewImageName");

$TempThumbFile = tmpfile();
uploadPic("temp_image_resize/$ThumbName","",$maxThumbWidth,0,0,$TempThumbFile);
fseek($TempThumbFile,0);
@ftp_delete($conn_id, "httpdocs/images/Items/$NewThumbName"); //deletes the previous jpg referencing the same item if it exsists.
ftp_fput($conn_id, "httpdocs/images/Items/$NewThumbName", $TempThumbFile, FTP_BINARY);
fclose($TempThumbFile);
#ftp_delete($conn_id, "httpdocs/mckadmin/temp_image_resize/$NewThumbName");

######################

$ImagePath4SQL = "http://www.mycopperkettle.com/images/Items/$NewImageName";
$ThumbPath4SQL = "http://www.mycopperkettle.com/images/Items/$NewThumbName";
$CheckExsistingq = mysql_query("SELECT * FROM Product_ImagePaths WHERE ItemID=\"$ItemID2Resize\"");
$CheckExsisting = mysql_num_rows($CheckExsistingq);

IF($CheckExsisting == 0)
{
  mysql_query("INSERT INTO Product_ImagePaths (ItemID,ImagePath,ThumbPath) VALUES (\"$ItemID2Resize\",\"$ImagePath4SQL\",\"$ThumbPath4SQL\")");
}
ELSE
{
  mysql_query("UPDATE Product_ImagePaths SET ImagePath=\"$ImagePath4SQL\", ThumbPath=\"$ThumbPath4SQL\" WHERE ItemID=\"$ItemID2Resize\"");
}

ftp_close($conn_id); //close the FTP connection

?>

再度、感謝します!

~ ペリル博士

4

0 に答える 0