file_put_contents('image.jpg',file_get_contents('http://img.ruphp.com/php/12f0cc69cd9742faa9c8ee0f7b0d210e.jpg'));
Это работает нормально – сохранить файл в текущей папке, но если я попробую:
file_put_contents('/subfolder/image.jpg',file_get_contents('http://img.ruphp.com/php/12f0cc69cd9742faa9c8ee0f7b0d210e.jpg'));
то у меня ошибка:
не удалось открыть поток: нет такого файла или каталога в
и т.д
Зачем? Как сохранить это в подпапке?
Всегда используйте полные пути и убедитесь, что каталог доступен для записи. Вы также можете использовать copy
напрямую с URL-адресом
$url = 'http://img.ruphp.com/php/12f0cc69cd9742faa9c8ee0f7b0d210e.jpg'; $dir = __DIR__ . "/subfolder"; // Full Path $name = 'image.jpg'; is_dir($dir) || @mkdir($dir) || die("Can't Create folder"); copy($url, $dir . DIRECTORY_SEPARATOR . $name);
Попытайтесь оставить первую косую черту:
file_put_contents('subfolder/image.jpg',file_get_contents('http://img.ruphp.com/php/12f0cc69cd9742faa9c8ee0f7b0d210e.jpg'));
Проверьте права доступа, если это все еще не работает.
Вы должны проверить, если папка выйдет, и если не создать эту папку
$dir_to_save = "/subfolder/"; if (!is_dir($dir_to_save)) { mkdir($dir_to_save); } file_put_contents($dir_to_save.'image.jpg',file_get_contents('http://img.ruphp.com/php/12f0cc69cd9742faa9c8ee0f7b0d210e.jpg'));
также убедитесь, что вы хотите использовать ABSOLUTE_PATH вместо RELATIVE
file_put_contents('../subfolder/image.jpg',file_get_contents('http://img.ruphp.com/php/12f0cc69cd9742faa9c8ee0f7b0d210e.jpg')); add "../" in your string put into the file_put_contents function then it will work fine..
$dir = "folder_name".$filename;
вы можете использовать приведенное выше, чтобы просто поместить содержимое в любой файл любой папки.