在php中上载动态创建的图像
实现:调整上传图像的大小并保存到文件系统 --假设正在上载一个1600x1024图像,所需的尺寸为500x300。因此,我找到的解决方案是在上传时调整图像大小。代码片段如下所示:在php中上载动态创建的图像,php,Php,实现:调整上传图像的大小并保存到文件系统 --假设正在上载一个1600x1024图像,所需的尺寸为500x300。因此,我找到的解决方案是在上传时调整图像大小。代码片段如下所示: <?php if(isset($_FILES['image'])){ //print_r($_FILES); die; $file = $_FILES['image']; //print_r($file); die; $filename = rand().time().'
<?php
if(isset($_FILES['image'])){
//print_r($_FILES); die;
$file = $_FILES['image'];
//print_r($file); die;
$filename = rand().time().'.'.end(explode('.', $file['name']));
//echo $filename; die;
if(move_uploaded_file('"image.php?filename='.$file['tmp_name'].'"', 'uploads/'.$filename)){
echo 'Uploaded '.$filename.' !';
}else{
echo 'Not Uploaded';
}
}
?>
<form method="POST" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>">
<input type="file" name="image">
<input type="submit" value="Upload"/>
</form>
您需要使用以下函数之一保存图像:、、等。如果将第二个参数设置为null
,原始图像流将直接输出。您需要在那里指定图像路径
imagejpeg($image_p, 'new-image.jpg', 100);
如果要自动检测图像类型,可以使用来提取图像。需要使用以下函数之一保存图像:、、等。如果将第二个参数设置为null
,则将直接输出原始图像流。您需要在那里指定图像路径
imagejpeg($image_p, 'new-image.jpg', 100);
如果要自动检测图像类型,可以使用来提取它。可以在已使用image.php的相同函数或其他文件上使用。
我在同一个函数上添加了一些代码,正在为我工作,请为您检查
if(isset($_FILES['image']))
{
//print_r($_FILES); die;
$file = $_FILES['image'];
//print_r($file); die;
$filename = rand().time().'.'.end(explode('.', $file['name']));
//echo $filename; die;
if(move_uploaded_file('"image.php?filename='.$file['tmp_name'].'"', 'uploads/'.$filename)){
echo 'Uploaded '.$filename.' !';
//once your file is uploaded you converting on same image
$filenameNew = $_GET['filename'];
// Get new dimensions
list($width, $height) = getimagesize($filename);
$new_width = 500;
$new_height = 200;
// Resample
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// Content type
header('Content-Type: image/jpeg');
//store path
$imageName=rand().time()."test.jpg";
$imagestore="uploads/".$imageName;
// Output
imagejpeg($image_p,$imagestore,100);
}else{
echo 'Not Uploaded';
}
}
您可以在已经使用image.php的相同函数或其他文件上使用。
我在同一个函数上添加了一些代码,正在为我工作,请为您检查
if(isset($_FILES['image']))
{
//print_r($_FILES); die;
$file = $_FILES['image'];
//print_r($file); die;
$filename = rand().time().'.'.end(explode('.', $file['name']));
//echo $filename; die;
if(move_uploaded_file('"image.php?filename='.$file['tmp_name'].'"', 'uploads/'.$filename)){
echo 'Uploaded '.$filename.' !';
//once your file is uploaded you converting on same image
$filenameNew = $_GET['filename'];
// Get new dimensions
list($width, $height) = getimagesize($filename);
$new_width = 500;
$new_height = 200;
// Resample
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// Content type
header('Content-Type: image/jpeg');
//store path
$imageName=rand().time()."test.jpg";
$imagestore="uploads/".$imageName;
// Output
imagejpeg($image_p,$imagestore,100);
}else{
echo 'Not Uploaded';
}
}
从
if(move_uploaded_file('"image.php?filename='.$file['tmp_name'].'"', 'uploads/'.$filename)){
echo 'Uploaded '.$filename.' !';
}else{
echo 'Not Uploaded';
}
到
从
if(move_uploaded_file('"image.php?filename='.$file['tmp_name'].'"', 'uploads/'.$filename)){
echo 'Uploaded '.$filename.' !';
}else{
echo 'Not Uploaded';
}
到
我认为您应该使用file\u get\u contents()
将该保存文件链接到您的目录。我认为您应该使用file\u get\u contents()
将该保存文件链接到您的目录。file\u get\u contents(image.php?filename=/opt/lampp/temp/phpxOgXwe):无法打开流:在/opt/lampp/htdocs/test/image/rt中没有这样的文件或目录。php@Sanjeev您必须在这一行提供正确的路径$resized_file=“image.php?filename=”.$file['tmp_name']
@Sanjeev可能是$resized_file=“image.php?filename=”.$file['name']代码>工作正常。GET参数用于创建具有自定义大小的图像,因此该参数必须是上载图像的临时位置file@Sanjeev先上传文件,然后调整其大小。file_get_内容(image.php?filename=/opt/lampp/temp/phpxOgXwe):无法打开流:在/opt/lampp/htdocs/test/image/rt中没有这样的文件或目录。php@Sanjeev您必须在这一行提供正确的路径$resized_file=“image.php?filename=”.$file['tmp_name']
@Sanjeev可能是$resized_file=“image.php?filename=”.$file['name']代码>工作正常。GET参数用于创建具有自定义大小的图像,因此该参数必须是上载图像的临时位置file@Sanjeev先上传文件,然后调整大小。