編集:問題は解決しました:私は愚かなことですが、ファイルに名前を付けることを怠っていました。$ testSiteDirは、ファイル名のないパスでした。名前なしでファイルを保存するにはどうすればよいですか?D'Oh!ごめん ;)
似たような質問がたくさんあることを知っていて、それらを読んでいますが、すべてのチュートリアルと記事のハイブリッドを構築する必要があったので、うまくいくと思っていたがうまくいかないコードがあります。
ある時点で、copy()関数を使用して移動したいフォルダーに画像のコピーを作成しましたが、これは機能しました。しかし、サイズを変更したいので、GDを使用する必要があります(私が知る限り)
これが私のコードです:
if (is_dir($BooksDir)) {
if ($dh = opendir($BooksDir)) {
while (($folder = readdir($dh)) !== false) {
$count++;
$exclude = array('.','..','etc.');
if (!in_array($folder, $exclude)){
echo '<div ' . ($count&1 ? 'class="oddrow"' : 'class="evenrow"') . '>';
echo $folder . "<br/>" . $count;
$subDir = $BooksDir . '/' . $folder;
$filesnfolders = scandir($subDir);
foreach ($filesnfolders as $file) {
$ext = pathinfo($file, PATHINFO_EXTENSION);
if ($ext == 'jpg' || $ext == 'jpeg' || $ext == 'png' || $ext == 'gif') {
if ($ext == 'jpg' || $ext == 'jpeg') {
$origimg = imagecreatefromjpeg($subDir. '/' . $file);
$thHeight = 100;
$thWidth = 100;
$mainWidth = imagesx( $origimg );
$mainHeight = imagesy( $origimg );
$myThumbnail = imagecreatetruecolor($thWidth, $thHeight);
imagecopyresampled( $myThumbnail, $origimg, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $mainWidth, $mainHeight );
imagejpeg( $myThumbnail, $testSiteDir );
}
}
}
echo '</div>';
}
}
closedir($dh);
}
}
上記を使用しようとすると、そのフォルダに書き込む権限がないというエラーが表示されます:書き込み用に「C:/ xampp / htdocs / test」を開くことができません:アクセスが拒否されました...
私は3冊の教科書を持っていて、画像とPHPに関するたくさんの記事を読んでいますが、それが何をすべきかを教えてくれるところはどこにも見当たりません。
何が問題になっていますか:)