【发布时间】:2023-03-12 20:27:01
【问题描述】:
我一直在尝试上传图片,但没有上传。 (当我点击“提交”按钮时,屏幕上的图片附件变成空的,就像上传一样。)
我已经花了几天的时间,但我无法弄清楚问题所在。有人看到我的代码有问题吗? (下面的代码是我的代码的摘录;为了节省空间,我已经排除了错误消息的代码。)
这是我的“upload.php”文件中的代码:
<form action="upload.php" method="post" enctype="multipart/form-data">
<div class="form-group">
<input type="text" name="title" class="form-control">
</div>
<div class="form-group">
<input type="file" name="file_upload">
</div>
<input type="submit" name="submit">
</form>
然后从这里提交的文件转到:
if(isset($_POST['submit'])) {
$photo = new Photo();
$photo->title = $_POST['title'];
$photo->set_file($_FILES['file_upload']);
然后在“photo.php”文件中接收如下:
public function set_file($file) {
$this->filename = basename($file['name']);
$this->tmp_path = $file['tmp_name'];
$this->type = $file['type'];
$this->size = $file['size'];
一旦它到达数据库,它会保存如下:
public function save() {
$target_path = SITE_ROOT . DS . 'admin' . DS . $this->upload_directory . DS . $this->filename;
if(move_uploaded_file($this->tmp_path, $target_path)) {
if($this->create()) {
unset($this->tmp_path);
return true; }}
【问题讨论】:
-
"但它没有被上传并返回空"。什么返回为空?
-
图片附件返回为空,所以看起来像在附加任何图片之前。但是,我确实收到了一条自定义错误消息,指出该目录可能没有权限。由于错误消息是定制的,它真的对我没有帮助。
-
也许您应该深入研究触发该错误消息的原因。可以帮忙。
-
从哪里上传图片到哪里?一个 server 到另一个 server?在 same 服务器本身内?您的本地和远程服务器?
-
你能取消对我的问题的投票吗?我确实澄清了你不清楚的部分。我不想被阻止提问。
标签: php mysql oop file-upload phpmyadmin