0

編集:問題は解決しました:私は愚かなことですが、ファイルに名前を付けることを怠っていました。$ 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に関するたくさんの記事を読んでいますが、それが何をすべきかを教えてくれるところはどこにも見当たりません。

何が問題になっていますか:)

4

1 に答える 1

0

Windows で書き込み権限を設定することは、それほど明白ではない場合があります。

これらの手順http://drupal.org/node/202491を試して、うまくいく方法を確認してください。

Xampp を PHP インストールとして使用する場合、通常、htdocs のディレクトリ構造全体に書き込み権限が伝達されるようです。とても便利な。なぜそれがあなたのためにそれをしなかったのか分かりません。

編集: Drupal ページが IIS に関連していることに気付きました。多分これは良くなるでしょう... Windowsサーバー上のApacheはファイルに書き込めません

于 2012-07-24T15:51:25.167 に答える