Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: создание папки и запись туда фото + файл
Форумы портала PHP.SU » » Работа с файловой системой и файлами » создание папки и запись туда фото + файл

Страниц (1): [1]
 

1. h0ck - 14 Мая, 2013 - 12:35:26 - перейти к сообщению
есть форма вот такая:

CODE (html):
скопировать код в буфер обмена
  1. <form action="file_upload.php" method="post" enctype="multipart/form-data">
  2. <b>Ваше Ім'я та Прізвище: </b><br /><input type="text" name="pib" size="40"><b>Номер мобільного тел: </b><br /><input type="text" name="mob" size="40"><b>Розмір фото: </b><br /><input type="text" name="rozmir" size="40"><b>Кількість фотографій: </b><br /><input type="text" name="kilkist" size="40"><b>Коментарій до фотографії:</b><textarea name="com" cols="31" rows="3"></textarea><input type="file" name="userfile" />
  3. <input type="submit" value="Завантажити" name="upload_submit" />
  4. </form>


и есть обработчик:

PHP:
скопировать код в буфер обмена
  1. for($code_length = 15, $newcode = ''; strlen($newcode) < $code_length; $newcode .= chr(!rand(0, 2) ? rand(48, 57) : (!rand(0, 1) ? rand(65, 90) : rand(97, 122))));
  2.  
  3.             $newname = "".$trlit."";
  4.             $today = date('d-M-Y');
  5.             if ($trlit == '');
  6.             $file=fopen(''.$newname.'_'.$newcode.'_'.$today.'.html','a+');
  7.             fputs($file,'<h1>'.$pib.'</h1><br/>');
  8.             fputs($file,'Розмір фото: '.$rozmir.'<br/>');
  9.                         fputs($file,'Кількість фотографій: '.$kilkist.'<br/>');
  10.                         fputs($file,'Мобільний: '.$mob.'<br/>');                       
  11.             fputs($file,'Коментар до фото: '.$com.'<br/>');
  12.                         fputs($file,"Ім'я завантаженого фото: ".$asasas.'<br/>');
  13.             fclose($file);
  14.             echo 'Данные записаны в файл!';
  15. /**  
  16.  * @param  int    $max_file_size    максимальный размер файла в килобайтах  
  17.  * @param  array  $valid_extensions массив допустимых расширений  
  18.  * @param  string $upload_dir       директория загрузки  
  19.  * @return array                    сообщение о ходе выполнения  
  20.  */  
  21.     function uploadHandle($max_file_size = 16000, $valid_extensions = array(), $upload_dir = '.')  
  22.     {  
  23.      
  24.         $error = null;  
  25.         $info  = null;  
  26.         $max_file_size *= 16000;  
  27.  
  28.         if ($_FILES['userfile']['error'] === UPLOAD_ERR_OK)  
  29.         {  
  30.             // Перевіряємо розширення файлу  
  31.             $file_extension = pathinfo($_FILES['userfile']['name'], PATHINFO_EXTENSION);  
  32.             if (in_array($file_extension, $valid_extensions))  
  33.             {  
  34.                 // Перевіряємо розмір файлу  
  35.                 if ($_FILES['userfile']['size'] < $max_file_size)  
  36.                 {  
  37.                     $destination = $upload_dir .'/' . $_FILES['userfile']['name'];  
  38.      
  39.                     if (move_uploaded_file($_FILES['userfile']['tmp_name'], $destination))  
  40.                         $info = 'Файл успішно завантажено';  
  41.                     else  
  42.                         $error = 'Не вдалося завантажити файл';  
  43.                 }  
  44.                 else  
  45.                     $error = 'Размір файлу більше допустимого';  
  46.             }  
  47.             else  
  48.                 $error = 'У файла недопустиме разширення';  
  49.         }  
  50.         else  
  51.         {  
  52.             // массив ошибок  
  53.             $error_values = array(
  54.  
  55.                 UPLOAD_ERR_INI_SIZE   => 'Размер файла больше разрешенного директивой upload_max_filesize в php.ini',
  56.                 UPLOAD_ERR_FORM_SIZE  => 'Размер файла превышает указанное значение в MAX_FILE_SIZE',
  57.                 UPLOAD_ERR_PARTIAL    => 'Файл был загружен только частично',  
  58.                 UPLOAD_ERR_NO_FILE    => 'Не был выбран файл для загрузки',  
  59.                 UPLOAD_ERR_NO_TMP_DIR => 'Не найдена папка для временных файлов',  
  60.                 UPLOAD_ERR_CANT_WRITE => 'Ошибка записи файла на диск'
  61.  
  62.                                   );  
  63.      
  64.             $error_code = $_FILES['userfile']['error'];  
  65.      
  66.             if (!empty($error_values[$error_code]))  
  67.                 $error = $error_values[$error_code];  
  68.             else  
  69.                 $error = 'Случилось что-то непонятное';  
  70.         }  
  71.      
  72.         return array('info' => $info, 'error' => $error);  
  73.     }  
  74.      
  75. //////////////////////////////допустимі розширення зображень///////////////////////////////////////      
  76.     $extensions = array('jpg', 'JPG', 'jpeg', 'png', 'gif');  
  77.     $upload_dir = 'img';  
  78.      
  79.     // Запускаем функцию  
  80.     if(!empty($_POST['upload_submit']))
  81.     {      
  82.         $message = uploadHandle(200, $extensions, $upload_dir);  
  83.    
  84.         // Выводим сообщение  
  85.         echo $message['error'] ? $message['error'] : $message['info'];  
  86.     }


Так вот когда я в форме ввожу данные то картинка сохраняется в папку img а файл который создается в корень сайта, хотелось бы чтобы как картинка так и файл сохранялись в папку с именем переменной $pib, тоесть человек ввел все данные выбрал фото нажал загрузить и создаталась папка с его именем туда сохранился файл и фото. помогите плз с кодом так как моих знаний нехватает такое замутить
2. avtor.fox - 14 Мая, 2013 - 12:40:33 - перейти к сообщению
mkdir

kilkist Ха-ха
3. imya - 14 Мая, 2013 - 13:16:16 - перейти к сообщению
avtor.fox пишет:


kilkist Ха-ха


Транслит рулит видимо Радость
4. h0ck - 14 Мая, 2013 - 13:21:14 - перейти к сообщению
if(is_dir("../img/sidorenkosidor") == false){
mkdir("../img/sidorenkosidor", 0777);
}

Warning: mkdir() [function.mkdir]: No such file or directory in Z:\home\diplom.loc\www\file_upload.php on line 12
5. avtor.fox - 14 Мая, 2013 - 13:22:49 - перейти к сообщению
h0ck, так Вы и указывайте папку, а не файл
6. h0ck - 14 Мая, 2013 - 13:32:52 - перейти к сообщению
avtor.fox пишет:
h0ck, так Вы и указывайте папку, а не файл

ну ок, допустим так:
mkdir("Z:/home/diplom.loc/www/img/sidorenkosidor2", 0777);

создает, а вот так

mkdir("../img/sidorenkosidor2", 0777);

нет. как зделать так чтобы вписывать не полный путь до каталога?
7. imya - 14 Мая, 2013 - 14:21:30 - перейти к сообщению
_DIR_ ?

 

Powered by ExBB FM 1.0 RC1