heinrich24 Ответов: 1

Html и PHP код для загрузки файла на сервер


Не могли бы вы помочь мне с кодом, не уверенным, в чем проблема, он загружает файл, но выдает сообщение об ошибке в веб-браузере, попробуйте все браузеры и все та же проблема,
index.html код
<form action="upload.php" method="post" enctype="multipart/form-data"> 
 <input type="file" name="myFile">
 <br>
 <input type="submit" value="Upload">
</form>


upload.php код
define("/var/www / upload/");

if (! empty ($_FILES ["myFile"])) {
$файл myfile = переменную $_FILES["myfile будет"];

if ($myFile ["error"] ! = = UPLOAD_ERR_OK) {
эхо "

Произошла ошибка.

";
выход;
}

// обеспечьте безопасное имя файла
$name = preg_replace("/[^A-Z0-9._ -] / i","_", $myFile ["name"]);

// не перезаписывайте существующий файл
$i = 0;
$parts = pathinfo($name);
while (file_exists( $name)) {
$я++;
$name = $parts ["имя файла"]. "- ". $i.".". $parts ["расширение"];
}

// сохранить файл из временного каталога
$success = move_uploaded_file($myFile["tmp_name"],

$имя);
если (! $success) {
эхо "

Не удалось сохранить файл.

";
выход;
}
// установите соответствующие разрешения для нового файла
chmod ("upload_DIR. $name, 0644");
}
он также не загружает его в папку, установленную в php-коде
сообщение об ошибке в веб-браузере
Warning: define() expects at least 2 parameters, 1 given in C:\wamp\www\upload.php on line 2


Call Stack


#

Time

Memory

Function

Location

1 0.0000 133992 {main}( ) ..\upload.php:0 
2 0.0000 134088 define ( ) ..\upload.php:2 


Что я уже пробовал:

проверьте предвидение на сервере и код,

Peter_in_2780

Выделенный блок кода сообщает вам о вашей (первой) проблеме. Функция define () в строке 2 не имеет достаточного количества параметров. Я не могу сказать, что вы пытаетесь определить, но вам нужно исправить это, прежде чем идти дальше.

Sinisa Hajnal

Как говорится в сообщении об ошибке,вам необходимо исправить вызов define. Остальное выглядит в целом нормально.

1 Ответов

Рейтинг:
2

Member 11996218

основная ошибка заключается в том, что define имеет 2 параметра.U может писать как define (UPLOAD_DIR,"/var / www / upload/");


функция sp_random_string($len = 6) {
$chars = массив(
"А", "Б", "В", "Г", "Д", "Е", "Ж", "З", "И", "Ж", "К",
"Л", "М", "Н", "О", "П", "М", "Р", "С", "Т", "У", "в",
"ж", "х", "Г", "З", "А", "Б", "С", "D", "Е", "Ж", "Г",
"Ч", "Я", "Ж", "К", "Л", "М", "Н", "О", "П", "М", "Р",
"S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2",
"3", "4", "5", "6", "7", "8", "9"
);
$charsLen = count ($chars) - 1;
перемешать($символов);
$выход = "";
для ($Я = 0; Я &л; $Лен; $я++) {
$output. = $chars[mt_rand(0, $charsLen)];
}
return $output;
}
define(upload_DIR,"/var / www / upload/");

if (! empty ($_FILES ["myFile"])) {
$файл myfile = переменную $_FILES["myfile будет"];

if ($myFile ["error"] ! = = UPLOAD_ERR_OK) {
эхо "
Произошла ошибка.

";
выход;
}

// обеспечьте безопасное имя файла
$name = preg_replace("/[^A-Z0-9._ -] / i","_", $myFile ["name"]);

// не перезаписывайте существующий файл
//ЭТО ЧАСТИ, МЫ МОЖЕМ НАПИСАТЬ КАК ЭТО
/*
$i = 0;
$parts = pathinfo($name);
while (file_exists( $name)) {
$я++;
$name = $parts ["имя файла"]. "- ". $i.".". $parts ["расширение"];
}
*/
$parts = pathinfo($name);
$name = time ().$parts ["filename"] . "- ". sp_random_string(9).".". $parts ["расширение"];

// сохранить файл из временного каталога
$success = move_uploaded_file($myFile["tmp_name"],

upload_DIR.$название);
если (! $success) {
эхо "
Не удалось сохранить файл.

";
выход;
}
// установите соответствующие разрешения для нового файла
chmod(upload_DIR. $name, " 0644");
}