我尝试从用户处拍摄图像并显示它。但不知何故它没有在浏览器上显示。我现在正在使用safari。
<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Uploading a Photo</title>
<link rel="stylesheet" type="text/css" href="common.css" />
</head>
<body>
<?php
if ( isset( $_POST["sendPhoto"] ) )
{
processForm();
}
else
{
displayForm();
}
function processForm() {
if ( isset( $_FILES["photo"] ) and $_FILES["photo"]["error"] == UPLOAD_ERR_OK)
{
if ($_FILES["photo"]["type"] != "image/jpeg" )
{
echo "<p>JPG photos only, thanks!</p>";
}
elseif ( !move_uploaded_file( $_FILES["photo"]["tmp_name"],"/Library/WebServer/Documents/image/".basename( $_FILES["photo"]["name"])))
{
echo "<p>Sorry, there was a problem uploading that photo.</p>".$_FILES["photo"]["error"];
}
else
{
displayThanks();
}
} else {
switch( $_FILES["photo"]["error"])
{
case UPLOAD_ERR_INI_SIZE:
$message = "The photo is larger than the server allows.";
break;
case UPLOAD_ERR_FORM_SIZE:
$message = "The photo is larger than the script allows.";
break;
case UPLOAD_ERR_NO_FILE:
$message = "No file was uploaded. Make sure you choose a file to upload.";
break;
default:
$message = "Please contact your server administrator for help.";
}
echo "<p>Sorry, there was a problem uploading that photo. $message</p>";
}}
function displayForm() {
?>
<h1>Uploading a Photo</h1>
<p>Please enter your name and choose a photo to upload, then click Send Photo. </p>
<form action="photo_upload.php" method="post" enctype="multipart/form-data">
<div style="width: 30em;">
<input type="hidden" name="MAX_FILE_SIZE" value="50000000" />
<label for="visitorName">Your name</label>
<input type="text" name="visitorName" id="visitorName" value="" />
<label for="photo">Your photo</label>
<input type="file" name="photo" id="photo" value="" />
<div style="clear: both;">
<input type="submit" name="sendPhoto" value="Send Photo" />
</div>
</div>
</form>
<?php
}
function displayThanks() {
?>
<h1>Thank You</h1>
<p>Thanks for uploading your photo<?php if ( $_POST["visitorName"] )echo ", " . $_POST["visitorName"] ?>!</p>
<p>Here's your photo:</p>
<p><img src="/Library/WebServer/Documents/image/<?php echo $_FILES['photo']['name'] ?>" alt="Photo" width="20em" height="30em"/></p>
<?php
}
?>
</body>
</html>
代码工作正常,但是当我在浏览器上运行时,它会将输入图像保存到目录中,但不会在页面上显示。它显示了一个&#39;?&#39;马克。
我尝试了所有方法,但无法弄清楚什么是错误的。
答案 0 :(得分:0)
尝试从图片来源属性中删除/Library/WebServer/Documents
。