[PHP] shell_exec mach mich wahnsinnig

NetCrack

Lieutenant
Registriert
Okt. 2001
Beiträge
603
shell_exec mach mich wahnsinnig

Passt auf: beim letzten chkdsk durchgang sind mir n paar MP3s flöten gegangen, die ID3 Tags sind noch da ... toll. Da hab ich mir n script gebastelt das die Tags ausliehst und die Dateien dahingehend zurückumbenent. Aber shell_exec funktioniert aus mir unerklärlichen gründen schlicht nicht - jemand ne idee?

PHP:
<pre>
<?php
$dir = "c:/funketest/";
$dir2 = "c:\\funketest\\";

$handle=opendir ("$dir");

while (false !== ($file = readdir ($handle))) {
   if ($file != "." && $file != ".." && !stristr($file,".mp3"))
   {$files[] = $file;}
}

closedir($handle);

for ($i=0;$i<count($files);$i++){


    $file2 = fopen($dir.$files[$i], "r");
    fseek($file2, -128, SEEK_END);

    $tag = fread($file2, 3);


    if($tag == "TAG")
    {
        $data["song"] = trim(fread($file2, 30));
        $data["artist"] = trim(fread($file2, 30));
    }

          if (strlen($data["song"]) > 0 && strlen($data["artist"]) > 0 && $tag == "TAG") {
           shell_exec("ren \"".$dir2.$files[$i]."\" \"$data[artist] - $data[song].mp3\"");
           }

        fclose($file2);
    }
?>
 
Re: shell_exec mach mich wahnsinnig

ich hab dein topic mal um das prefix erweitert. bitte das nächste mal drauf achten. ;)
 
was kriegst denn für eine Fehlermeldung oder was passiert !?
 
Ähh shell_exec funktioniert doch glaube nur unter Unix Systemen!?
 
The Prophet schrieb:
Ähh shell_exec funktioniert doch glaube nur unter Unix Systemen!?
Hmm, wäre mir neu. Auf jedenfall steht in der PHP Referenz nichts davon. Du solltest dir aber mal die Kommentare dazu angucken. Ist vielleicht was hilfreiches dabei.
 
habe vorhin im image-galerie threat gepostet.

shell_exec() ist nicht drin wenn php im "safe mode" läuft.

dow
 
shell_exec geht auch unter win32. Safe mode ist aus.
 
Könnte daran liegen, dass du die Datei in deinem PHP-Script noch geöffnet hast und die Shell deshalb keinen Zugriff darauf bekommt.

Ist allerdings nur eine Vermutung. Getestet habe ich das jetzt nicht.
 
Zurück
Oben