【发布时间】:2015-01-21 22:56:15
【问题描述】:
我为我的上传系统创建了一个类(文件:Uploader.class.php):
<?php
class Uploader{
private $filename;
private $fileData;
private $destination;
public function __construct($key){
$this->filename = $_FILES[$key]['name'];
$this->fileData = $_FILES[$key]['tmp_name'];
}
public function saveIn($folder){
$this->destination = $folder;
}
public function save(){
//μεταβλητη για να τσεκαρω αν ο φακελος που θα γινει η αποθηκευση ειναι μπορει να γραφτει
$folderIsWriteAble = is_writable($this->destination);
if($folderIsWriteAble){
$name = "this->destination/$this->filename";
$succes = move_uploaded_file($this->fileData,$name);
}else{
trigger_error("cannot write to $this->destination");
$succes = false;
}
return $succes;
}
}
?>
现在我正在制作上传算法(文件:upload.php):
<?php
$newImageSubmitted = isset($_POST['new-image']);
if($newImageSubmitted){
$output = upload();
}else{
$output = include_once "views/upload-form.php";
}
return $output;
function upload(){
include_once "classes/Uploader.class.php";
$uploader = new Uploader("image-data");
$uploader->saveIn("/views/img");
$fileUploaded = $uploader->save();
if($fileUploaded){
$out = "new file uploaded";
}else{
$out = "something went wrong";
}
return $out;
}
?>
和表格(文件名:upload-form.php):
<?php
return"
<h1>Upload new jpg images</h1>
<form method='post' action='phppage.php?page=upload' enctype='multipart/form-data' >
<label>Find a jpg image to upload</label>
<input type='file' name='image-data' accept='image/jpeg' />
<input type='submit' value='upload' name='new-image' />
</form> ";
?>
我想将图像存储在路径中的文件中:views/img 表单和算法保存在视图目录中,因此当我单击上传时,我会输出:注意:无法在第 22 行的 /var/www/html/project3/classes/Uploader.class.php 中写入 /views/img 和:项目目录中出现问题(女巫来自if语句)我有777权限有人可以解释我为什么不能上传图片吗?谢谢
【问题讨论】:
-
文件 /views/img 是根路径。那是行不通的。
标签: php file-upload