2013-06-20 13 views
6
file_put_contents('image.jpg',file_get_contents('http://static.adzerk.net/Advertisers/12f0cc69cd9742faa9c8ee0f7b0d210e.jpg')); 

to ok robocze - zapisz plik w bieżącym folderze, ale gdy próbuję:Zapisz plik z file_put_contents w folderze

file_put_contents('/subfolder/image.jpg',file_get_contents('http://static.adzerk.net/Advertisers/12f0cc69cd9742faa9c8ee0f7b0d210e.jpg')); 

to mam błąd:

failed to open stream: No such file or directory in

itp

dlaczego? Jak mogę zapisać to w podfolderze?

+0

Czy masz prawa do zapisania go w tym folderze? – Robert

+0

Spróbuj usunąć wiodący ukośnik. –

Odpowiedz

10

Zawsze należy stosować pełne ścieżki i upewnij katalog jest zapisywalny. Można również użyć copy bezpośrednio z adresu URL

$url = 'http://static.adzerk.net/Advertisers/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); 
+2

Kiedy używać file_put_contents w tym przykładowym kodzie? – pal4life

6

Spróbuj opuścić pierwszy ukośnik:

file_put_contents('subfolder/image.jpg',file_get_contents('http://static.adzerk.net/Advertisers/12f0cc69cd9742faa9c8ee0f7b0d210e.jpg')); 

sprawdzić prawa dostępu, jeśli to nadal nie działa.

2

Należy sprawdzić, czy w folderze exsits a jeśli nie tworzyć tego folderu

$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://static.adzerk.net/Advertisers/12f0cc69cd9742faa9c8ee0f7b0d210e.jpg')); 

również upewnić się, że chcesz korzystać absolute_path zamiast WZGLĘDNY

1

file_put_contents('../subfolder/image.jpg',file_get_contents('http://static.adzerk.net/Advertisers/12f0cc69cd9742faa9c8ee0f7b0d210e.jpg')); 
 

 
add "../" in your string put into the file_put_contents function then it will work fine..

+0

dodaj wyjaśnienie – HaveNoDisplayName

0
$dir = "folder_name".$filename; 

można użyć wyżej po prostu umieścić zawartość do dowolnego pliku w dowolnym folderze.

Powiązane problemy