rename() problem

Jon02

Mitglied
ich habe eine Bildergallerie im Netz bei denen die Nummerierung lückenhaft ist.
nun will ich die Bilder per php-Script neu nummerieren.
folgenden code habe ich geschrieben.
PHP:
<?php
  //Einstellungen
  $anzquelle=2;
  $z=1;
  $prefix_quelle="sola05 ";
  $prefix_ziel="img_";
  $host="js.jon02.ch/sola05";
  $verzeichnis_quelle="/images/gal1/";
  $verzeichnis_ziel="/images/gal1/";

  //Scriptcode
  for($i=1;$i<$anzquelle;$i++)
  {
  if($i<10)
    {
      $old_name=$host.$verzeichnis_quelle.$prefix_quelle."00".$i.".jpg";
    }
    else if(i<100)
    {
      $old_name=$host.$verzeichnis_quelle.$prefix_quelle."0".$i.".jpg";
    }
    else
    {
      $old_name=$host.$verzeichnis_quelle.$prefix_quelle.$i.".jpg";
    }

    if($i<10)
    {
      $new_name=$host.$verzeichnis_ziel.$prefix_ziel."00".$z.".jpg";
    }
    else if(i<100)
    {
      $new_name=$host.$verzeichnis_ziel.$prefix_ziel."0".$z.".jpg";
    }
    else
    {
      $new_name=$host.$verzeichnis_ziel.$prefix_ziel.$z.".jpg";
    }
    
    $old_name="\"". $old_name."\"";
    $new_name="\"".$new_name."\"";
    $done=rename($old_name,$new_name);
    
    if($done)
    {
      $z++;
    }
  }
?>

und ich bekomme dauernd die Fehlermeldung
Code:
Warning: rename("sola05 001.jpg","img_001.jpg"): No such file or directory in /home/www/web401/html/js/sola05/images/gal1/rename.php on line 42

egal ob ich den Pfad relativ oder absolut angebe

ich bin am verzweifeln :confused:
Gruss Jon02
 
Wieso $host, kapier ich ned, ist das eine Verzeichnis Struktur

Oder ne Domain, denn dann funktioniert rename(); nicht.
 
Zuletzt bearbeitet:
Du kannst [phpf]rename[/phpf] nicht über URL aufrufen.
Du musst einen relativen Pfad oder den absoluten File-Pfad angeben.

Leider kann ich dir die Lösung weiter aufzeigen, da ich nicht weiß, von welchem Ordner deine Datei aufgerufen wird.
 
Dann sollte es (ungetestet) so gehen:
PHP:
<?php
  //Einstellungen
  $anzquelle=2;
  $z=1;
  $prefix_quelle="sola05 ";
  $prefix_ziel="img_";

  //Scriptcode
  for($i=1;$i<$anzquelle;$i++)
  {
  if($i<10)
    {
      $old_name=$prefix_quelle."00".$i.".jpg";
    }
    else if(i<100)
    {
      $old_name=$prefix_quelle."0".$i.".jpg";
    }
    else
    {
      $old_name=$prefix_quelle.$i.".jpg";
    }

    if($i<10)
    {
      $new_name=$prefix_ziel."00".$z.".jpg";
    }
    else if(i<100)
    {
      $new_name=$prefix_ziel."0".$z.".jpg";
    }
    else
    {
      $new_name=$prefix_ziel.$z.".jpg";
    }
    
    $old_name="\"". $old_name."\"";
    $new_name="\"".$new_name."\"";
    $done=rename($old_name,$new_name);
    
    if($done)
    {
      $z++;
    }
  }
?>
Allerdings könnte das Leerzeichen nach Sola noch probleme machen.
 
Es ginge auch einfacher:
PHP:
<?php
	// Einstellungen
	$anzquelle = 2;
	$z = 1;
	$prefix_quelle = 'sola05 ';
	$prefix_ziel = 'img_';

	// Scriptcode
	for($i=1; $i<$anzquelle; $i++) {
		$old_name = sprintf($prefix_quelle.'%03d.jpg', $i);
		$new_name = sprintf($prefix_ziel.'%03d.jpg', $z);
		if( rename($old_name, $new_name) ) {
			$z++;
		}
	}

?>
 
Warning: rename(sola05 001.jpg,img_001.jpg): No such file or directory in /home/www/web401/html/js/sola05/images/gal2/rename.php on line 12

ich mach es glaub anders:
ich schreibe mir ein script in kixtart und lade die Bilder nochmals hoch
 

Neue Beiträge

Zurück