Страница 1 из 1

[PERL] не хочет записываться файл из формы хоть убей

Добавлено: 2008-04-05 1:00:29
ProFTP

Код: Выделить всё

use CGI::Carp qw(fatalsToBrowser);
use DBI;
require "dev.pl";
use CGI;
use DBD::mysql;
use Math::Round qw(nearest);
use Image::Magick;

#use strict;
use warnings;
use CGI::Cookie;
use Storable;
use vars '$dbh', '%user_vars';
use POSIX;
use Digest::MD5 qw(md5_hex);
use Encode qw(encode_utf8);

if ($action=~/reg$/i){
reg3();
}


$pageone=param(pageone);

if $pageone{
regrel();
}

sub reg4 {
<form name="pageone" method="post" enctype="multipart/form-data">
  <div align="center"><center><table border="0" cellspacing="0" cellspacing=1>
    <tr>
      <td align="right">Логин:</td>
      <td colspan="2"><input type="hiden" name="logi0" size="15">(с 2 до 15 символов, латинские символы)</td>
    </tr>
    <tr>
      <td align="right">pass:</td>
      <td colspan="2"><input type="hiden" name="passs" size="15">(с 2 до 15 символов, латинские символы)</td>
    </tr>
    <tr>
      <td align="right">pass:</td>
      <td colspan="2"><input type="hiden" name="passs2" size="15">(с 2 до 15 символов, латинские символы)</td>
    </tr>
    <tr>
      <td align="right">имя:</td>
      <td colspan="2"><input type="hiden" name="login0" size="15">(с 2 до 15 символов, латинские символы)</td>
    </tr>
    <tr>
      <td align="right">pers:</td>
      <td colspan="2"><input name="photo" type="file">  </td>
<br>
    </tr>

      <td></td>
      <td align="center"><input type="submit" value="Добавить"></td>
      <td align="center"><input type="reset" value="Очистить"></td>
    </tr>
}


sub rerrel{


$photo=param(photo);

if ($photo) {


  # путь к директории для закачки директория 
  # должна иметь право на запись для 
  # пользователя, под которым работает веб-сервер 
  $downpath = "/usr/local/www/q21/perl/photo/";

  #my $in=param('picture'); 

  # выделяем имя файла из параметра 
    ($name)=$photo =~ m#([^\\/:]+)$#; 

$a="jpg";

$file = $downpath.$avatar.$tv.".".$a;

  #$open(OUT,">$file") || die "$!"; 
  #binmode(OUT); 
  # читаем входной поток и пишем в файл 




 #$file = $path_image.$tv[1].".".$tv[0];
  open (IMG, ">$file"); binmode IMG;  print IMG while (<$photo>); close (IMG); chmod 0644, $file;



# 
#  my $ix="150"; 
#  my $iy="150";
# 
# 
# 
#  $photo = Image::Magick->new;
#   $photo->Read("$file"); # $file - понятно что это только что загруженный файл
# 
# 
# 
# my ($ox, $oy, $oc, $ic, $nx, $ny, $geo);
#   ($ox,$oy)=$photo->Get('columns','height');
#   if (($ox > $ix)||($oy > $iy)) {
#    $oc = $ox/$oy; $ic = $ix/$iy;
#    if ($oc < $ic) {$ny = $iy; $nx=int(($ox/$oy)*$iy);}
#    elsif ($oc > $ic) {$nx = $ix; $ny=int(($oy/$ox)*$ix);}
#    else {$nx = $ix; $ny = $iy;}}
#   else {$nx=$ox;$ny=$oy;}
# 
# #Изменяем размер и сохраняем изображение:
# 
#   $geo = 'geometry';
#   $photo->Resize(geometry=>$geo, width=>$nx, height=>$ny);
#   $file = $path_image."i".$tv[1].".".$tv[0];
#   $photo -> Write("$photo");

}
вверху примерный дивжок...

как записать картинку?? я уже запарился с этой фигнюшкой

Re: не хочет записываться файл из формы хоть убей(perl)

Добавлено: 2008-04-05 1:05:03
ProFTP
создаеться пустой файл

Re: не хочет записываться файл из формы хоть убей(perl)

Добавлено: 2008-04-05 22:05:45
ProFTP

Код: Выделить всё

<form name="pageone" method="post" enctype="multipart/form-data" action="s.pl>

Re: не хочет записываться файл из формы хоть убей(perl)

Добавлено: 2008-04-25 10:41:27
zg
у меня такое ощущение, что тут что-то не то....
if ($action=~/reg$/i){
reg3();
}
...
$pageone=param(pageone);
if $pageone{
regrel();
}
откуда к тебе пришёл $action?
sub reg4 {
<form name="pageone" method="post" enctype="multipart/form-data">
а перл точно умеет сам различать где перл, а где html-форма?

Re: не хочет записываться файл из формы хоть убей(perl)

Добавлено: 2008-04-25 11:10:57
ProFTPD
я уже сделал, очень долго не мог найти проблему...

Код: Выделить всё

<form name="pageone" method="post" enctype="multipart/form-data">
меняем на

Код: Выделить всё

<form name="pageone" method="post" enctype="multipart/form-data" action="upload.pl">
я сам сделал вот так типо

Код: Выделить всё

print << "[INFO5]";
    <tr>
       Имя:
    <input type="text" name="loginc" value="$lastlogin" size="15">
    </tr>
[INFO5]
откуда к тебе пришёл $action?
из движка пришел, я пишу по модулях, потмоу что очень много код занял более 10000 строк

это для:
index.pl?action=фукнция
....

Re: не хочет записываться файл из формы хоть убей(perl)

Добавлено: 2008-04-25 11:13:06
ProFTPD

Код: Выделить всё

if ($action=~/reg$/i){
reg3();
}
забыл отписаться что сделал

Re: не хочет записываться файл из формы хоть убей(perl)

Добавлено: 2008-04-25 11:29:37
zg
ProFTPD писал(а):из движка пришел, я пишу по модулях, потмоу что очень много код занял более 10000 строк
многова-то для перла... сам писал?

Re: не хочет записываться файл из формы хоть убей(perl)

Добавлено: 2008-04-27 12:08:14
ProFTPD
ну там приходиться повторять несколько раз одно и тоже, разделил функциями, но все равно, приходится проверки делать, и повторять одно и тоже, сам код пофига как самое главное чтобы выглядело и двигалось, проверки на ввод делать, передавать... писам сам, только сессии использовал из примера...

Re: не хочет записываться файл из формы хоть убей(perl)

Добавлено: 2008-04-27 23:32:04
Alex Keda
однако надо осваивать функции...

Re: не хочет записываться файл из формы хоть убей(perl)

Добавлено: 2008-04-27 23:35:36
Alex Keda

Код: Выделить всё

hosting$ find . -name \*.php -exec cat {} > /tmp/ttt.txt \;
hosting$ wc -l /tmp/ttt.txt
    6726 /tmp/ttt.txt
hosting$    
это - auto.lissyara.su - довольно немаленький проект...

Код: Выделить всё

hosting$ find . -name \*.php -exec cat {} > /tmp/ttt.txt \;
hosting$ wc -l /tmp/ttt.txt
  164852 /tmp/ttt.txt
hosting$   
а это вот этот форум...