загрузите изображение, а затем отобразите его на PHP
Я разрабатываю сайт на основе профиля, где профили будут заполняться в HTML-форме, а через PHP они будут храниться в MYSQL.
Моя проблема в том, что участник будет загружать свою фотографию профиля. Чего я хочу, так это ...
1. загрузите фотографию профиля на сервер
2. переименуйте файл в memberID
3. Сохраните ссылку на файл(т. е. upload\memberid.jpg) для хранения в MySql.
Пожалуйста, помогите мне решить эту проблему.
Я использовал следующий код
<?php $allowedExts = array("jpg", "jpeg", "gif", "png"); $extension = end(explode(".", $_FILES["file"]["name"])); if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 20000) && in_array($extension, $allowedExts)) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />"; if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; } } } else { echo "Invalid file"; } ?>
но вы хотите переименовать файл в memberid[некоторое значение текстового поля].
Я не хочу, чтобы файл сообщения об ошибке уже существовал.
Пожалуйста, пожалуйста, помогите мне.
enhzflep
Пара моментов, которые приходят на ум
■ Вы можете скачать phpBB (бесплатное программное обеспечение для форума) и посмотреть на источник
■ При загрузке файлов он (а) переименовывает их (б) отслеживает исходное имя и переименованное имя
■ использование time() даст вам число, которое вы можете преобразовать в строку и использовать в качестве имени файла - хотя вы будете ограничены 1 загрузкой в секунду или миллисекунду, независимо от разрешения времени (я забыл)
■ Вы можете просто закомментировать эти 3 строки, чтобы удалить "уже существующий" msg:
если (file_exists("загрузить/" . Переменную $_FILES["файл"]["имя"]))
{
echo $_FILES["file"]["name"] . " уже существует. ";
}
■ Для переименования файла можно внести следующие изменения:
$newFilename = calcNewNameForFile();
...
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$newFilename);
...
Mohibur Rashid
Вы можете опубликовать его в качестве ответа
[no name]
быть ответом.
спасибо
сообщение в качестве ответа