PHP-бот назначает путь загрузки - PullRequest
0 голосов
/ 19 декабря 2011

У меня проблема с тем, что путь загрузки моего файла не был назначен правильной папке. Фактически он изменяет путь к имени файла загружаемого файла. Странно, правда? Вот код, над которым я работаю ...

<?php
      $allowed_filetypes = array('.mp4','.gif','.bmp','.png','.html','.psd','.zip','.xml','.css','.js',);
      $max_filesize = 5904288;
      $upload_path = 'video';

   $filename = $_FILES['userfile']['name'];
   $ext = substr($filename, strpos($filename,'.'), strlen($filename)-1);

   if(!in_array($ext,$allowed_filetypes))
      die('Sorry, cannot take files over blankKB.');

   if(filesize($_FILES['userfile']['tmp_name']) > $max_filesize)
      die('Sorry, cannot take files over blankKB.');

   if(!is_writable($upload_path))
     die('We are very sorry, a problem is occurring with the CHMOD  of this directory');

   if(move_uploaded_file($_FILES['userfile']['tmp_name'],$upload_path . $filename))
         echo ' Your file was uploaded successfully, view it <a href="file.php?file=' . $filename . '" target="_blank" title="Your File">here</a>';
      else
         echo 'Sorry, but there was an error during the file upload. Please try again.';
?> 

Вот как выглядит файл после загрузки,

videoHello.png

плюс он не загружает файл в каталог, в котором я его хочу, расположенный в / video

1 Ответ

2 голосов
/ 19 декабря 2011

Когда вы пишете $upload_path . $filename, вы объединяете только две строки, что действительно приводит к videoHello.png;

Вы должны либо объединить разделитель каталогов вашей системы (в Unix-системах это /)

$upload_path . '/' . $filename

или встроить разделитель в строку $upload_path

$upload_path = 'video/';

Хотя мой последний совет - использовать Абсолютные Пути следующим образом:

$upload_path = dirname(__FILE__) . '/video/';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...