Ankündigung

Einklappen
Keine Ankündigung bisher.

CHMOD Problem: Inappropriate file type or format

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • CHMOD Problem: Inappropriate file type or format

    Hallo!

    Wenn ich in meinem php-script mit chmod() einer anderen datei rechte setzen will kommt immer folgender Fehler:

    Warning: chmod(): Inappropriate file type or format .

    Der Code sieht folgendermassen aus:

    Code:
    function chmode($file,$mode)
    {
    	$pfad = $_SERVER['DOCUMENT_ROOT'];
    	if(chmod($pfad."/".$file,$mode))
    	{
    		$string = "CHMOD gesetzt!";	
    	}
    	else
    	{
    		$string = "CHMOD konte nicht gesetzt werden!";
    	}
    	return $string;
    }
    $mode ist zum beispiel 0644
    und $file ist eine Datei (hallowelt.php).

    Was kann man da machen, dass es funktioniert?

    Joe

  • #2
    $mode ist zum beispiel 0644
    und $file ist eine Datei (hallowelt.php).
    Bei Deinen Angaben weiß man nicht so genau, was richtig ist, weil beim $file fehlen ja offensichtlich Anführungszeichen. Hat Du sie nur dort weggelassen oder auch beim $mode?

    Kommentar


    • #3
      sftw nach der fehlermeldung. das erste suchergebnis.
      und nochmal genau auf http://www.php.net/chmod lesen, wie $mode sein muss.

      PHP-Code:
      $eins 0644;
      $zwei '0644';
      var_dump($eins);
      var_dump($zwei);
      var_dump($eins === $zwei); 
      grüße
      axo

      Kommentar


      • #4
        Re: CHMOD Problem: Inappropriate file type or format

        Zitat von JoeDoe.asd
        Wenn ich in meinem php-script mit chmod() einer anderen datei rechte setzen will kommt immer folgender Fehler:

        Warning: chmod(): Inappropriate file type or format .

        Code:
        	if(chmod($pfad."/".$file,$mode))
        $mode ist zum beispiel 0644
        Das geht so nicht. chmod() erwartet eine Oktalzahl, die Du als Literal angeben mußt, weil sonst das automatische Typecasting zuschlägt und die Oktalzahl 0644 in die Dezimalzahl 420 umwandelt. Mit 420 kann allerdings chmod nix anfangen. Klingt komisch, ist aber so.

        Korrekt:
        chmod($datei, 0644);

        Falsch:
        $mode = 0644;
        chmod($datei, $mode);

        Kommentar


        • #5
          Re: CHMOD Problem: Inappropriate file type or format

          Zitat von ignatz
          Falsch:
          $mode = 0644;
          chmod($datei, $mode);
          quatsch. probier's aus.

          Kommentar


          • #6
            Re: CHMOD Problem: Inappropriate file type or format

            Zitat von axo
            Zitat von ignatz
            Falsch:
            $mode = 0644;
            chmod($datei, $mode);
            quatsch. probier's aus.
            Hab ich doch:
            http://test.php-help.info/test/27/

            Allerdings findet man da
            http://de3.php.net/chmod
            in den Userkommentaren einen Hinweis:
            memp
            23-Aug-2005 12:04
            If you are storing your mode in a variable like

            $mode = 0755;

            you will run into the inevitable octal mode problem. An easy way around that is to use the octdec() function.

            chmod("some_filename.ext", octdec($mode));

            Kommentar


            • #7
              wtf? ist doch egal, ob du chmod() dezimal 420 oder oktal 644 übergibst. die rechte bleiben rw-r-r .

              Kommentar


              • #8
                hallo!

                die funktion sieht jetzt so aus:

                PHP-Code:
                function chmode($file,$mode)
                {
                    if(
                chmod(stand."/".$file,octdec($mode)))
                    {
                        
                $string "CHMOD gesetzt!";    
                    }
                    else
                    {
                        
                $string "CHMOD konte [b]nicht[/b] gesetzt werden!";
                    }
                    return 
                $string;

                und funktioniert auch fehlerfrei!!!!

                Danke für die Hilfe!

                Joe

                Kommentar

                Lädt...
                X