最近、初めて PHP を使用して Web サイトを作成しました。さまざまなチュートリアルを使用して、設定された場所に保持されている画像を自動的に取得し、サムネイルが存在しない場合はサムネイルを作成するギャラリー スクリプトを作成しました。
これで、画像をプルするのと同じようにアップロードが正常に機能しますが、何らかの理由でスクリプトが画像のサイズを変更しません! これは本当に私を困惑させ始めています.phpを使用したことがないので、完全に途方に暮れています. 以下の私のスクリプト
<?php
# SETTINGS
$max_width = 100;
$max_height = 100;
function getPictureType($ext) {
if ( preg_match('/jpg|jpeg/i', $ext) ) {
return 'jpg';
} else if ( preg_match('/png/i', $ext) ) {
return 'png';
} else if ( preg_match('/gif/i', $ext) ) {
return 'gif';
} else {
return '';
}
}
function getPictures() {
global $max_width, $max_height;
if ( $handle = opendir("Design/Images/Gallery/") ) {
$lightbox = rand();
echo '<div id="gallery"><ul>';
while ( ($file = readdir($handle)) !== false ) {
if ( !is_dir($file) ) {
$split = explode('.', $file);
$ext = $split[count($split) - 1];
if ( ($type = getPictureType($ext)) == '' ) {
continue;
}
if ( ! is_dir('Design/Images/Gallery/thumbs') ) {
mkdir('Design/Images/Gallery/thumbs');
}
if ( ! file_exists('Design/Images/Gallery/thumbs/'.$file) ) {
if ( $type == 'jpg' ) {
$src = imagecreatefromjpeg($file);
} else if ( $type == 'png' ) {
$src = imagecreatefrompng($file);
} else if ( $type == 'gif' ) {
$src = imagecreatefromgif($file);
}
if ( ($oldW = imagesx($src)) < ($oldH = imagesy($src)) ) {
$newW = $oldW * ($max_width / $oldH);
$newH = $max_height;
} else {
$newW = $max_width;
$newH = $oldH * ($max_height / $oldW);
}
$new = imagecreatetruecolor($newW, $newH);
imagecopyresampled($new, $src, 0, 0, 0, 0, $newW, $newH, $oldW, $oldH);
if ( $type == 'jpg' ) {
imagejpeg($new, 'Design/Images/Gallery/thumbs/'.$file);
} else if ( $type == 'png' ) {
imagepng($new, 'Design/Images/Gallery/thumbs/'.$file);
} else if ( $type == 'gif' ) {
imagegif($new, 'Design/Images/Gallery/thumbs/'.$file);
}
imagedestroy($new);
imagedestroy($src);
}
echo '<li><a href="Design/Images/Gallery/'.$file.'" rel="lightbox['.$lightbox.']">';
echo '<img src="Design/Images/Gallery/thumbs/'.$file.'" alt="" />';
echo '</a></li>';
}
}
echo '</ul></div>';
}
}
?>
エラーは私のパスに関係していると思いますが、よくわかりません。誰かがこれに光を当てることができますか????