Ik ben op zoek naar een script dat de extensie van een bestand hernoemd.

Alle jpg's in een folder moeten hernoemd worden naar png...

Weet iemand een script hiervoor?

Of is bij onderstaand stukje script een regel toe te voegen dat hij een jpg direct als png wegschrijft?

<?
// if(($mstructure->parts[$mpart]->subtype == 'jpg') or ($mstructure->parts[$mpart]->subtype == 'jpeg')){
// imagejpeg($mnewimage,'images/upload/'.$mfilename);
// }else{
// imagepng($mnewimage,'images/upload/'.$mfilename);
// }
$fileContruct = explode(".",$mstructure->parts[$mpart]->dparameters[0]->value);
$count = sizeof($fileContruct)-1;
$fileExtension = $fileContruct[$count];
$fileExtension."<br>\n";
switch($fileExtension) {
case "jpeg":
case "jpg":
imagejpeg($mnewimage,'images/upload/2006/'.$mfilename);
break;
case "png":
imagepng($mnewimage,'images/upload/2006/'.$mfilename);
break;
}
}
else {
if(file_exists('images/upload/2006/'.$mfilename)){
unlink('images/upload/2006/'.$mfilename);
}
// if(($mstructure->parts[$mpart]->subtype == 'jpg') or ($mstructure->parts[$mpart]->subtype == 'jpeg')){
// imagejpeg($mimage,'images/upload/'.$mfilename);
// }
// else{
// imagepng($mimage,'images/upload/'.$mfilename);
// }
$fileContruct = explode(".",$mstructure->parts[$mpart]->dparameters[0]->value) ;
$count = sizeof($fileContruct) ;
$fileExtension = $fileContruct[$count];
$fileExtension."<br>\n";
switch($fileExtension) {
case "jpeg":
case "jpg":
imagejpeg($mnewimage,'images/upload/2006/'.$mfilename);
break;
case "png":
imagepng($mnewimage,'images/upload/2006/'.$mfilename);
break;
}
}
$mcontent.='[*img]'.$domain.'images/upload/2006/'.$mfilename.'[/img]\n';
imagedestroy($mimage);
}
}
?>
<?php
$map = './path/to/dir/';

if(@$dir = opendir($map)) {

while (false !== ($file = readdir($dir)) ) {
if (is_file($map.$file)) {
if (strtolower(end(explode('.',$file))) == 'jpg') {
rename($map.$file, $map.substr($file, 0, -4).'png');
}
}
}
}
?>
Tja, je kan het ook een .doc maken. Maar dan IS het nog geen doc.
@SanThe
Het is ook mogelijk dat ze per ongeluk verkeerd zijn genoemd ofzo.

Maar inderdaad, extensie veranderen maakt het geen image meer, jpeg heeft een andere indeling dan png.
PHPerik schreef op 03.05.2006 08:17
<?php
$map = './path/to/dir/';

if(@$dir = opendir($map)) {

while (false !== ($file = readdir($dir)) ) {
if (is_file($map.$file)) {
if (strtolower(end(explode('.',$file))) == 'jpg') {
rename($map.$file, $map.substr($file, 0, -4).'png');
}
}
}
}
?>



Als ik het script draai gebeurd er niets...
Ook met error_reporting(E_ALL); niet.

Ziet iemand waarom er niets gebeurd?
zet eens een paar else na elke if met fouten erin, kijk waar hij op kapotklapt
Ik zou inderdaad even dit doen:

echo $map.substr($file, 0, -4).'png';
<?php
error_reporting(E_ALL);
$map = '/image/upload/April/';

if(@$dir = opendir($map)) {

while (false !== ($file = readdir($dir)) ) {
if (is_file($map.$file)) {
if (strtolower(end(explode('.',$file))) == 'jpg') {
echo $map.substr($file, 0, -4).'png';
rename($map.$file, $map.substr($file, 0, -4).'png');
}
}
}
}
?>

Loopt gewoon door...
Als je errors wilt zien moet je geen @ gebruiken.
zonder de @ krijg ik dit:

Warning: opendir(): SAFE MODE Restriction in effect. The script whose uid/gid is 1234538/976856 is not allowed to access / owned by uid/gid 0/0 in /data/members/paid/d/e/derodehaan.nl/htdocs/www/site2/mms/rename.php on line 8

Warning: opendir(/image/upload/April/): failed to open dir: No such file or directory in /data/members/paid/d/e/derodehaan.nl/htdocs/www/site2/mms/rename.php on line 8

Script is zo:

<?
require("hardblock.php");
?>
<?php
error_reporting(E_ALL);
$map = '.\image\upload\April\';

if($dir = opendir($map)) {

while (false !== ($file = readdir($dir)) ) {
if (is_file($map.$file)) {
if (strtolower(end(explode('.',$file))) == 'jpg') {
rename($map.$file, $map.substr($file, 0, -4).'png');
}
}
}
}
?>
Je mag het helemaal niet van je hosting.

Reageren