imagic librarie中的错误-php
|
我正在尝试在眩晕serv中使用Imagick类
我有这个表格
<form action=\"thumb.php\" method=\"post\" enctype=\"multipart/form-data\">
<p>
<label for=\"file\">Select a file:</label>
<input type=\"file\" name=\"userfile\" id=\"file\"> <br />
<button>Upload File</button>
<p>
</form>
和这个PHP
<?php
error_reporting(-1);
$imagePath = $_FILES[\"userfile\"];
$thumbnailWidth = 100;
$thumbnailHeight = 100;
$srgbPath = \'thumb/sRGB_v4_ICC_preference.icc\';
$image = new Imagick($imagePath);
$width = $image->getImageWidth();
$height = $image->getImageHeight();
$srgb = file_get_contents($srgbPath);
$image->profileImage(\'icc\', $srgb);
$image->stripImage();
$image->setImageColorspace(Imagick::COLORSPACE_SRGB);
$fitWidth = ($thumbnailWidth / $width) < ($thumbnailHeight / $height);
$image->thumbnailImage(
$fitWidth ? $thumbnailWidth : 0,
$fitWidth ? 0 : $thumbnailHeight
);
$imagePathParts = pathinfo($imagePath);
$thumbnailPath = \"thumb/miniaturas/\".
$imagePathParts[\'filename\'].\'_\'.
$thumbnailWidth.\'x\'.$thumbnailHeight.\'.jpg\';
$image->setImageCompressionQuality(90);
$image->writeImage($thumbnailPath);
echo $image;
$image->clear();
$image->destroy();
?>
我收到此错误:
致命错误:带有消息“无法打开图像C:\\ Users \ fel \\ VertrigoServ \\ www \\ login \\ main_image.jpg \”的未捕获异常\'ImagickException \':没有此类文件或目录@ error / blob.c / OpenBlob / 2587 \'在C:\\ Users \\ fel \\ VertrigoServ \\ www \\ login \\ thumb.php:12堆栈跟踪:#0 C:\\ Users \\ fel \ \ VertrigoServ \\ www \\ login \\ thumb.php(12):Imagick-> __ construct(Array)#1 {main}抛出C:\\ Users \\ fel \\ VertrigoServ \\ www \\ login \\第12行的thumb.php
我正在尝试打开位于桌面的图像,但该错误似乎在localhost粘贴中搜索:
C:\\ Users \\ fel \\ VertrigoServ \\ www \\ login \\ main_image.jpg \:
任何想法?
如果我改变这个
$imagePath = $_FILES[\"userfile\"];
对此
$imagePath = \'thumb/main.jpg\';
一切正常
谢谢
没有找到相关结果
已邀请:
2 个回复
臀博
不会为您提供文件路径,而是为您提供一系列文件详细信息(有关更多信息,请参见http://www.w3schools.com/PHP/php_file_upload.asp)。 您的映像将被复制到PHP临时目录中,并且可以使用
找到其位置。 默认情况下,PHP将在脚本从其运行的文件夹中查找,这就是其在ѭ6中查找的原因。这意味着您要么在该文件夹中需要\“ thumbs \”目录(用于保存缩略图的目录),要么将路径完整地提供给正确的位置。 乍一看,其余代码看起来还不错:)
澜悍景哭苟
w3Schools ref 主要的“ 8”是一个包含所有文件信息的数组。