2011-06-29 9 views
4

templatesフォルダに、背景テンプレート.jpg(同じフォルダに保存されている)とフォームから提出されたテキスト付きのPHPを使用して作成した画像があります。これはこのフォルダにjpgとして保存されます。私は、フォルダuploadsにphpで構築されたイメージをコピーして、image451.jpg、またはid番号が何であれ、名前を変更します。私はcopy()rename() PHP関数を使うべきだと思いますが、それらを動作させることはできません。これはどうすればいいですか?phpと動画を新しいフォルダに移動

+0

"仕事に就かせることができません"はかなり曖昧です。使用しているコードを投稿し、遭遇した特定のエラーや予期しない動作を教えてください。 –

+0

「私はそれらを( '' copy() ''と '' rename() ''を動作させることができませんと言うと、"どういう意味ですか?彼らはどのように*働いていないのですか? – Sampson

答えて

3

あなたは、あなたのWebサーバはあなたがそれらを常駐させたいuploadsディレクトリへの書き込みアクセス権を持っていることを確認する必要があります。次に、あなただけ行うことができます。

if (!rename("oldfilename.jpg", "/path/to/uploads/image451.jpg")) 
{ 
    echo "oops, something went wrong moving your file."; 
} 

私たちは、あなたがあなたの質問にその情報を追加しない限り、私は、ディレクトリの書き込み権限を確認する方法についての具体的なことはできません実行しているどのようなサーバープラットフォームを知りません。

+0

ありがとう、私はそれを試みます。 – webmachine

+0

@webmachine、@Oscar Mの答えははるかに完全です。代わりに彼を使用! –

2

あなたの目的地は、そこに新しいファイルを移動しようとする前に、書き込み可能であるかどうかをテストする必要があります。

$dest_dir = "/path/to/uploads/"; 
$src_file = "path/to/orig/file.jpg"; 
if (is_writeable($dest_dir)) { 
    $dest_file = $dest_dir . DIRECTORY_SEPARATOR . basename($src); 
    if (false == rename($src, $dest_file)) { 
     trigger_error('Could not move file', E_USER_ERROR); 
    } 
} 
else { 
    trigger_error('Destination dir is not writeable', E_USER_WARNING); 
} 
関連する問題