1

このフォームを使用してサーバーにファイルをアップロードし、データベース sql にレコードを作成します。

サーバーから画像を削除するにはどうすればよいですか?

別のファイル eliminaimg.php (transl: deleteimg.php) で "unlink" メソッドを試しましたが、うまくいきません!!! 助けて!!!

 <?php
     @include 'config.php';

    if(isset($_POST['Submit'])){
      // faccio un po' di inclusioni...
       @require 'function.php';
      // Creo una array con i formati accettati
      $tipi_consentiti = array("image/gif","image/jpeg","image/png");

      // verifico che il formato del file sia tra quelli accettati
      if (@in_array($_FILES['imagefile']['type'], $tipi_consentiti)){ 
        // copio il file nella cartella delle immagini
        @copy ($_FILES['imagefile']['tmp_name'], $path_img . $_FILES['imagefile']['name']);

        // recupero i dati dal form
        $titolo = @addslashes($_POST['titolo']);
        $categoria = @addslashes($_POST['categoria']);
        $nome = @addslashes($_FILES['imagefile']['name']);
        $path = $path_img . stripslashes($nome);
        $tipo = @addslashes($_FILES['imagefile']['type']);


        // creo la miniatura
        @makeThumb($path_img,$path,$nome,$tipo);

        // aggiorno il database
        $query = "INSERT INTO images (Titolo,Categoria,Nome,Tipo) VALUES('$titolo','$categoria','$nome','$tipo')";
        $res = @mysql_query($query) or die (mysql_error());


        // Stampo a video un po' di informazioni
        echo "Nome: ".$_FILES['imagefile']['name']."<br />"; 
        echo "Dimensione: ".$_FILES['imagefile']['size']."<br />"; 
        echo "Tipo: ".$_FILES['imagefile']['type']."<br />"; 
        echo "Copia eseguita con successo."; 
      }else{
        // stampo un messaggio di errore nel caso in cui il file sia di un formato non consentito
        echo "Impossibile eseguire l'upload.";
      }
    } 

    echo "</form>";
    echo "<div id='panelright' class='panelright'>";
    echo "<button id='buttonallimg'>Tutti</button>";
    echo "<button id='buttoncollimg'>Collane</button>";
    echo "<button id='buttonanelimg'>Anelli</button>";
    echo "<button id='buttonorecimg'>Orecchini</button></div>";
    echo "<div id='all' class='viewgallery'>";
    echo "<table width='100px' border='1'>";

    $query = "SELECT * FROM images";
    $res = mysql_query($query) or die (mysql_error());
    $column = 1;
      while ($dati=@mysql_fetch_array($res)){
         if ($column == 1) {
            echo "<tr>";
        }


        $nome = stripslashes($dati['Nome']);

         echo "<td><a href='eliminaimg.php?Id=$dati[Id]?confirm=true' class='confirm'> <img src='images/delete.png'></a>";
         echo "<a href=\"" . $path_img . $nome . "\"rel=\"gallery[gallery1]\"><img src=\"" . $path_img . "tb_" . $nome . "\" \"></a></td>";

    if ($column == 5) {
            echo "</tr>";
            $column = 1;
        } else {
            $column++;
        }
    }
    if ($column != 1) {
        echo "</tr>";
    }
    echo "</table></div>";

eliminaimg.php

<?php

function delete(){
 @include 'config.php';


$comando = "DELETE from images " .
"where Id = '$_REQUEST[Id]'";


if(!mysql_query($comando))
echo "Modifica fallita <br/>";



chmod($path_img,0777);

$nome = $_REQUEST['imagefile']['name'];
$path = $path_img . $nome;


unlink ($path);


mysql_close($cn);
}
?>
4

3 に答える 3

0

間違ったファイルパスを指定している可能性があります。これを試して。

function del_directory_record($filename) {
  return unlink($_SERVER['DOCUMENT_ROOT'] . "/foldername/$filename");

}

于 2013-06-19T20:50:03.743 に答える
0

ファイルの権限が実際に 777 であることを確認してください。ファイルの所有者も確認してください。PHPがそのファイルを所有している可能性があります。そのファイルもchownする必要があるかもしれません。

SureVerify - メール認証

于 2013-06-20T02:14:13.313 に答える