Я знаю, что это не должно быть трудным делом в PHP, однако это дает мне самое трудное время!
Я пытаюсь сделать это:
1) Захват данных строки формы и загрузка изображения в единой форме
2) Загрузите оба типа данных на сервер с одним не-AJAX / традиционным POST в простой PHP-скрипт (в данном случае process.php)
3) Возьмите изображение, загруженное пользователем, сохраните его в виде текстового файла в каталоге, динамически именуемом первой буквой имени и всей фамилией, объединенной вместе, поэтому для меня структура каталога будет следующей: / home / uploads / nabrams / image.jpg, /home/uploads/nabrams/userdata.txt,
* Текстовый файл будет содержать текстовые строки из формы на стороне клиента, изображение из ввода [type = «file»], еще раз содержащееся в той же форме, отправленное на сервер с 1 отправкой.
Я использую текстовый файл, чтобы обеспечить самый простой возможный случай.
Вот код, с которым я сейчас работаю:
<?php
$uploaddir = '/home/nicholasabrams/public_html' + '/newprofiledata/' + $lname + '/' + $_FILES['userfile']['name'];
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo "<p>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Upload failed";
}
echo "</p>";
echo '<pre>';
echo 'Here is some more debugging info:';
print_r($_POST);
print_r($_FILES);
print "</pre>";
Однако при попытке загрузить изображение нескольких форматов и размеров (несколько попыток) я застреваю в безошибочном пустом окне. Не удивительно, что скрипт не загружал и не переименовывал изображение по желанию.
Также — при попытке добавить данные поста непосредственно в имя файла, например, так:
$uploaddir = '/home/nicholasabrams/public_html/' + $_POST['lname'] + '/' + $_FILES['userfile']['name']; $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))...
Я получаю имена файлов с 0pictureNameHere.jpg вместо NAbrams.jpg или, если я использую почтовые данные для установки каталога, я никогда не получу изображение или данные таким образом.
Примечание:
Я Javascript и JQuery ( <- главным образом) разработчик, стоило ли бы мне попытаться сделать это с помощью экспресс-модуля или какого-либо другого модуля узла? У меня нет опыта работы с узлом, хотя я «пользуюсь им» последние несколько месяцев.
Спасибо за помощь!
Задача ещё не решена.
Других решений пока нет …