2017-03-08 70 views
0

此代码不会打印上传图像的临时名称,也不会上载任何图片到我的照片文件夹中。但打印图像名称。它正确地工作其他计算机。哪里有问题?请帮帮我。我使用的PHP版本5.6.20使用PHP的图像上传Mysql

<!DOCTYPE html> 
<html> 
<head> 
    <title>Image Upload</title> 
</head> 

<body> 
<?php 

if ($_SERVER["REQUEST_METHOD"] == "POST") 
{ 

    $destination = "Photo/".$_FILES['image']['name']; 
    $filename = $_FILES['image']['tmp_name']; 
    echo $destination; 
    echo "<br/>"; 
    echo $filename; 
    echo "<br/>"; 

    if (file_exists($destination)) 

echo "Sorry, file already exists."; 

else 
    move_uploaded_file($filename, $destination); 
    $name=$_FILES['image']['name']; 
    $tmp_name=$_FILES['image']['tmp_name']; 

    echo $tmp_name; 
} 


?> 

<form method="POST" enctype="multipart/form-data"> 

<table> 

<tr> 
    <td>Choose Image</td> 
    <td><input type="file" name="image"/> </td> 
</tr> 

<tr> 
    <td>Description:</td> 
    <td><textarea name="Description" rows="4" cols="40"/></textarea></td> 
</tr> 

<tr> 
    <td></td> 

    <td> <input type="submit" name="submit_image" value="Submit"></td> 
</tr> 
</table> 
</form> 

</body> 
</html> 

回答

1
<!DOCTYPE html> 
<html> 
<head> 
    <title>Image Upload</title> 
</head> 

<body> 
<?php 

if(isset($_POST['submit_image'])) 
{ 

    $destination = "Photo/".$_FILES['image']['name']; 
    $filename = $_FILES['image']['tmp_name']; 
    echo $destination; 
    echo "<br/>"; 
    echo $filename; 
    echo "<br/>"; 

    if (file_exists($destination)) 

echo "Sorry, file already exists."; 

else 
    move_uploaded_file($filename, $destination); 
    $name=$_FILES['image']['name']; 
    $tmp_name=$_FILES['image']['tmp_name']; 

    echo $tmp_name; 
} 


?> 

<form method="POST" enctype="multipart/form-data"> 

<table> 

<tr> 
    <td>Choose Image</td> 
    <td><input type="file" name="image"/> </td> 
</tr> 

<tr> 
    <td>Description:</td> 
    <td><textarea name="Description" rows="4" cols="40"/></textarea></td> 
</tr> 

<tr> 
    <td></td> 

    <td> <input type="submit" name="submit_image" value="Submit"></td> 
</tr> 
</table> 
</form> 

</body> 
</html> 

我想这个代码是为我工作。请给我看照片文件夹的写入权限 我认为它会为你工作。

+1

完成,但不幸的是它不工作。 – Ramzan

+0

发生了什么问题 –

+0

在我的代码中,我打印上传的图像名称和该图像的临时名称,并将该图像上传到文件夹名称'照片'中。但问题是它只打印此图像的名称,但不打印temp_name,并没有在我的照片文件夹中上传任何图像 – Ramzan

0

我认为这部分写正确这样既解决

if (file_exists($destination)){ 
echo "Sorry, file already exists."; 
}else{ 
    move_uploaded_file($filename, $destination); 
    $name=$_FILES['image']['name']; 
    $tmp_name=$_FILES['image']['tmp_name']; 
    echo $tmp_name; 
} 
+0

完成但不工作,我不知道为什么它没有在我的电脑中打印temp_name。但它适用于其他计算机 – Ramzan

+0

不工作它剂量意味着你给我的问题错误的审查,就像没有人会回答 –

+0

亲爱的我不给错误的审查。你正试图解决我的问题,为什么我给你的评论错误的审查? – Ramzan

1

你的代码工作正常,请检查'照片/'文件夹权限和tmp文件夹路径。例如:D:\ xampp \ tmp \ phpDCD9.tmp。

+0

尝试过但不能在这里工作 – Ramzan

+0

尝试把error_reporting(0);脚本和检查,什么类型的错误是打印的error_reporting(0)之后获得 –

+0

它显示输出22527.里面我不understant这个 – Ramzan

1

您的代码在我的机器上完美工作。我想你可能想检查存储上传文件的目录名称Photo。检查你的目的地文件夹名称你的编码和定义文件夹名称你的项目是相同的。 请发送您的errorwarning消息,以便它很容易帮助。

+0

我觉得一切都很好。我告诉过它可以使用其他电脑,但不能使用我的电脑。拉屎 – Ramzan