2016-05-19 24 views
0

現在、Jcropを使って画像をトリミングすることができます。画像をトリミングした後、PHPを使用して画像をトリミングし、正しいディレクトリ。PHP move_upload_fileストリームを開くことができませんでした。そのようなファイルやディレクトリはありません。

これは、次のチュートリアルイムです:私はTutorial

私はこの入力要素を持っている:

<input type="file" name="upload-image" id="upload-image"/> 

画像トリミング領域がJcropで選択されている場合、ユーザーがフォームをアップロードします。これは動作していないPHPのビットです:

// new unique filename 
$sTempFileName = 'cache/' . md5(time().rand()); 

// move uploaded file into cache folder 
move_uploaded_file($_FILES['upload-image']['tmp_name'], "upload/" . $sTempFileName); 

私はこれらの2つのエラーを取得します。

警告:move_uploaded_file(../アップロード/キャッシュ/ 6b769249a48996fd69d527b2412b684e):ストリームをオープンに失敗しましたありません:そのようなファイルやディレクトリんが

警告:move_uploaded_file():「Cを移動することができません:\ ../upload/cache/6b769249a48996fd69d527b2412b684e '

すでに多くのスタックオーバーフローページを確認しましたが、すべてが画像をアップロードするフォルダを使用しますが、このチュートリアルではそれを示していますファイルをキャッシュフォルダにアップロードする必要があります。それで私はアップロードするフォルダを指定する必要はないと思う。

+0

私はこの使用しています:にenctype = "multipart/form-データを"私のフォームに –

+0

ファイル拡張名がありません – AAT

+0

[ストリームを開くことに失敗しました:そのようなファイルやディレクトリはありません](http://stackoverflow.com/questions/36577020/failed-to-open-stream-no-such -file-or-directory) –

答えて

1

ターゲットディレクトリ(../upload/cache/)が存在し、Webサーバーによって書き込み可能であることを確認してください。アップロード/ cacheディレクトリがあるべき場所を特定していない場合は、あなたは一時的に右move_uploaded_fileを呼び出す前に、この行を追加することで見つけることができます。

echo realpath($sTempFileName); 
+0

ありがとう、$ sTempFileNameは/ cache/randomgeneratednameです。私はただ気づいた。 –

関連する問題