Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]usuwanie zdjęć za pomocą php z katalogu
Forum PHP.pl > Forum > Przedszkole
Festi
Witam. Mam taki problem. Nie zajmuję się php na co dzień. Posklecałem coś takiego. Tzn. zrobiłem galerię zdjęć ze skryptu z internetu

http://www.olele.cal.pl/realizacje.php

zdjęcia odczytuje z katalogu GALERIA na serwerze
Do tego zrobiłem stronę admin.php http://www.olele.cal.pl/admin.php
login:admin
hasło:admin
Mogę tu dodawać zdjęcia do katalogu GALERIA.

Problem w tym, że nie potrafię napisać skryptu, który by pozwalał mi je kasować (oczywiście wybrane przeze mnie a nie wszystkie). Potrzebuję coś takiego, żeby pod każdym zdjęciem była opcja usuń albo coś podobnego. Czy mógłby mi ktoś pomóc? napisać jak to zrobić albo dopisać fragment kodu? Będę bardzo wdzięczny

kod:

<?php
include('ustawienia.php');
if($id == 'login')
{
if($_POST['login']==$admin && md5($_POST['haslo'])==$haslo)
{
setcookie('ladmin', $admin, time()+3600*24*7);
setcookie('lhaslo', $haslo, time()+3600*24*7);
echo 'Zalogowany<br /><br /><a href="admin.php">Kliknij</a><br /><br />';
} else
{
echo 'Zły nick lub hasło<br /><br />';
}
}
if($_COOKIE['ladmin']==$admin && $_COOKIE['lhaslo']==$haslo)
{
echo '<a href="admin.php?id=dodaj_p">Dodaj zdjęcie </a><br /><br />(tylko gif lub jpg max 100kb)<br />';
echo '<a href="admin.php?id=dodaj_pole1">Dodaj pole 1 </a>';

}
else
{
echo '<form name="admin" action="admin.php?id=login" method="POST">';
echo '<input type="text" name="login" style="width: 263px;" value="login" onclick="this.value=\'\'"><br />';
echo '<input type="password" name="haslo" style="width: 263px;" value="haslo" onclick="this.value=\'\'"><br />';
echo '<input type="submit" value="Login">';
echo '</form>';
}

if($_COOKIE['ladmin']==$admin && $_COOKIE['lhaslo']==$haslo)
{
if($id == 'dodaj_p')
{
echo '
<br>
<form enctype="multipart/form-data" action="admin.php?id=dodaj_p" method="POST">

<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
<input name="plik" type="file" />
<input type="submit" value="Wyślij plik" />
</form>

';
$plik_tmp = $_FILES['plik']['tmp_name'];
$plik_nazwa = $_FILES['plik']['name'];
$plik_rozmiar = $_FILES['plik']['size'];

$plik_nazwa = strtolower($plik_nazwa);
$plik_nazwa = str_replace("ż","z",$plik_nazwa);
$plik_nazwa = str_replace("ą","a",$plik_nazwa);
$plik_nazwa = str_replace(" ","",$plik_nazwa);
$plik_nazwa = str_replace("_","",$plik_nazwa);
$plik_nazwa = str_replace("ś","s",$plik_nazwa);
$plik_nazwa = str_replace("ć","c",$plik_nazwa);
$plik_nazwa = str_replace("ź","z",$plik_nazwa);
$plik_nazwa = str_replace("ó","o",$plik_nazwa);
$plik_nazwa = str_replace("ł","l",$plik_nazwa);
$plik_nazwa = str_replace("ń","n",$plik_nazwa);

$sp = explode(".",$plik_nazwa);
$count_sp = count($sp) - 1;

// sprawdzamy rozszerzenie
if($sp[$count_sp] == "gif" or $sp[$count_sp] == "jpg") {
echo "Plik poprawny";
// zamiast tego napisu wstaw kod,
// ktory zapisuje plik na serwer
}
else {
echo "Plik niepoprawny. Tylko pliki <strong>gif i jpg</strong> ";
exit;
}

if(is_uploaded_file($plik_tmp)) {
move_uploaded_file($plik_tmp, "galeria/$plik_nazwa");
echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze
<strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
}
else
echo "Nie udało się wysłać zdjęcia <strong>$plik_nazwa</strong> na serwer.Pamiętaj, że zdjęcie nie może byś większe niż <strong>100kb</strong>";
}
}
?>

athei
Do wyświetlenia listy zdjęć możesz użyć
  1. <?php
  2. if ($handle = opendir('./galeria'))
  3. {
  4. while (($file = readdir($handle))!=false)
  5. {
  6. if ($file != '.' && $file != '..') {
  7. echo'<img src="galeria/'.$file.'" />';
  8. echo '<a href="usun.php?zdjecie='.$file.'">Usun</a>';
  9. }
  10. }
  11. }
  12. closedir($handle);
  13. ?>

Usun.php
  1. <?php
  2. $file= $_GET['zdjecie'];
  3. $katalog = ".\galeria\\";
  4. if (file_exists($katalog.$file))
  5. unlink($katalog.$file);
  6. ?>

Pozabezpieczaj sobie odpowiednio, np w usun.php sprawdzaj czy zalogowany user itd.
Festi
Dzięki. Ale nie usuwa coś. Co jest nie tak?

http://www.olele.cal.pl/fotki.php

http://www.olele.cal.pl/realizacje.php

Czy nie ma jakiegoś prostego błędu w tym skrypcie? czemu nie usuwa fotek? proszę o pomoc
athei
Pomyliłem się z ukośnikami w usun.php
Źle $katalog = ".\galeria\\";
Dobrze $katalog = "./galeria/";
Festi
Już działa :-)))) SUPER WIELKIE DZIĘKI :-)
solange90
Miałam podobny problem, odpowiedź bardzo mi pomogła, tylko w moim przypadku obok każdego zdjęcia mają być checkboxy i na podstawie ich zaznaczenia zdjęcia mają być usuwane. Modyfikowałam wiele razy powyższy kod, ale nic nie pasuje.
athei
  1. <form action="usun.php" method="post">
  2. <?php
  3. if ($handle = opendir('./galeria')) {
  4. while (($file = readdir($handle)) != false) {
  5. if ($file != '.' && $file != '..') {
  6. echo'<img src="galeria/'.$file.'" />';
  7. echo '<input type="checkbox" name="zdjecie[]" value="' . $file . '" />';
  8. }
  9. }
  10. }
  11. closedir($handle);
  12. ?>
  13. <input type="submit" name="submit" value="usun wybrane" />
  14. </form>


usun.php
  1. <?php
  2. $katalog = ".\galeria\\";
  3. if (isset($_POST['zdjecie'])) {
  4. foreach ($_POST['zdjecie'] as $file) {
  5. if (file_exists($katalog . $file)) {
  6. unlink($katalog . $file);
  7. echo 'Plik ' . $file . ' usuniety.<br />';
  8. }
  9. }
  10. }
  11.  
  12. ?>
solange90
Krążyłam wokół tego, bardzo dziękuję za pomoc!!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.