2011-03-02 1 views
0

J'ai ce script:galerie php

if(($_POST['number2'] && !$_POST['button_add']) || ($_POST['number2'] && !$_POST['button_add_gal'])) { $num=$_POST['number2']; 
      for($p=0; $p<$num; $p++) { 
      if ($_POST['page']=='news') { 
         $dir = '../images/news/'; // Директорията в която ще се записват файловете 
         } 
         if ($_POST['page']=='gallery') { 
         $dir = '../images/gallery/'; // Директорията в която ще се записват файловете 
         } 
         $name[$p]='gal_'.$_FILES['file']['name'][$p]; 
         move_uploaded_file($_FILES['file']['tmp_name'][$p], $dir.$name[$p]); 
      $filename[$p] = $name[$p]; 



         if ($_POST['page']=='news') { 
         createThumb('../images'.DIRECTORY_SEPARATOR.'news'.DIRECTORY_SEPARATOR.$filename[$p]); 

       echo '<img src="../images/news/thumb_'.$filename[$p].'" width="50" height="50" border="0" style="margin-left:10px;">'; 
         } 
         if ($_POST['page']=='gallery') { 
          createThumb('../images'.DIRECTORY_SEPARATOR.'gallery'.DIRECTORY_SEPARATOR.$filename[$p]); 

       echo '<img src="../images/gallery/thumb_'.$filename[$p].'" width="50" height="50" border="0" style="margin-left:10px;">'; 

       if($_POST['page']=='gallery'){ 
      resizeImage('../images'.DIRECTORY_SEPARATOR.'gallery'.DIRECTORY_SEPARATOR.$filename[$p]); } 
         if ($_POST['page']=='news'){ 
          resizeImage('../images'.DIRECTORY_SEPARATOR.'news'.DIRECTORY_SEPARATOR.$filename[$p]); 
         } 
         } 
} } 

function createThumb($source, $thumb_width=150) 
     { 
    $fl = dirname($source); 
    $new_name = 'thumb_'.basename($source); 
    $img = imagecreatefromjpeg($source); 
    $width = imagesx($img); 
    $height = imagesy($img); 
    $new_width = $thumb_width; 
    $new_heght = floor($height * ($thumb_width/$width)); 
    $tmp_img = imagecreatetruecolor($new_width, $new_heght); 
    imagecopyresampled($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_heght, $width, $height); 
     imagejpeg($tmp_img, $fl.DIRECTORY_SEPARATOR.$new_name); 
     } 

     function resizeImage($source, $thumb_width=700) 
     { 
    $fl = dirname($source); 
    $new_name = basename($source); 
    $img = imagecreatefromjpeg($source); 
    $width = imagesx($img); 
    $height = imagesy($img); 
    $new_width = $thumb_width; 
    $new_heght = floor($height * ($thumb_width/$width)); 
    $tmp_img = imagecreatetruecolor($new_width, $new_heght); 
    imagecopyresampled($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_heght, $width, $height); 
     imagejpeg($tmp_img, $fl.DIRECTORY_SEPARATOR.$new_name); 
     } 

Il fonctionne très bien avec de petites images, mais si je l'utilise de plus grandes images, il ne fonctionne que pour 2 fichiers. Si je joins 3 fichiers ou plus, il les télécharge et quand la page est rafraichie, s'attendant à voir les images téléchargées il n'y a rien sur la page. Il est retourné dans l'état par défaut. Pas même un message d'erreur est affiché. J'ai reconfiguré le php5.ini upload_max_filesize à 100M mais toujours rien. J'utilise les extensions de fichier php5 et safe_mode est désactivé en php5 avec le mode CGI et gd2 est actif. Quel pourrait être le problème?

+0

duplication possible de [Télécharger taille maximale en PHP?] (http://stackoverflow.com/questions/3263480/upload-max-size-in-php) –

+0

@Col. Shrapnel, qu'est-ce que tu veux dire? Je l'ai déclaré dans un php5.ini il n'y a pas d'instructions de taille max dans le code – Victor

+0

il y a ** plusieurs ** paramètres PHP dans la réponse par le lien. Dud vous les essayez tous? –

Répondre

-1

Je me demande si votre script expire? Ajouter ini_set ("max_execution_time", 500); ou quelque chose au début du script et voir si cela aide

+0

J'ai mis la ligne dans la première ligne après la première pour pour ($ p = 0; $ p <$ num; $ p ++) { ini_set (" max_execution_time ", 500); même résultat – Victor

+0

Vous le voulez probablement dans la toute première ligne de votre script – Alex