Autor | Zpráva | ||
---|---|---|---|
Vilak Profil |
#1 · Zasláno: 18. 8. 2016, 19:41:51
Zdravím. Mám udělaný code na nahrávání fotek na web, které mi funguje. A chci k tomu ještě dotvořit to, aby to třeba každou fotku zmenšilo třeba o 50 % a nahrálo ji to do jiné složky (třeba miniatura). Normální code na nahrávání ukážu níže. Jinak jsem už hledal jak to udělat, ale z anglických tutoriálů jsem to - bohužel - moc nepochopil, protože má znalost angličtiny je celkem bídná.
code (dopíšu poznámky): if (isset($_POST['add_photo'])) { if (!file_exists("../../galerie")) { mkdir("../../galerie", 0777); // tady by se měly nahrávat normální fotky } if (!file_exists("../../miniatury")) { mkdir("../../miniatury", 0777); // tady miniatury } $upload_dir = "../../galerie/"; $suffix = array("jpg", "jpeg", "png", "gif", "ico", "JPG", "JPEG"); $message = ""; include "../prevodni-tabulka.php"; include "../db/db.php"; if (isset($_FILES['images']) && is_array($_FILES['images']['name'])) { $counter = 0; $not_uploaded = 0; $filenames = []; $filenames1 = []; $add_message = 1; $add_message1 = 1; $suffix = array_flip($suffix); $url_img = $_SERVER['SERVER_NAME']; // možná je tu pár proměnných zbytečně iniciovaných, protože jsem něco zkoušel a zatím neopravil foreach ($_FILES['images']['name'] as $key => $name) { // cyklus pro nahrávání fotek $filename = basename($name); $tmpname = $_FILES['images']['tmp_name'][$counter]; var_dump($tmpname, $filename)."<br>"; if ($_FILES['images']['error'] == UPLOAD_ERR_NO_FILE) { $message .= "Nevybrali jste fotky, které chcete nahrát.<br>"; header("Location: ../../galerie.php?message=$message"); } if (!$_FILES || $_FILES['images']['error'] == UPLOAD_ERR_INI_SIZE) { $not_uploaded++; $sum = $counter + $not_uploaded; if ($sum == sizeof($_FILES['images']['name'])) { $message .= "Soubor je příliš velký, maximální velikost souboru je " . ini_get('upload_max_filesize') . ".<br>"; } continue; } if (!is_uploaded_file($tmpname) || !isset($suffix[strtolower(pathinfo($filename, PATHINFO_EXTENSION))])) { $not_uploaded++; $sum = $counter + $not_uploaded; if ($sum == sizeof($_FILES['images']['name'])) { $message .= "Některé soubory obsahují nepovolenou koncovku. Povolené jsou pouze .jpg, .jpeg, .png, .gif a .ico. "; } continue; } $filename = rand(1000, 9999)."-".rand(10, 99)."-".$filename; if (move_uploaded_file($tmpname, "{$upload_dir}".DIRECTORY_SEPARATOR."{$filename}")) { // uploadnutí fotky a zápis do DB $stmt = $conn->prepare("INSERT INTO `images` (`name`, `alt`) VALUES (?, ?)"); $stmt->execute(array( $filename, $filename )); $counter++; $url1 = compress_image($_FILES["file"]['tmp_name'], $url1, 50); } } $message .= "Bylo nahráno {$counter} z ".sizeof($_FILES['images']['name'])." obrázků."; //header("location: ../../galerie.php?message=$message"); } } Byl bych rád za každou radu. Nevím, čeho se mám chytit. Pokud budete mít otázky, ptejte se. Předem děkuji za odpovědi. :) |
||
Keeehi Profil |
#2 · Zasláno: 18. 8. 2016, 22:02:11
|
||
Časová prodleva: 8 let
|
0