этот файл php получает данные из html-файла, где пользователь загружает изображение со своего компьютера, как только нажимается кнопка обновления, эта страница php возвращает ошибку, в которой указано что нет такого файла или каталога не существуетневозможно загрузить изображение с помощью библиотеки gd php
<?php error_reporting(E_ALL); ini_set('display_errors', 1);?>
<?php
$db = mysql_connect('localhost', 'pippo', 'pluto') or
die ('Unable to connect. Check your connection parameters.');
mysql_select_db('moviesite', $db) or die(mysql_error($db));
// current images folder
$dir ='image_php/images';
// make sure the upload succeeded
if ($_FILES['uploadfile']['error'] != UPLOAD_ERR_OK) {
\t switch ($_FILES['uploadfile']['error']) {
\t case UPLOAD_ERR_INI_SIZE:
\t die('The uploaded file exceeds the upload_max_filesize directive' .
\t \t 'in php.ini');
\t \t break;
\t case UPLOAD_ERR_FORM_SIZE:
\t die('The uploaded file exceeds the MAX_FILE_SIZE directive that ' .
\t \t 'was specified in the HTML form.');
\t \t break;
\t case UPLOAD_ERR_PARTIAL:
\t die('The uploaded file was only partially uploaded.');
\t \t break;
\t case UPLOAD_ERR_NO_FILE:
\t die('No file was uploaded');
\t \t break;
\t case ULOAD_ERR_NO_TMP_DIR:
\t die('The server is missing a temporary folder');
\t \t break;
\t case UPLOAD_ERR_CANT_WRITE:
\t die('The Server failed to write the uploaded file to disk');
\t \t break;
\t case UPLOAD_ERR_EXTENSION:
\t die('File upload stopped by extension.');
\t \t break;
\t }
}
// retrieve data from created image
$image_caption = $_POST['caption'];
$image_username = $_POST['username'];
$image_date = date('Y-m-d');
list($width, $height, $type, $attr) =
getimagesize($_FILES['uploadfile']['tmp_name']);
// make sure the uploaded file is a supported image
switch ($type) {
case IMAGETYPE_GIF:
$image = imagecreatefromgif($_FILES['uploadfile']['tmp_name']) or
\t die('The file you uploaded was not a supported filetype');
\t $ext = '.gif';
\t break;
case IMAGETYPE_JPEG:
$image = imagecreatefromjpeg($_FILES['uploadfile']['tmp_name']) or
\t die('The file you uploaded was not a supported filetype');
\t $ext = '.jpg';
\t break;
case IMAGETYPE_PNG:
$image = imagecreatefrompng($_FILES['uploadfile']['tmp_name']) or
die('THe file you uploaded was not a supported filetype');
$ext = '.png';
break;
default:
die('The file you uploaded was not a supported filetype');
}
//insert information into image table
$query = 'INSERT INTO images
(image_caption, image_username, image_date)
VALUES
("' . $image_caption . '", "' . $image_username . '", "' . $image_date .
\t '")';
$result = mysql_query($query, $db) or die(mysql_error($db));
//retrieve image value
$last_id = mysql_insert_id();
// use id as image name
//per assicurarsi che l'immagine non sovrascriva altre immagini esistenti
$imagename = $last_id . $ext;
// update image table adding the image final name
$query = 'UPDATE images
SET image_filename = "' . $imagename . '"
WHERE image_id = ' . $last_id;
$result = mysql_query($query, $db) or die (mysql_error($db));
// save image
switch ($type) {
case IMAGETYPE_GIF:
imagegif($image, $dir . '/' . $imagename);
\t break;
case IMAGETYPE_JPEG:
imagejpeg($image, $dir . '/' . $imagename, 100);
\t break;
case IMAGETYPE_PNG:
imagepng($image, $dir . '/' . $imagename);
\t break;
}
imagedestroy($image);
?>
<html>
<head>
<title>Here is your pic!</title>
</head>
<body>
<h1>So how does it feel to be famous?</h1>
<p>Here is the picture you just uploaded to our servers:</p>
<img src="images/<?php echo $imagename; ?>" style="float:left;">
\t <table>
\t <tr><td>Image Saved as: </td><td><?php echo $imagename; ?></td></tr>
\t <tr><td>Image Type: </td><td><?php echo $ext; ?></td></tr>
\t <tr><td>Height: </td><td><?php echo $height; ?></td></tr>
\t <tr><td>Width: </td><td><?php echo $width; ?></td></tr>
\t <tr><td>Upload Date: </td><td><?php echo $image_date; ?></td></tr>
</table>
</body>
</html>
это ошибка, которая возвращается страницы:
Предупреждение: imagejpeg(): не удается открыть «image_php/изображения/9.jpg 'для написания: нет таких f Ile или каталог в /var/www/html/php/image_php/check_image.php на линии 98
форма, которая позволяет загружать изображения
<html>
<head>
<title>Upload your pic to our site!</title>
<style type="text/css">
<!--
td {vertical-align: top;}
-->
</style>
</head>
<body>
<form action="check_image.php" method="post" enctype="multipart/form-data">
<table>
<tr>
<td>Your Username</td>
<td><input type="text" name="username" /></td>
</tr>
<td>Upload Image*</td>
<td><input type="file" name="uploadfile" /></td>
</tr><tr>
<td colspan="2">
<small><em>* Acceptable image formats include: GIF, JPG/JPEG and PNG.
\t </em></small>
</td>
</tr><tr>
<td>Image Caption<br/>
</td>
<td><input type="text" name="caption" /></td>
</tr><tr>
<td colspan="2" style="text-align: center;">
<input type="submit" name="submit" value="Upload"/>
</td>
</tr>
</table>
</form>
</body>
</html>
действительный enctype требуется при работе с файлами, вы не используете его? –
yes Я использую действительный enctype в html-файле, который позволяет загружать изображения – Riccardo
возьмите его с приведенным ниже ответом, затем добавьте –