Resize snipper gezocht
Code (php)
1
<?php move_uploaded_file($_FILES["cover"]["tmp_name"][$teller], "../images/top40/" . $_FILES["cover"]["name"][$teller]); ?>
Deze staat net na mijn query. De rest controle er boven.
Alleen nu zoek ik een stukje code voor bij de move_uploaded_file om deze na een bepaalde grote te resize.
Is er z'n kort stukje code of iets er voor?
Gewijzigd op 31/05/2012 22:06:59 door remco schrubben
Er staat toch al een voorbeeldscript?
ik zeg knippen en plakken met wat code verwijderen die je niet nodig hebt, goed nalopen wat er allemaal gebeurd en je bent klaar... geen raket die de lucht in moet. Mooi voorbeeld Aar!
Alleen heb wel een andere vraag.
Ik heb aan de hand van een tut de volgende code kunnen maken.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
echo '<pre>';
var_dump($_POST);
echo '</pre>';
if ( $_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['ok']) )
{
move_uploaded_file($_FILES['img']['tmp_name'],$_FILES['img']['name']);
include("resize.php");
$target = $_FILES['img']['name'];
$new = "resize_".$target;
$type = $_FILES['img']['type'];
$w = 80;
$h = 80;
resize($target,$new,$w,$h,$type);
echo "<img src='".$target."'>";
echo "<img src='".$new."'>";
}
else
{
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
echo '<pre>';
var_dump($_POST);
echo '</pre>';
if ( $_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['ok']) )
{
move_uploaded_file($_FILES['img']['tmp_name'],$_FILES['img']['name']);
include("resize.php");
$target = $_FILES['img']['name'];
$new = "resize_".$target;
$type = $_FILES['img']['type'];
$w = 80;
$h = 80;
resize($target,$new,$w,$h,$type);
echo "<img src='".$target."'>";
echo "<img src='".$new."'>";
}
else
{
?>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="img" />
<input type="submit" name="ok" value="upload" />
</form>
Hier hoort eigenlijks ook nog een resize.php bij maar die is niet van toepassing in dit verhaal. Het scriptje doet presies wat ik hebben wil, alleen hij zet nu de orgineel en geresize file in de zelfde map als script staat. Ik zou dit graag in een andere map willen hebben. Maar ik krijg heb er niet tussen gedrukt.
Wie ziet hem?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
// verander deze regels
move_uploaded_file($_FILES['img']['tmp_name'],$_FILES['img']['name']);
include("resize.php");
$target = $_FILES['img']['name'];
// in dit
$target = 'hier_de_mapnaam/' . $_FILES['img']['name'];
move_uploaded_file($_FILES['img']['tmp_name'], $target);
include("resize.php");
?>
// verander deze regels
move_uploaded_file($_FILES['img']['tmp_name'],$_FILES['img']['name']);
include("resize.php");
$target = $_FILES['img']['name'];
// in dit
$target = 'hier_de_mapnaam/' . $_FILES['img']['name'];
move_uploaded_file($_FILES['img']['tmp_name'], $target);
include("resize.php");
?>
Maar als ik dan naar de pagina surf dan krijg ik een volledig wit scherm. Er word dus niets geladen.
UPDATE
Op dit moment heb ik het stukje nu zo:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$target = 'images/test/' . $_FILES['img']['name'];
move_uploaded_file($_FILES['img']['tmp_name'], $target);
include("resize.php");
$target = 'images/test/' . $_FILES['img']['name'];
$new = "resize_".$target;
$type = $_FILES['img']['type'];
$w = 80;
$h = 80;
resize($target,$new,$w,$h,$type);
echo "<img src='".$target."'>";
echo "<img src='".$new."'>";?>
$target = 'images/test/' . $_FILES['img']['name'];
move_uploaded_file($_FILES['img']['tmp_name'], $target);
include("resize.php");
$target = 'images/test/' . $_FILES['img']['name'];
$new = "resize_".$target;
$type = $_FILES['img']['type'];
$w = 80;
$h = 80;
resize($target,$new,$w,$h,$type);
echo "<img src='".$target."'>";
echo "<img src='".$new."'>";?>
Hij zet nu wel de orgineel in de gewenste map neer. Alleen krijg ik nu 3 foutmeldingen.
Warning: imagejpeg(): Unable to open 'resize_images/test/Gusttavo-Lima-Balada.jpg' for writing: No such file or directory in ..\..\..\resize.php on line 19
De resize.php is:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
function resize($target,$new,$w,$h,$type)
{
list($wo,$ho)= getimagesize($target);
if($type=="image/jpeg")
{
$nen = imagecreatefromjpeg($target);
}
elseif($type=="image/gif")
{
$nen = imagecreatefromgif($target);
}
elseif($type=="image/png")
{
$nen = imagecreatefrompng($target);
}
$chen = imagecreatetruecolor($w,$h);
imagecopyresampled($chen,$nen,0,0,0,0,$w,$h,$wo,$ho);
imagejpeg($chen,$new,80);
}
?>
function resize($target,$new,$w,$h,$type)
{
list($wo,$ho)= getimagesize($target);
if($type=="image/jpeg")
{
$nen = imagecreatefromjpeg($target);
}
elseif($type=="image/gif")
{
$nen = imagecreatefromgif($target);
}
elseif($type=="image/png")
{
$nen = imagecreatefrompng($target);
}
$chen = imagecreatetruecolor($w,$h);
imagecopyresampled($chen,$nen,0,0,0,0,$w,$h,$wo,$ho);
imagejpeg($chen,$new,80);
}
?>
Ik kom er neit mee uit de voeten. Wie kan me eventueel helpen.
Gewijzigd op 01/06/2012 22:15:44 door remco schrubben
Gewijzigd op 01/06/2012 22:53:33 door Frank WD
Ik heb regel 6 van het eerste stukje verandert naar.
Nu word hij wel in map gezet. Alleen krijg ik heb als: artiest.jpgresize_
Hier nog oplossing voor zoeken. Mocht iemand het eerder zien als mijn hoor ik het graag.
UPDATE: Opgelost
Ik heb het volgende gedaan.
Eerst heb ik de extensie in een var gezet.
Daarnaast heb ik de file naam een nieuwe naam gegeven. Hier heb ik de datum en artiest naam aan toegevoegd.
Omdat de orginele file ook bewaard moest blijven moest ik 2x een target maken. Dit kan misschien makkelijke, dat hoor ik dan graag nog van jullie.
Omdat die $new tegen liep en hij dus maakte 22-2012_Artiest.jpg_resize, moest deze regel dus ook anders gedaan worden. Dit is geworden:
Nu upload hij dus de orgineel en de resize file na locatie en resize ook netjes.
Mocht iemand een betere manier weten hoor ik die als nog graag even.
Hier het complete stukje:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
//de extensie van het bestand in een $var zetten.
$x = strtolower(substr($_FILES['img']['name'], -3));
$week = date("W").'-'.date("Y"); // Week en Jaar in een $var zetten.
$plaatje = $week.'.'.$x; // Nieuwe file naam samen stellen met $week & $x.
$target_new = 'images/test/'; // Lokatie voor het geresize plaatje.
$target = 'images/test/' .$plaatje; // Lokatie Orginele plaatje.
move_uploaded_file($_FILES['img']['tmp_name'], $target);
include("resize.php");
$new = $target_new.$week.'_small.'.$x; // Alles voor de rezise plaatje in een $var zetten.
$type = $_FILES['img']['type'];
$w = 80; // Width nieuwe plaatje.
$h = 80; // Hight nieuwe plaatje.
resize($target,$new,$w,$h,$type); // Funtion aanroepen voor resize.
echo "<img src='".$target."'>";
echo "<img src='".$new."'>";
?>
//de extensie van het bestand in een $var zetten.
$x = strtolower(substr($_FILES['img']['name'], -3));
$week = date("W").'-'.date("Y"); // Week en Jaar in een $var zetten.
$plaatje = $week.'.'.$x; // Nieuwe file naam samen stellen met $week & $x.
$target_new = 'images/test/'; // Lokatie voor het geresize plaatje.
$target = 'images/test/' .$plaatje; // Lokatie Orginele plaatje.
move_uploaded_file($_FILES['img']['tmp_name'], $target);
include("resize.php");
$new = $target_new.$week.'_small.'.$x; // Alles voor de rezise plaatje in een $var zetten.
$type = $_FILES['img']['type'];
$w = 80; // Width nieuwe plaatje.
$h = 80; // Hight nieuwe plaatje.
resize($target,$new,$w,$h,$type); // Funtion aanroepen voor resize.
echo "<img src='".$target."'>";
echo "<img src='".$new."'>";
?>
Gewijzigd op 02/06/2012 01:24:37 door remco schrubben