Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][JavaScript] Upload kilkudziesięciu fotek..., ...za pomocą jednego skryptu ?!
oomaster
post
Post #1





Grupa: Zarejestrowani
Postów: 305
Pomógł: 3
Dołączył: 4.08.2006
Skąd: GDA

Ostrzeżenie: (0%)
-----


Witam,

Przedstawię kod jaki posiadam a potem opiszę problem.
Kod
<script language="JavaScript">
function deleteFileInput(hyperlink)
{
    $(hyperlink).parent().remove();
    
    return false;
}

function createFileInput(description, max)
{
    var description = description ? true : false;
    var max = max ? max : false;
    
    var nextId = 0;
    
    var wrappers = $('.photoWrapper');
    
    if (!max || wrappers.length < max) {
        wrappers.each(function (i) {
            var id = parseInt($(this).attr('id').replace('photoWrapper', ''));
            if (id >= nextId) {
                nextId = id + 1;
            }
        });
    
        var p = $('<div>');
        div.addClass('photoWrapper');
        div.attr('id', 'photoWrapper' + nextId);
        
        var input = $('<input type="file" />');
        input.addClass('file');
        input.attr('name', 'photo[' + nextId + ']');
        div.append(input);
        
        if (description) {
            div.html(p.html() + ' Opis ');
            
            var input = $('<input type="text" />');
            input.addClass('text');
            input.attr('name', 'photo_description[' + nextId + ']');
            
            div.append(input);
        }
        
        var a = $('<a>');
        a.addClass('foto');
        a.attr('href', '');
        a.html(' usuĹ?');
        a.click(function () { return deleteFileInput(this); });
        
        div.append(a);
        
        div.insertAfter($('.photoWrapper:last'));
    }
    
    return false;
}
</script>

  1. <form action="foto.php" method="post" enctype="multipart/form-data">
  2. <div>
  3.  
  4. <input class="file" type="file" name="photo[0]" />
  5. <a class="foto" href="" onclick="return createFileInput();">+ więcej</a>
  6. </div>
  7. </form>


Teraz w pliku foto.php jest rozbudowany skrypt do uploadu fotek ale mój problem jest następujący jaką funkcją w php wszystkie fotki dodane za pomocą formularza obrobię przez ten jeden skrypt. Myślałem nad jakąś pętlą ale to chyba odpada ?

Czy to tego typu zadania foreach będzie ok ? Proszę o pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
oomaster
post
Post #2





Grupa: Zarejestrowani
Postów: 305
Pomógł: 3
Dołączył: 4.08.2006
Skąd: GDA

Ostrzeżenie: (0%)
-----


Dzięki wielkie problem w 90% rozwiązany zostaje jeszcze jeden szczegół (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Fotki uploadują się na serwer i są na nim i dostaje taki komunikat (IMG:http://forum.php.pl/style_emoticons/default/ohmy.gif)

Cytat
Plik av-4119.png został pomy�lnie uploadowany!
Plik babcia i zmieniaki.jpg został pomy�lnie uploadowany!
Upload pliku nie powiódł się!222222

Array
(
[val] => Array
(
[name] => Array
(
[0] => av-4119.png
[1] => babcia i zmieniaki.jpg
)

[type] => Array
(
[0] => image/png
[1] => image/jpeg
)

[tmp_name] => Array
(
[0] => /tmp/phphBjdZw
[1] => /tmp/phpucsalW
)

[error] => Array
(
[0] => 0
[1] => 0
)

[size] => Array
(
[0] => 12385
[1] => 86491
)

)

)


NIe wiem dlaczego pisze ,że jest OK a poniżej ,że jest błąd którego nie ma w rzeczywistości ?!

O to kod który jest poprawny (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Kod
<html><head>
<style type="text/css">
<!--
input.upload { display: block; }
-->
</style>
<script type="text/javascript">
<!--
function dodaj_element(kontener){
var znacznik = document.createElement('input');
znacznik.setAttribute('type', 'file');
znacznik.setAttribute('name', 'val[]');
znacznik.className = 'upload';
var kontener = document.getElementById(kontener);
kontener.appendChild(znacznik);
}
//-->
</script>
</head><body>
<?
echo "<h1>ADD Multi foto v1.2</h1>";

if (isset($_POST['joketext']))
{

foreach( $_FILES as $val )
    {
for ($i=0;$i<sizeof($val);$i++) {
        if( is_uploaded_file( $val['tmp_name'][$i] ) )
        {
            if( move_uploaded_file( $val['tmp_name'][$i], 'foto/' . $val['name'][$i] ) )
            {
                echo 'Plik '. $val['name'][$i] .' został pomyślnie uploadowany! <br />';
            } else {
                echo 'Upload pliku '. $val['name'][$i] .' nie powiódł się!';
                echo '<pre>' . print_r( $_FILES, true ) . '</pre>';
                die();
            }
        }
        else
        {
            echo 'Upload pliku '. $val['name'][$i] .' nie powiódł się!';
            echo '222222<pre>' . print_r( $_FILES, true ) . '</pre>';
            die();
        }
}
}

}
?>
<form action="test-news.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="joketext">
<div id="pliki">
<input type="file" name="val[]" />
</div>
<div>
<a href="#" onclick="dodaj_element('pliki');" />Dodaj pole</a>
<input class="sub" type="image" src="gfx/zapisz.gif" title="Zapisz" />
</div>
</form>
</body>
</html>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 02:27