kod błędu z var_dump()
array(1) { ["upload_submit"]=> array(5) { ["name"]=> array(1) { [0]=> string(9) "Koala.jpg" } ["type"]=> array(1) { [0]=> string(10) "image/jpeg" } ["tmp_name"]=> array(1) { [0]=> string(14) "/tmp/php0B7Scp" } ["error"]=> array(1) { [0]=> int(0) } ["size"]=> array(1) { [0]=> int(780831) } } }
skrypt:
<div class="news" style="font-size: 15px;"> <h1>Dodaj fotkę</h1> <br/><br/> <center> <?php $config['thumbnail_width'] = 180; // maksymalna szerokoć miniatury w pikselach $config['thumbnail_height'] = 160; // maksymalna wysokoć miniatury w pikselach $config['thumbnail_scale'] = true; // czy przy minimalizowaniu wielkoci zachowywać skalę? $config['path_images'] = 'upload/'; // cieżka do katalogu grafik $config['path_thumbnails'] = 'upload/thumbnails/'; // cieżka do katalogu miniatur $config['max_file_size'] = 1048576; // maksymalna wielkoć pliku w bajtach, 1MB function generateThumbnail($filename, $extension) { // stworzenie nowej grafiki wg typu switch ( $extension ) { default: $ic = imagecreatefromjpeg($config['path_images'] . $filename); break; } if ( $ic === false ) { return 'Miniaturka nie stworzona!'; } switch ( $config['thumbnail_scale'] ) { case false: // zmniejszanie bezporednio do 180x160px $nts = imagecreatetruecolor($config['thumbnail_width'], $config['thumbnail_height']); imagecopyresized($nts, $ic, 0, 0, 0, 0, $config['thumbnail_width'], $config['thumbnail_height'], $is[0], $is[1]); break; default: // zmniejszanie z zachowaniem skali, aż do osiągnięcia co najmniej 180x160px $width = $is[0]; $height = $is[1]; $ratio = $is[0] / $config['thumbnail_width']; if ( $ratio > 1 ) { $width = $config['thumbnail_width']; } $ratio = $height / $config['thumbnail_height']; if ( $ratio > 1 ) { $height = $config['thumbnail_height']; } $nts = imagecreatetruecolor($width, $height); // utworzenie obrazka o podanych rozmiarach z czarnym tłem imagecopyresized($nts, $ic, 0, 0, 0, 0, $width, $height, $is[0], $is[1]); break; } switch ( $extension ) // zapis do pliku { default: imagejpeg($nts, $config['path_thumbnails'] . $filename); break; } imagedestroy($nts); // zniszczenie obrazka return $config['path_thumbnails'] . $filename; } // pętla analizująca zawartoć wszystkich trzech potencjalnie wysyłanych plików foreach ( $_FILES['upload_image']['error'] as $key => $arr ) { if ( $_FILES['upload_image']['error'][$key] != UPLOAD_ERR_OK ) { // błąd wysyłania pliku continue; } if ( $_FILES['upload_image']['size'][$key] > $config['max_file_size'] ) { // plik jest za duży continue; } $namenowa = "$name2x.$extension[1]"; //Nowa nazwa z rozszerzeniem if ( in_array(strtolower($extension[count($extension)-1]), $config['accepted_extensions']) === false || in_array($_FILES['upload_image']['type'][$key], $config['accepted_mimes']) === false ) { // niepoprawne rozszerzenie pliku continue; } { // plik graficzny jest spreparowany continue; } { // plik nie został wysłany continue; } if ( !move_uploaded_file($_FILES['upload_image']['tmp_name'][$key], $config['path_images'] . $namenowa) ) { // wysyłanie nie może zostać zakończone poprawnie continue; } // wysyłanie pliku powiodło się! // opcjonalnie, jeżeli chcemy tylko z poziomu skrypt mieć dostęp do plików możemy odkomentować poniższa linijkę // chmod($config['path_images'] . $_FILES['upload_image']['name'][$key], 0600); } } } ?> <form method="post" action="" enctype="multipart/form-data"> <table> <tr><td>Nick:</td><td><input type="text" name="nick" value="" placeholder="Wpisz ksywkę"/></td></tr> <tr><td></td><td></td></tr> <tr style="padding-top: 10px;"><td>Fotka:</td><td><input type="file" name="upload_submit[]"/></td></tr> </table><br /><br /> <input type="submit" value="Wyślij" name="sent" /> </form> </center> </div>