Я ищу какую-то помощь с моим PHP-скриптом для моего сайта, я преподаю небольшой класс учеников, а некоторые спрашивали, как именно мы на самом деле положить его в Интернет? Поэтому я создал сценарий загрузки php, чтобы он мог загрузить его на мой сайт, чтобы поделиться со своими друзьями.PHP Предотвращение загрузки файлов, удаление пробелов в загруженных файлах
У меня есть две проблемы:
1) Как именно я сделать это так, когда кто-то загружает файл будет удалить все пробелы в загруженном имени файлов? 2) Как именно я могу это сделать, чтобы я мог запретить людям загружать определенные файлы? (Например, JPG файлы, PNG файлы внутр)
Heres мой код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content=
"width=device-width, initial-scale=1" />
<title>
File Upload
</title>
<link rel="icon" type="image/png" href="icons/favicon.png" />
<link href="css/bootstrap.min.css" rel="stylesheet" type=
"text/css" />
<script src="js/bootstrap.min.js" type="text/javascript"></script>
<script src="js/jquery-1.11.3.min.js" type="text/javascript"></script>
<script src="js/bootstrap-filestyle.js" type="text/javascript"></script>
<script src=
"https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"
type="text/javascript"></script>
<script src=
"https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"
type="text/javascript"></script>
</head>
<body>
<div class="container" style=
"margin-top: 30px;margin-bottom: 30px">
<div class="row">
<div class="span12">
<h2 style="text-align: center;">
<strong>Alydus.net File Upload</strong>
</h2>
<div class="well">
<form role="form" enctype="multipart/form-data" method=
"post">
<h3>
Upload a file
</h3>
<hr />
<div class="row">
<div class="col-xs-6">
<div class="form-group">
<input type="file" name="example" id="input01"
class="filestyle" data-buttonbefore="true" />
<?php
$dir_upload = '/usr/local/nginx/html/upload/uploads/';
$max_size = 200000000;
$file = $_FILES['example'];
if ($file['size'] <= $max_size && $file['size'] > 0) {
$new_name = time() . '-' . $file['name'];
$copied = copy($file['tmp_name'], $dir_upload . $new_name);
if ($copied) {
print("Successfully uploaded to server, you can download/view the uploaded file now.");
} else {
print("An unknown error has occurred.");
}
} else {
print("");
}
?>
</div>
</div>
<div class="col-xs-2">
<div class="form-group">
<button type="submit" class=
"btn btn-primary">Upload File</button> <a href=
"http://alydus.net/upload/uploads/<?=$new_name; ?>"
class="btn btn-primary" role=
"button">Download/view uploaded file</a>
</div>
</div>
</div>
</form>
</div>
<div class="container" style=
"margin-top: 30px;margin-bottom: 30px">
<div class="row">
<div class="span12">
<div class="well">
<form role="form" enctype="multipart/form-data"
method="post">
<h3>
Instructions
</h3>
<hr />
<div class="row">
<div class="col-xs-6">
<div>
<ul>
<li>Click choose file
</li>
<li>Select your file you'd like to
upload
</li>
<li>Click upload file once
</li>
<li>When the file is finished you
should see a complete message, then
click view/download uploaded file
</li>
<li>You can then copy the link and send
it to anyone so they can view your
images, your html files, and even
download your files!
</li>
</ul>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<div class="container" style=
"margin-top: 30px;margin-bottom: 30px">
<div class="row">
<div class="span12">
<div class="well">
<form role="form" enctype="multipart/form-data"
method="post">
<h3>
Files Uploaded
</h3>
<hr />
<div class="row">
<div class="col-xs-6">
<div style=
'width: 1015px; height: 2500px; overflow: hidden;'>
<center>
<iframe style=
'width: 1015px; height: 2500px;' src=
'http://alydus.net/upload/uploads/index.php'>
</iframe>
</center>
</div>
</div>
<div class="col-xs-2"></div>
<center>
© <?php echo date("Y"); ?> Copyright
Alydus.net
</center>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
Вы можете просмотреть его в действии на http://alydus.net/upload
Есть слишком много возможных ответов, или хорошие ответы будут слишком длинными для этого формата. Пожалуйста, добавьте детали, чтобы сузить набор ответов или изолировать проблему, на которую можно ответить в нескольких параграфах. Я бы предположил, что вы нашли форум для разработки (возможно, [reddit] (https://www.reddit.com/)?) выработать общие положения. Затем, когда у вас возникнут проблемы с кодированием, вернитесь в StackOverflow, и мы будем рады помочь. –
Извините, Джей, я не искал «общей» помощи, мне просто нужны какие-то методы, с которыми я мог бы это сделать. Я сейчас обновляю свой пост. Спасибо. – Alydus