-1

私が達成しようとしているのは、2 つの場所のいずれかからファイルをダウンロードすることです。ファイルが存在しない場合は、別の場所からダウンロードする必要があります。ただし、最初のファイルが存在する場合は、停止して 2 番目のファイルをダウンロードしないようにする必要があります。そうしないと、2 番目のファイルが空のファイルとしてダウンロードされ、最初のファイルが上書きされます。else 値などを使用してこれを行うにはどうすればよいですか?

<?php

$source_file = 'http://somesitehere.tld/' . $_GET["u"] . '.png'; 
$dest_file = '/enter/directory/here/' . $_GET["u"] . '.png';

copy($source_file, $dest_file);

?>
4

1 に答える 1

0

必要に応じて、 file_existsfile_get_contentsまたはfopen関数のいずれかを使用して、このようなものを使用してみましたか。

内部ファイルを使用している場合は、file_exists()を使用してみてください:

if( file_exists( $source_file ) ) { 

copy( $source_file, $dest_file );

} else {

copy( $source_file2, $dest_file2 );

}

外部ファイルを使用している場合は、file_get_contents()を使用してこれを試してください。

if( file_get_contents( $source_file ) ) { 

copy( $source_file, $dest_file );

} else {

copy( $source_file2, $dest_file2 );

}

または、 fopen()を使用して試すこともできます。

if( fopen( $source_file ) ) { 

copy( $source_file, $dest_file );

} else {

copy( $source_file2, $dest_file2 );

}
于 2013-04-14T00:34:44.523 に答える