wszystkie avatary są dodawane do jednego folderu,tylko pytanie jak teraz sprawdzić nazwę pliku avatara???klecę coś takiego
<?php include("config.php");
$nick = $_SESSION['nick'];
$haslo = $_SESSION['haslo'];
if ((empty($nick)) AND (empty($haslo))) {
echo '
Nie byłeś zalogowany albo zostałeś wylogowany
Strona Główna
';
exit;
}
$user = mysql_fetch_array(mysql_query("SELECT * FROM uzytkownicy WHERE `nick`='$nick' AND `haslo`='$haslo' LIMIT 1"));
if (empty($user[id]) OR !isset($user[id])) {
echo '
Nieprawidłowe logowanie.
';
exit;
}
// tresc dla zalogowanego uzytkownika
echo 'Witaj '.$user[nick].''; echo '
';
echo 'Wyloguj mnie'; echo 'Dodaj tapete'; echo 'Zobacz profile'; echo '
'; require'db.php'; $query = "SELECT link_avatar FROM uzytkownicy WHERE `nick`='$nick' AND `haslo`='$haslo' LIMIT 1 ";
$result = mysql_query($query) or die(mysql_error($mysqli)); $row = mysql_fetch_object($nick);
if ($result) { $folder= "avatar/img"; //podajemy nazwę folderu do oczyszczenia i usunięcia
$dir = opendir($folder);
while($a = readdir($dir)) { $nick = $_SESSION['nick']; if(!empty($_POST['name']))
{ $a=
//jak sprawdzamy plik avatara
{
if($a!='.' or $a!='..') { //jeżeli nazwą pliku nie jest . lub ..
unlink($folder."\\".$a); $row = mysql_fetch_object($user[id]);
$id=$row->$user[nick]; $zapytanie = "DELETE FROM uzytkownicy SET link_avatar='$path_file' WHERE nick='$nick'";
$idzapytania = mysql_query($zapytanie); if(!$zapytania)
{
echo "Wykonanie zapytania zawiodło. Nie można usunac avatara. " . mysqli_error();
}
else
{
echo "Udało się usunac avatar"; header('Location: ?id=edycjaprofili&edycjaprofili.php');
}
?>[/code]
jak sprawdzić nazwę pliku???
Za bardzo kombinujesz, przecież nazwę avataru masz w bazie więc po co cokolwiek sprawdzać? Dajesz unlink($folder."\".$nazwaAvataru); co najwyżej może wywalić error że plik nieznaleziony ale wtedy można “zdusić” ten błąd. Dodatkowo widzę dziwne zapytanie typu
$zapytanie = "DELETE FROM uzytkownicy SET link_avatar='$path_file' WHERE nick='$nick'";
Zamiast DELETE FROM dajesz update i co to jest $path_file.
mario mam błąd w lini 21
<?php include("config.php");
$nick = $_SESSION['nick'];
$haslo = $_SESSION['haslo'];
if ((empty($nick)) AND (empty($haslo))) {
echo '
Nie byłeś zalogowany albo zostałeś wylogowany
Strona Główna
';
exit;
}
$user = mysql_fetch_array(mysql_query("SELECT * FROM uzytkownicy WHERE `nick`='$nick' AND `haslo`='$haslo' LIMIT 1"));
if (empty($user[id]) OR !isset($user[id])) {
echo '
Nieprawidłowe logowanie.
';
exit;
}
// tresc dla zalogowanego uzytkownika
echo 'Witaj '.$user[nick].''; echo '
';
echo 'Wyloguj mnie'; echo 'Dodaj tapete'; echo 'Zobacz profile'; echo '
'; require 'db.php'; $query = "SELECT link_avatar FROM uzytkownicy WHERE `nick`='$nick' AND `haslo`='$haslo' LIMIT 1 ";
$result = mysql_query($query) or die(mysql_error($mysqli)); $row = mysql_fetch_object($nick);
if ($result) {
$folder= "avatar/img"; //podajemy nazwę folderu do oczyszczenia i usunięcia
$dir = opendir($folder);
while($a = readdir($dir)) { $nick = $_SESSION['nick']; if(!empty($_POST['name']))
{ $folder= "avatar/img"; $p_nazwa_zm="avatar/img/" $path_file=$folder.$p_nazwa_zm;
if($a!='.' or $a!=$path_file) { //jeżeli nazwą pliku nie jest . lub ..
unlink($folder."\\".$a); $row = mysql_fetch_object($user[id]);
$id = $row->$user[nick]; $zapytanie = "UPDATE uzytkownicy SET link_avatar='$path_file' WHERE nick='$nick'";
$idzapytania = mysql_query($zapytanie); if(!$zapytania)
{
echo "Wykonanie zapytania zawiodło. Nie można usunac avatara. " . mysqli_error();
}
else
{
echo "Udało się usunac avatar"; header('Location: ?id=edycjaprofili&edycjaprofili.php');
}
?>[/code]
wiem,że błąd jest ze sprawdzeniem pliku img.Jak to zrobić???
Po pierwsze pobierz ten program http://www.dobreprogramy.pl/Geany,Progr … 18731.html - bo ten którego używasz robi rozpierdziel(no chyba że Ty robisz takie dalekie wcięcia). Po drugie zacznij stosować wcięcia (o normalnych “rozmiarach” i w jakiejś harmonii). Następnie przypatrz się swojemu kodowi(a masz tam błędy).
Żeby ukryć występujący błąd przed unlik napisz @ - @unlink() (chociaż zamiast tego lepiej wcześniej sprawdzić czy plik istnieje http://php.net/manual/en/function.file-exists.php).
http://php.net/manual/en/function.mysql … object.php
Folder jest avatar/img.,a plik zaczyna się od img .Jak to sprawdzić.Czy najpierw wyciągnąć z bazy avatara z bazy SELECT,póżniej sprawdzenie sprawdzenie go i usunięcie???
Czy nazwę pliku pobieramy z bazy,bo musi być przecież plik wysłany przez danego użytkownika???
Starą nazwę pliku pobierasz z bazy danych, nowa nazwa dla avataru(pliku) nadawana jest podczas przekopiowywania do konkretnego folderu(jest niezależna od nazwy pliku jaki użytkownik załadował na serwer) i zapisywana do bazy danych.