Сохранить файл с файлом_put_contents в папке

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; 

вы можете использовать приведенное выше, чтобы просто поместить содержимое в любой файл любой папки.