使用php创建缩略图 - 写入权限

时间:2012-07-24 15:44:14

标签: php image gd

编辑:问题解决了: 我是愚蠢的小屁股,我忽略了给文件命名。 $ testSiteDir是一个没有文件名的路径。如何在没有名字的情况下保存文件! d'哦! 对不起;)


我知道周围有很多类似的问题,而且我一直在阅读它们,但是因为我必须构建所有教程和文章的混合体得到了一些我希望可以工作的代码,但是没有。

我曾经做过一次设法创建图像的副本到我想要的文件夹中使用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);
}

}

当我尝试使用上述内容时,我收到的错误是我没有权限写入该文件夹:无法打开&#39; C:/ xampp / htdocs / test&#39;写作:允许在...中被拒绝

我有三本教科书并阅读了大量关于图像和php的文章,我还没有看到它告诉我该怎么做

出了什么问题:)

1 个答案:

答案 0 :(得分:0)

在Windows上设置写入权限可能不那么明显。

尝试使用这些说明http://drupal.org/node/202491,看看你是如何继续的。

如果您使用Xampp作为PHP安装,它通常似乎通过htdocs的整个目录结构传播写权限。非常便利。不知道为什么它没有为你做。

编辑:刚刚注意到Drupal页面与IIS有关。也许这会更好...... Apache on windows server can't write to file