2016-05-09 14 views
-1

アップロードが成功した場合にこの問題が発生しますが、アップロードのディレクトリに移動するとファイルはありません... echofinal_pathこれはファイルをアップロードするディレクトリです。ファイルのアップロードは成功しましたが、ファイルにはファイルがありません

$final_path=public_path('attachment\states'); 
$final_filename = md5(date("Y-m-d H:i:s")).rand().'.png'; 

if(move_uploaded_file($_FILES['file']['tmp_name'], $final_path/$final_filename)) 
{echo 'good'. $final_path; } 
else 
{ echo 'bad';} 

出力は次のようになります。

goodC:\xampp\htdocs\panel\public\attachment\states 

いただきました!間違っていますか?

+0

試してみてください(。。move_uploaded_file($ _ FILES [ 'ファイル'] [ 'tmp_name']、$のfinal_path "\" $ final_filename))であれば –

+0

部門があります。スラッシュを引用符で囲みます。 –

+0

クォートマークの途中で使用したバックスラッシュは残りのコード$ final_pathをコメントします。 "\"。$ final_filename –

答えて

0

この操作では、2つの文字列を分割して、期待するパスを与えません。実際には、ゼロ除算エラーが発生しない唯一の理由は、$final_filenameが数字で始まるためです。試してみてください:

if (move_uploaded_file($_FILES['file']['tmp_name'], $final_path . DIRECTORY_SEPARATOR . $final_filename)) 
+1

あなたはおそらく正しいです! @マールリンダ・パルラクだった! ** $ _FILES ['file'] ['error'] '**常に良いアイデアであることを絶対にチェックしないことにも言及する価値があるでしょう – RiggsFolly

+0

それは絶対にそうです。リテラル "/"や "\"の代わりに 'DIRECTORY_SEPARATOR'の使い方を見たいと思っていました。なぜならテストとプロダクションのために、ここではウィンドウと非ウィンドウシステムが混在しているようです。 – Dereleased

0

アップロードしたファイルを移動するには、Laravel関数を使用することをお勧めします。例えば。

class MyController extends Controller{ 
    public function fileUpload(Request $request){ 
     if (!$request->hasFile('file')) { 
      // file not received 
     } 

     if (!$request->file('file')->isValid()) { 
      // file is not valid 
     } 

     $final_path = public_path() . "\attachment\states\\"; 
     $final_filename = md5(date("Y-m-d H:i:s")).rand().'.png'; 

     $request->file('photo')->move($final_path, $final_filename); 

     return 'File uploaded correctly'; 


    } 

} 
関連する問題