이미지를 서버에 업로드하는 중 약간의 문제가 있습니다.PHP가 서버에 이미지 업로드
주의 사항 : 이 내가지고있어 오류입니다 정의되지 않은 인덱스 : $ this-> 라인 /opt/lampp/htdocs/xampp/php/theislan_testdatabase/addItem.php에서 파일 (70)
주의 : 정의되지 않은 색인 : /opt/lampp/htdocs/xampp/php/theislan_testdatabase/addItem.php on line 71에있는 $ this-> 파일
Notice :/opt/lampp /에있는 $ this-> htdocs/xampp/php/theislan_testdatabase/addItem.php on line 72
문제는이 클래스의 생성자에 있습니다.
public function __construct() {
$this->submit = isset($_GET['submit'])? 1 : 0;
$this->errors = array();
//$this->product_id = $this->filter($_GET['product_id']);
$this->name = $this->filter($_GET['name']);
$this->description = $this->filter($_GET['description']);
$this->cost = $this->filter($_GET['cost']);
$this->numinstock = $this->filter($_GET['numinstock']);
//$this->picture = $this->filter($_GET['picture']);
$this->type = $this->filter($_GET['type']);
$this->file = $_GET['file'];
$this->token = $_GET['token'];
}
정확한 줄 : $ this-> file = $ _GET [ 'file'];
<li><b><cart><form method = "get" action="">
<?php
printf("<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"4000000\" />");
printf("<p>Name: <input type='text' name=\"name\" id=\"styled\";\"></p>");
printf("<p>Type: <input type='text' name=\"type\" id=\"styled\";\"></p>");
printf("<p>Picture: <input type=\"file\" name=\"file\" id=\"file\" \></p>");
printf("<p>Cost: <input type='text' onkeypress='validate(event)' name=\"cost\" id=\"styled\";\"></input></p>");
printf("<p>Number Instock: <input type='text' onkeypress='validate(event)' name=\"numinstock\" id=\"styled\";\"></p>");
printf("<p>Description: <textarea rows=\"6\" cols=\"200\" name=\"description\" id=\"styled\";\"></textarea></p>");
?>
<p><input type="submit" value="Add Item" name="submitAdd" />
<input type="hidden" name ="token" value="<?= $_SESSION['token']; ?>"
/></p></form></cart></b></li>
감사 :
이
내가 사용자의 입력을받을 곳은 나에게 오류 public function addNew() {
$databaseinst = database:: getinstance();
$conn = $databaseinst->connect();
$query = "INSERT INTO Product (name , description, cost, numinstock, type, image) VALUES ('$this->name', '$this->description',
'$this->cost','$this->numinstock', '$this->type', 'images/$this->name')";
//description = '$this->description' cost = '$this->cost' numinstock = '$this->numinstock' picture = '$this->picture' type = '$this->type'
$result = $databaseinst->querydb($query);
$id = mysql_insert_id();
//upload file
if ((($_FILES['$this->file']["type"] == "image/gif")
||($_FILES['$this->file']["type"] == "image/jpeg")
||($_FILES['$this->file']["type"] == "image/pjpeg"))
&&($_FILES['$this->file']["type"] < 40000000))
move_uploaded_file($_FILES["$this->file"]["tmp_name"],"images/" . $id.".jpq");
if (false===$result) {
$errorno =mysqli_errno($conn);
if ($errorno === 1062)
{
$this->errors[]= "this user already exists on the database. please try signing!";
}
else
{
$this->errors[]= "error creating new user
name = '$this->name' description = '$this->description' cost = '$this->cost' numinstock = '$this->numinstock'
type = '$this->type'
";
}
}
if($conn == null)
{
$this->errors[] = "difficulty is being experienced connecting to the server. Please try again in a moment!";
}
}
을 제공하는 클래스의 일부이다.
어느 선이 70,71과 72입니까? – Robert
죄송합니다. if (($ _FILES [ '$ this-> file'] [ "type"] == "image/gif") || ($ _ FILES [ '$ this-> file'] [ " type =] "image/jpeg") && ($ _ FILES [ '$ this-> file'] [ > file '] [ "type"] <40000000) – Paddy
큰 따옴표를 single로 변경해보십시오. => $ _FILES [ '$ this-> file'] [ 'type'] – Robert