2016-10-28 3 views
0

Недавно я попытался добавить обработчик на стороне сервера для dropzone.js и последовал за это видео, как я мало знаю, чтобы не PHP: https://www.youtube.com/watch?v=QVEv62wKbOcDropzone.js Мульти File Uploader Handler

Я добавил все сценарии, но когда я нажмите «Просмотреть загрузку», он распечатает «»; }}} echo $ output; "на пустой странице. Кроме того, несмотря на то, что анимация загружаемого файла прошла успешно, файл никогда не попадает в папку" uploads "(предполагается, что он должен предварительно просмотреть все загруженные изображения , как показано на видео в 9:32 на видео)

Ниже приведено все, что я добавил. (Не включая dropzone.js & dropzone.css файлы, так как они не внесены никакие изменения). В настоящее время он находится на локальный

parser.php:.

<?php 
 

 
if(!empty($_FILES)){ 
 
\t 
 
\t $temp = $_FILES['file']['tmp_name']; 
 
\t $dir_separator = DIRECTORY_SEPARATOR; 
 
\t $folder = "uploads"; 
 

 
\t $destination_path = dirname(__FILE__).$dir_separator.$folder.$dir_separator; 
 

 
\t $target_path = $destination_path.$_FILES['file']['name']; 
 
\t move_uploaded_file($temp, $target_path); 
 
} ?>

view_upload.php:

<!DOCTYPE html> 
 
<html lang="en"> 
 

 
<head> 
 
\t <meta charset="UTF-8"> 
 
\t <title>View Upload</title> 
 
</head> 
 
<body> 
 

 
<?php 
 
\t $folder = "uploads"; 
 

 
\t if(is_dir($folder)){ 
 
\t \t $handler = opendir($folder); 
 
\t \t $output = ""; 
 

 
\t \t while($files = readdir($handler)){ 
 
\t \t \t if(!is_dir($files)){ 
 
\t \t \t \t $output .= "<img src=\"uploads/{$files}\" width='180' height='180'>"; 
 
\t \t \t } 
 
\t \t } 
 

 
\t } 
 

 
\t echo $output; ?> 
 

 
</body> 
 

 
</html>

Отрывки моей index.html:

<header> 
 
     <!-- Uploader --> 
 
\t \t <link href="dropzone.css" type="text/css" rel="stylesheet" /> 
 
\t \t <script src="dropzone.js"></script> 
 
\t </header> 
 
    <body> 
 
     <div class="uploadingFiles"> 
 
      <form action="parser.php" class="dropzone"></form> 
 
    \t \t <p><a href="view_upload.php">View Upload</a></p> 
 
    \t </div> 
 
    </body>

Я также заметил, что, когда я нажимаю «Просмотр Загрузить «весь сценарий превращается в комментарий, я не уверен, что это имеет какое-либо отношение к это все же.

<body> 
 

 
<!--?php 
 
\t $folder = "uploads"; 
 

 
\t if(is_dir($folder)){ 
 
\t \t $handler = opendir($folder); 
 
\t \t $output = ""; 
 

 
\t \t while($files = readdir($handler)){ 
 
\t \t \t if(!is_dir($files)){ 
 
\t \t \t \t $output .= "<img src=\"uploads/{$files}\" width='180' height='180'-->"; 
 
\t \t \t } 
 
\t \t } 
 

 
\t } 
 

 
\t echo $output; 
 

 

 

 
</body>

+0

Это странная ошибка/ошибка ... вы уверены, что там ISN» t что-то не так с файлами? Возможно, попробуйте загрузить их на сервер еще раз, или если вы тестируете это локально, повторите их и сохраните снова? Как вы это тестируете? Онлайн, на сервере? Localhost? Если localhost, какой сервер вы настроили? – junkfoodjunkie

+0

Я сделаю снимок и удалю все, чтобы попытаться переустановить. Я использую его с помощью Apache. – Intrinza

+0

@junkfoodjunkie Итак, я понял часть проблемы и исправил ее. Проблема заключалась в том, что мой php не был напрямую связан с Apache. Файлы теперь отправляются в папку, но всякий раз, когда я нажимаю «Просмотр загрузок», я все равно получаю одно и то же странное сообщение. Это нормально, хотя я собирался удалить часть «Просмотр загрузок» в любом случае – Intrinza

ответ

0

Попробуйте изменить эту строку: $destination_path = dirname(__FILE__).$dir_separator.$folder.$dir_separator; к $destination_path = $folder.$dir_separator; и посмотреть, если это исправляет проблему

+0

Ничего не изменилось, я все равно получаю вывод «»; }}} echo $ output; «при нажатии« Просмотр загрузки »и ничего не отображается в папке uploads – Intrinza

+0

Ну, вам не хватает конца'?> 'после' echo $ output; ', но на самом деле это не так объясните появление '' '' '' '' '' '' 'Эти точные копии фактических файлов? Вы ничего не редактировали ни здесь, ни в файлах? – junkfoodjunkie

+0

Хорошо - я скопировал файлы и самостоятельно установил быстрый тест сервер, и он работает нормально. Он загружает загруженные файлы в папку «uploads» и т. д. и т. д. Точные файлы, которые у вас есть, кроме исправления недостающего конца '?>' в parser.php и view_uploads.php. Так что это что-то на вашем сервере - прочитайте журналы, как apache, так и php, чтобы узнать, есть ли там что-то. – junkfoodjunkie