2016-09-02 7 views
1

私は自分のウェブサイトに複数のファイルアップロードを追加しようとしています。私は自分のサブドメインに直接アップロードしています。私はfailed to open stream: No such file or directoryUnable to move....file has probably been uploadedメッセージを取得ファイルをアップロードしようとするとPHPでファイルをアップロードする際にアップロードディレクトリを定義する方法move_uploaded_file

<?php 
    $valid_formats = array("jpg", "png", "gif", "zip","jpeg", "bmp"); 
    $max_file_size = 1024*100; //100 kb 
    $path = "uploads/"; // Upload directory 
    $count = 0; 

    if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){ 
     // Loop $_FILES to exeicute all files 
     foreach ($_FILES['files']['name'] as $f => $name) {  
      if ($_FILES['files']['error'][$f] == 4) { 
       continue; // Skip file if any error found 
      }   
      if ($_FILES['files']['error'][$f] == 0) {    
       if ($_FILES['files']['size'][$f] > $max_file_size) { 
        $message[] = "$name is too large!."; 
        continue; // Skip large files 
       } 
       elseif(! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats)){ 
        $message[] = "$name is not a valid format"; 
        continue; // Skip invalid file formats 
       } 
       else{ // No error found! Move uploaded files 
        if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.$name)) 
        $count++; // Number of successfully uploaded file 
        echo "file has probably been uploaded"; 
       } 
      } 
     } 
    } 
    ?> 

:私は、次のコードを持っています。可能な解決策でこれほど多くの他の質問がありますが、私はアップロードするパスを定義する方法を尋ねようとしています、私はそこに間違っていると思うbeacuse。他のヒントはどのようにthyis仕事を得るのが役立つでしょう。

+0

$ pathに物理的に存在しない不正なパスが含まれている可能性があります。 –

+0

私は実際にはどのパスを使うのか分かりません。私はどこから選ぶことができるのですか? @MayankPandey –

+0

これは "/ uploads"やこのようなもののようなプロジェクトディレクトリのディレクトリになります –

答えて

0

ウィンドウ内にファイルを書き込む権限がある場合。

フォルダ>右クリック>プロパティを探します。そしてセキュリティでは、書き込みと読み取りの許可を与えます。

あなたのパスが

$パス= "./uploads/" になりますみんなに設定

汎用。

+0

私は午前linuxを使用していますが、XAMPPなどを使用せずにサーバーに直接アップロードしています。だから、私のPC上のディレクトリは私を助けてくれません、または少なくとも私はそう思う。 :)@ Reuben Gomes –

+0

あなたは以下の部分をチェックしましたか?あなたの$パスは –

+0

$ path = "./uploads/"のように定義する必要があります。 –

関連する問題