我正在尝试使用本地网站上的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;
}
答案 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 />';
}