Опять upload

Статус
В этой теме нельзя размещать новые ответы.

Aex

Guest
Опять upload

Подскажите пожалуйста, воспользовался скриптом написанным в факе, и не работает. Я ставлю его на бесплаиный хостинг, на агаву, может поэтому не работает? Пишет Error: moving fie failed, подскажите пожалуйста, че делать? Спасибо.
 

ARN

Guest
и заодно права на директорию в которую пишется файл
 

Aex

Guest
Есть такой скрипт :

<?

if ($REQUEST_METHOD == "POST")
{

/* SUBMITTED INFORMATION - use what you need
* temporary filename (pointer): $imgfile
* original filename : $imgfile_name
* size of uploaded file : $imgfile_size
* mime-type of uploaded file : $imgfile_type
*/

/*== upload directory where the file will be stored
relative to where script is run ==*/
$uploaddir = ".";

/*== get file extension (fn at bottom of script) ==*/
/*== checks to see if image file, if not do not allow upload ==*/
$pext = getFileExtension($imgfile_name);
$pext = strtolower($pext);
if (($pext != "jpg") && ($pext != "jpeg"))
{
print "<h1>ERROR</h1>Image Extension Unknown.<br>";
print "<p>Please upload only a JPEG image with the extension .jpg or
.jpeg ONLY<br><br>";
print "The file you uploaded had the following extension: $pext</p>\n";

/*== delete uploaded file ==*/
unlink($imgfile);
exit();
}


//-- RE-SIZING UPLOADED IMAGE

/*== only resize if the image is larger than 250 x 200 ==*/
$imgsize = GetImageSize($imgfile);

/*== check size 0=width, 1=height ==*/
if (($imgsize[0] > 250) || ($imgsize[1] > 200))
{
/*== temp image file -- use "tempnam()" to generate the temp
file name. This is done so if multiple people access the
script at once they won't ruin each other's temp file ==*/
$tmpimg = tempnam("/tmp", "MKUP");

/*== RESIZE PROCESS
1. decompress jpeg image to pnm file (a raw image type)
2. scale pnm image
3. compress pnm file to jpeg image
==*/

/*== Step 1: djpeg decompresses jpeg to pnm ==*/
system("djpeg $imgfile >$tmpimg");


/*== Steps 2&3: scale image using pnmscale and then
pipe into cjpeg to output jpeg file ==*/
system("pnmscale -xy 250 200 $tmpimg | cjpeg -smoo 10 -qual 50
>$imgfile");

/*== remove temp image ==*/
unlink($tmpimg);

}

/*== setup final file location and name ==*/
/*== change spaces to underscores in filename (damn windows!) ==*/
$final_filename = str_replace(" ", "_", $imgfile_name);
$newfile = $uploaddir . "/$final_filename";

/*== move file to proper directory ==*/
if (!copy($imgfile,"$newfile"))
{
/*== if an error occurs the file could not
be written, read or possibly does not exist ==*/
print "Error Uploading File.";
exit();
}

/*== delete the temporary uploaded file ==*/
unlink($imgfile);


print("<img src=\"$final_filename\">");

/*== DO WHATEVER ELSE YOU WANT
SUCH AS INSERT DATA INTO A DATABASE ==*/

}
?>


<form action="<?=$SCRIPT_NAME; ?>" method="POST"
enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="1024000">

<p>Upload Image: <input type="file" name="imgfile"><br>
<font size="1">Click browse to upload a local file</font><br>
<br>
<input type="submit" value="Upload Image">
</form>

Я ничего не трогаю, и картинки загружаемые с помощью этого оказываются в папке где лежит этот пхп файл, тоесть на серваке,на сайте. но картинки не открываются, подскажите в чем проблема?
 

Aex

Guest
а какой он должен быть? и как? на серваке через фтп правой кнопкой и chmod?
 

Fiva

Держу ZMH
исправь
if (!copy($imgfile,"$newfile"))
{
/*== if an error occurs the file could not
be written, read or possibly does not exist ==*/
print "Error Uploading File.";
exit();
}
else chmod($newfile,0755)
или конечно можешь каждый раз через фтп разруливать, но это довольно таки напряжно...

-~{}~ 14.05.05 16:07:

точку с запятой забыл...
 

Fiva

Держу ZMH
слушай а чего у тебя
$newfile = $uploaddir . "/$final_filename";
и print("<img src=\"$final_filename\">");
ты говоришь он таки заливает файл? посмотри в сорцах выданной страницы путь картинки и попробуй открыть по этому пути и напиши какую ошибку выкинет, если 404 - неправильный путь, если 403 - то значит все таки прав нету...
 

Aex

Guest
Он показывает место под картинку, но саму картинку не показывает... А ошибкаи никакой не выдает, что может быть?

-~{}~ 14.05.05 18:35:

А что не так?
 

Fiva

Держу ZMH
ну показывает место под картинку - вот и посмотри куда он это место показывает. Правой кнопкой мыши - Свойства, копируешь оттуда адрес и тулишь в адресную строку и давишь энтер, смотришь ошибку, какую выдает и пишешь всем.
 

Aex

Guest
ваще никакой ошибки, просто X красный и все, адрес на картинку правильный, и на серваке она лежит, тока когда с него сливаешь ету картинку обратно, она не открывается... а размер, тип такие же...
 

Fiva

Держу ZMH
вот наконец то пришли к выводу что файло бьется при аплоде, когда то слышал о такой проблеме но сам с ней не сталкивался, увы, дальше помочь не могу... поищи тут в форуме должно быть решение.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху