Windows 7 WAMP上的file_puts_content权限被拒绝

时间:2014-05-27 15:53:20

标签: php permissions wamp

我正在尝试使用本地网站上的file_put_contents从网站下载一些图像并将其保存到C:\驱动器。但是在运行脚本时出现错误

file_put_contents(C:\product_images\A): failed to open stream: Permission denied

我拥有product_images文件夹以及里面的A文件夹的完全权限。

我知道我可以在ubuntu中使用chmod,但不确定我能用Windows做什么。我只是右键单击并选择了属性,并确保所有用户都已应用了所有权限

    public function showImage() {

    $product_image = ['/ABCD/ABCD.jpg','/ABCDE/ABCDE.jpg'];

    foreach($product_image as $product_images) {
        $url = "http://images.url.com/product_images" . $product_images  ."";
        $letter = substr($product_images, 1, 1);
        $folder = 'C:\product_images\ ' .$letter . '';
        $new_folder = str_replace(' ', '', $folder);
        file_put_contents($new_folder, file_get_contents($url));
    }

    $success = "Success!";

    return $success;
}

2 个答案:

答案 0 :(得分:0)

file_put_contents仅在allow_url_fopen开启时才使用网址(“1”)。用

检查
ini_get("allow_url_fopen");

另请注意,虽然您的书写文件夹可能具有所需权限,但父文件夹可能。两个(可能的)文件夹都应具有权限。

如果文件夹可写(通过is_writable

,您也可以对其进行测试

答案 1 :(得分:0)

    foreach($product_image as $product_images) {
        $url = "http://images.com/product_images" . $product_images  ."";

        $test = explode("/", $product_images);

        $folder = 'C:\product_images\ ' . $test[2] . '';

        $new_folder = str_replace(' ', '', $folder);

        $newer_folder = str_replace('/', '\\', $new_folder);

        file_put_contents($newer_folder, file_get_contents($url));

        echo '../product_images/' . $test[2] . '';
        echo '<br />';
    }