我知道在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(&lt; - 主要)开发人员,尝试使用express或其他节点模块进行此操作是否值得?我对节点没有经验,尽管我过去几个月一直在“使用它”。
感谢您的帮助!