【发布时间】:2011-12-27 09:21:42
【问题描述】:
我正在尝试允许用户上传任意数量的图像,将它们全部放在基于表单标题的新目录中,然后将该文件夹名称写入数据库,稍后我将调用它做一个图像转储。
所以我已经为此工作了好几天,并且已经走到了这一步
if(isset($_POST['Submit']))
{ $ttitle = $_POST['ttitle'];
$file_dir = './../img/treatments/';
foreach( $_FILES as $file_name => $file_array ){
$current_image=$_FILES['image']['name'][0];
$extension = substr(strrchr($current_image, '.'), 1);
if (($extension!= "png") && ($extension != "jpg"))
{
die('Unknown extension');
}
$time = date("fYhis");
$new_image = $time . "." . $extension;
$new_dir = mkdir("./../img/treatments/" . $ttitle, 0700);
$destination= $new_dir && $new_image;
$action = copy($_FILES['image']['tmp_name'], $destination);
}
$last_name = $_POST['last_name'];
$username = $_POST['username'];
$pass = $_POST['pass'];
$text = $_POST['text'];
$bio = $_POST['bio'];
$tsub = $_POST['tsub'];
$image = $ttitle;
if (!$action)
{
die('File copy failed');
}else{
echo "File copy successful";
}
然后是html表单
<form method='post' enctype='multipart/form-data' action='#'>
<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td width="40%" class="right">
Title: </td><td width="60%" class="left"><input type="text" autofocus autofocus="autofocus" required required="required" name="ttitle" maxlength="255"
/>
*</td></tr><tr><td class="right">
Subtitle:</td><td class="left"> <input type="text" required required="required" name="tsub" maxlength="255"
/>
*</td></tr><tr><td class="right">
Username: </td><td class="left"><input type="text" required required="required" name="username" maxlength="255"
/>
*</td></tr><tr><td class="right">
Password: </td><td class="left"><input type="password" required required="required" name="pass" maxlength="255"
/>
*</td></tr>
<tr><td class="right">
Confirm Password: </td><td class="left"><input type="password" required required="required" name="pass2" maxlength="255"
/>
*</td></tr><tr><td class="right">Proposed Director
</td><td class="left"><input type="text" name="dir" maxlength="255"
/>
*</td></tr><tr><td class="right">Proposed Additional
</td><td class="left"><input type="text" name="add" maxlength="255"
/></td></tr><tr><td class="right" valign="top">
Text: </td><td class="left" valign="top"><textarea required required="required" name="text"></textarea>
*</td></tr><tr><td class="right">
Bobblehead: </td><td class="left">
<input type="file" required required="required" name="image[]" multiple="">
*</td></tr> </table>
现在一切正常,除了实际将文件复制并写入新目录,我坐在这里摆弄它,但我觉得我真的很接近,可能有人有钥匙,我就是不能把它从我的头顶上弄清楚。任何帮助都会很棒,谢谢。
【问题讨论】:
-
正确格式化你的html代码。目前html代码作为重复属性。
-
好吧,我知道它与我有关 '$destination' 我不知道如何将
$new_dir与$new_img结合起来,所以它将是url/folder/image.jpg -
我一直在做 required 和 required="required" ,因为我不记得哪一个,但其中一个需要在 firefox 中工作,另一个用于 ie
-
为什么要复制而不是 move_uploaded_file?
-
你应该使用move_uploaded_file(),而不是copy()。
标签: php mysql file-upload upload