2015-07-04 5 views
0

Я разрабатываю веб-сайт, который показывает, пользователи могут загружать свои видео на веб-сайт и видео идет на сервер. Он отлично работает без проблем. Но я хочу сделать код ниже по-разному, когда пользователь загружает видео, он должен быть сохранен в новой папке на сервере, создав новый каталог папок (с именем как имя пользователя), и я должен получить его с сервера встраивая видео в соответствующие профили. Ниже фрагменты обычно используются для загрузки, создавая папку для загрузки на сервере (папка загрузки была создана вручную, я хочу, чтобы это было так, когда пользователь загружал видео, новое прямо должно быть сформировано автономно на сервере с именем из имя пользователя на нем), пожалуйста, помогите .....загрузка видео на сервер с использованием PHP

 video.php 
     ---------- 
     <form action="videophp.php" method="post" enctype="multipart/form-data"> 
     <label for="file"><span>Filename:</span></label> 
     <input type="file" name="file" id="file" /> 
     <br /> 
     <input type="submit" name="submit" value="Upload" /> 
     </form> 

     videophp.php 
     ------------- 
     <?php 

     $allowedExts = array("mp4", "flv","jpg","JPEG"); 
     $extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); 

     if ((($_FILES["file"]["type"] == "video/mp4") 

     || ($_FILES["file"]["type"] == "video/flv") 
     || ($_FILES["file"]["type"] == "image/jpg") 
     || ($_FILES["file"]["type"] == "image/JPEG") 


     ) 

      && ($_FILES["file"]["size"] > 2000000) 
      && in_array($extension, $allowedExts)) 

     { 
      if ($_FILES["file"]["error"] > 0) 
     { 
      echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; 
      } 
      else 
     { 
      echo "Upload: " . $_FILES["file"]["name"] . "<br />"; 
      echo "Type: " . $_FILES["file"]["type"] . "<br />"; 
      echo "Size: " . ($_FILES["file"]["size"]/1024) . " Kb<br />"; 
      echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />"; 

     if (file_exists("upload/" . $_FILES["file"]["name"])) 
     { 
     echo $_FILES["file"]["name"] . " already exists. "; 
     } 
     else 
     { 
     move_uploaded_file($_FILES["file"]["tmp_name"], 
     "upload/" . $_FILES["file"]["name"]); 
     echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; 
     } 
     } 
     } 
     else 
      { 
      echo "Invalid file"; 
     } 
    ?> 

ответ

1

Это одна часть того, что вы ищете:

$username = 'Max Mustermann'; // you'd have to get that from somewhere 
$targetfolder = 'upload/'.$username; 

if (!file_exists($targetfolder)) { 
    mkdir($targetfolder, 0777, true); 
} 
if (file_exists($targetfolder . $_FILES["file"]["name"])) { 
    echo $_FILES["file"]["name"] . " already exists. "; 
} 
else { 
    move_uploaded_file($_FILES["file"]["tmp_name"], 
     $targetfolder . $_FILES["file"]["name"]); 

    echo "Stored in: " . $targetfolder . $_FILES["file"]["name"]; 
} 

Вам все еще нужно, чтобы отправить имя пользователя на сервер. С этим вы также можете получить доступ к следующему визиту.

BUT Я рекомендую предоставить папку и файл другим именам и сохранить их в db, подключенных к данным пользователя. Таким образом, вы можете лучше контролировать, кто может получить доступ к файлу (видео), вам не нужно искать файловую систему (которая медленнее, чем поиск n db).

+0

thanks @Jeff Мне очень нравится код, а также ценю вашу помощь. «Вам все равно нужно отправить имя пользователя на сервер, и вы также сможете получить доступ к нему в следующий раз». эта часть я не получил .. может у сказать это по-другому? – Sayuj3

+0

Ну, я использую переменную '$ username', которая еще не заполнена реальными данными, потому что в вашем примере на сервере нет ни одного имени пользователя. Я не знаю, как вы сейчас управляете сеансами пользователя. Может быть, вы используете куки? Или php-сессия? – Jeff

+0

Этот код работает не так, как я хотел, есть небольшая ошибка, которую я получаю, это была моя ошибка, я просил это так, загруженное видео должно войти в созданную папку. Я сейчас редактировал свой вопрос. – Sayuj3

Смежные вопросы