Witam
Wrzuce cały skrypt ale będę tłumaczył tylko co to nie działa (IMG:
style_emoticons/default/tongue.gif) i odrazu mówię że nie chce robić innym sposobem tylko chce dokończyć to co dotychczas zrobiłem.
A więc tak w pierwszym skrypcie chce sprawdzić w bazie czy dany token już istnieje a jeśli istnieje to chce aby zrobił nowy, niestety albo nie działa albo muli muli i nic bo próbowałem różnymi sposobami
<?php
if (isset($_POST['submit'])) { /**
* @author Kafar
* @copyright 2015
*/
//definicja stalych
require_once("stale.php");
require_once("function.php");
$img = $_FILES['image'];
//walidacja start
echo "Nie wstawiłes zdjecia";
}
//walidacja end
//wykoananie skryptu
foreach ($img['tmp_name'] as $key => $tmp_name) {
$image = $_FILES['image']['name'][$key];
$image_type = $_FILES['image']['type'][$key];
$image_size = $_FILES['image']['size'][$key];
if (($image_type == 'image/gif') || ($image_type == 'image/jpeg') || ($image_type == 'image/pjpeg') || ($image_type == 'image/png')) {
if (($image_size > 0) && ($image_size <= GW_MAXFILESIZE)) {
// Przenoszenie plików do docelowego katalogu.
$target = GW_LOKALIZACJA . $image;
//hash pliku
$filename = $_FILES['image']['tmp_name'][$key];
//hash pliku
//pobranie rozszerzenia
$ext = $odczyt['extension'];
//pobranie rozszerzenia
//info pliku
$rozmiar = round($img['size'][$key]/1024) . " KB"; $wymiary = $width ." x ". $height;
//info pliku
$token = gentoken(12);
if (move_uploaded_file($_FILES['image']['tmp_name'][$key], GW_LOKALIZACJA
. $token . "." . $ext)) {
$connect = mysqli_connect(HOST, USER, PASSWORD, NAZWA_BAZY, PORT)
or
die('Brak połączenia z serwerem MySQL');
echo 'Połączenie nawiązane<br />'; // dodajemy rekord do bazy
// petla wykonuje sie dopoki nie wygenerujemy unikalnego tokenu
while(true)
{
// losuj nowy token. Tu nie wiemy, czy zostanie wylosowany taki co byl juz w bazie
// sprawdz czy wylosowany jest juz w bazie
$czyTokenIstniejeWBazie = mysqli_query($connect ,"SELECT * FROM obrazki WHERE token = '$token';");
// jesli go nie ma, to przerywamy, bo mamy odpowiedni
if($czyTokenIstniejeWBazie == false)
break;
// jesli jest w bazie, to petla wykona sie jeszcze raz
}
// tutaj juz mamy unikalny token, wiec dodajmy do bazy
$ins = "INSERT INTO obrazki VALUES (0,NOW(),'$md5file' , '$rozmiar' , '$wymiary' , '$token' , '$ext')";
$query = mysqli_query($connect, $ins);
if ($query)
{
echo 'Dane zostały wpisane do bazy <br />'; }
else
echo 'Błąd przy dodawaniu rekordów do bazy <br />';
$zapytanie = mysqli_query($connect ,"SELECT id FROM obrazki ORDER BY id DESC LIMIT 1");
$rekord = mysqli_fetch_array($zapytanie);
$last_id = $rekord['id'];
echo 'id obrazka to:' . $last_id . '<br />';
echo 'token: ' . $token . '<br />'; echo 'Nazwa: ' . $img['name'][$key] . '<br/>'; echo 'Rozmiar: ' . $rozmiar . '<br/>'; echo 'Rozszerzenie pliku ' . $ext . "<br />"; echo '<img src="' . GW_LOKALIZACJA
. $token . "." . $ext . '" width="300px" heith="300px" alt="image" /></p><br />'; echo 'Link do obrazka: kafar.nazwa.pl/wrzucfote.pl/'. GW_LOKALIZACJA
. $token . "." . $ext; ?>
<form>
<input onclick="this.form.txt.select();" type="button" value="zaznacz kod">
<textarea style="resize: none;" name="txt" cols="50" rows="4">
<?php echo 'http://kafar.nazwa.pl/wrzucfote.pl/' . GW_LOKALIZACJA
. $token . "." . $ext;?> </textarea>
<input type="button" value="Losowa strona" onclick="window.open('getObraz.php');" />
</form>
<?php
mysqli_close($connect);
}
}
else
echo "Obrazek nie moze być wiekszy niż 5 mb"; }
else
echo "Przesłany plik nie jest obrazekiem!!! <br /> Dostępne rozszerzenia: .gif, .jpeg, .pjpeg, .png "; }
}
}
//wykoananie skryptu
?>
W drugim skrypcie chce wybrał z bazy token + rozszerzenie obrazka i go wyświetlił, token ma być zrobiony $_GET'em i wywala tylko błąd "niestety ten token nie jest przypisany do zadnego obrazka"
<?php
/**
* @author gencyolcu
* @copyright 2015
*/
require_once("stale.php");
require_once("function.php");
$connect = mysqli_connect(HOST, USER, PASSWORD, NAZWA_BAZY, PORT)
or
die('Brak po��czenia z serwerem MySQL');
echo 'Po��czenie nawi�zane<br />';
// pobieranie z linku tokenu
$token = $_GET['token'];
// szukanie w bazie wpisu z tym tokenem
$wiersz = mysqli_query($connect ,"SELECT * FROM Obrazki WHERE token = '$token' AND rozszerzenie = '$ext';");
// sprawdzamy, czy znalezlismy
if(!$wiersz) {
echo "niestety ten token nie jest przypisany do zadnego obrazka";
}
else {
$ext = $wiersz['ext'];
//$prawdziwa_sciezka_do_img = $wiersz['sciezkaDoObrazka'];
// generuj tag img
echo '<img src="' . GW_LOKALIZACJA
. $token . "." . $ext . '" width="300px" heith="300px" alt="image" /></p><br />';
}
mysqli_close($connect);
?>