2014-12-24 2 views
-1

Я только что создал скрипт загрузки, но я получил проблему после загрузки файловзагруженный файл oppening ошибка

Я могу их видеть, как это:

enter image description here

После открытия номер файла 1 файл открывается отлично, но проблема в том, когда я потрогать файл 2 , потому что этот файл имеет пробелы или специальные символы в имени, и открывает как этот

enter image description here

здесь мои PHP файлы

<?php 

$target_dir = "uploads/up/"; 

$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 

$uploadOk = 1; 

$FileType = pathinfo($target_file,PATHINFO_EXTENSION); 

// Check if file already exists 
if (file_exists($target_file)) { 
echo "Sorry, file already exists."; 
$uploadOk = 0; 
} 


// Check file size 
if ($_FILES["fileToUpload"]["size"] > 5000000000000) { 
echo "Sorry, your file is too large."; 
$uploadOk = 0; 
} 




// Check if $uploadOk is set to 0 by an error 
if ($uploadOk == 0) { 
echo "Sorry, your file was not uploaded."; 
// if everything is ok, try to upload file 
} else { 
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { 
    echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has 
been    uploaded."; 
} else { 
    echo "Sorry, there was an error uploading your file."; 
} 
} 
?> 

show.php

<?php 
$sub = ($_GET['dir']); 
$path = 'up'; 
$path = $path . "$sub"; 
$dh = opendir($path); 
$i=1; 







while (($file = readdir($dh)) !== false) { 
if($file != "." && $file != "..") { 
    if (substr($file, -4, -3) =="."){ 


echo "<a href='".htmlspecialchars($path$result)."'>".$file."</a><br>"; 

    } 
    $i++; 
} 
} 

closedir($dh); 
?> 
+1

Если вы хотите получить помощь, вам необходимо ввести код здесь. – imtheman

+2

Пожалуйста, отправьте код в виде текста – chrki

+1

'urlencode()' это путь! Если у вас есть пробелы в имени – Rizier123

ответ

0

Проблема заключается в вашей show.php здесь:

<a href='$path$result'> 

' INT он имя файла является то же самое б в вашем параметре href, который разбивает его.

Используйте htmlspecialchars(), чтобы избежать этой проблемы.

echo "<a href='".htmlspecialchars($path.$result)."'>".$file."</a><br>"; 
+0

Ошибка анализа: ошибка синтаксического анализа в C: \ xampp \ htdocs \ aaa \ uploads \ index.php в строке 19 строка 19 - эхо "".$file."
"; –

+0

Измените '$ path $ result' на' $ path. $ Result', извините. Отредактировал мой пост. – chrki

+0

теперь он открывается вот так [link} (http://www.picz.ge/img/s3/1412/24/4/4fb4c7c58f72.png) –

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