【发布时间】:2012-02-07 09:22:00
【问题描述】:
我有一个表单,可以将图像从计算机上传到服务器,但它不起作用。我没有收到任何错误消息,所以这很烦人。 (首先我的权限被拒绝,但通过更改权限解决了这个问题),但是现在当我提交表单时,一切正常,但文件没有复制到目标文件夹。 (文件夹存在:我用file_exist()试过了...)
下面是部分代码:
<form action='/changingfruit/index.php?item=bad' name='form' method='post' enctype='multipart/form-data'>
<tr>
<td><input type='text' name='titel_nl' value="titel nl" /><br/><input type='text' name='titel_fr' value="titel fr"/></td>
<td><input type='file' name='text_nl' id='text_nl' accept="image/*"/><br/><input type='file' name='text_fr' id="test_fr" accept="image/*"/></td>
<td class="vTop"><input type="submit" value="Bewaar"/></td>
</tr>
</form>
将值发送到数据库的部分:
$str_titel_nl = $_POST["titel_nl"];
$str_titel_fr = $_POST["titel_fr"];
$str_text_nl = $_FILES["text_nl"]["name"];
$str_text_fr = $_FILES["text_fr"]["name"];
if(!empty($_FILES["text_nl"]["name"])){
$tmp = $_FILES['text_nl']['tmp_name'] ;
$foto = $_FILES['text_nl']['name'] ;
$copied = copy($tmp, $images_nl.$foto);
unlink($tmp);
}
(当然上面只是代码的一部分:但这部分是行不通的:
if(!empty($_FILES["text_nl"]["name"])){
$tmp = $_FILES['text_nl']['tmp_name'] ;
$foto = $_FILES['text_nl']['name'] ;
$copied = copy($tmp, $images_nl.$foto);
unlink($tmp);
}
这部分下面的代码也可以正常工作,所以没有错误,但也没有图像。 有人知道问题出在哪里吗?
提前非常感谢!
找到答案 所以这确实是一个权限问题。一切都是 777,但最后一个放置图像的文件夹有 755。(/fruits/img/2012/thumb/)拇指是 755。我只是忽略了它。感谢大家的帮助!
【问题讨论】:
-
应该检查 apache 错误日志,或者你保存 php 错误的地方
-
BLEARGH! 您不需要在每一行代码上都使用
<?php ... ?>。只需打开一个块,将代码放在那里,然后关闭该块。