You are here: Re: broken file upload « PHP Programming Language « IT news, forums, messages
Re: broken file upload

Posted by Milan Krejci on 11/01/07 12:58

open_basedir no value no value

the directory indeed exists and is writable by apache, root or whoever

petersprc napsal(a):
> Hmm, does upimg exist and is writable by php? You can check directly
> by doing:
>
> error_reporting(E_ALL);
> touch('/var/www/html/brides/inc/class/upimg/.cshrc');
>
> Might want to check if open_basedir is defined also.
>
> On Nov 1, 6:12 am, Milan Krejci <r...@n0spam.mail.cz> wrote:
>> Warning: move_uploaded_file(/var/www/html/brides/inc/class/upimg/.cshrc)
>> [function.move-uploaded-file]: failed to open stream: isn't neither a
>> file nor directory in /var/www/html/brides/inc/class/register.php on
>> line 101
>>
>> Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to
>> move '/tmp/php6WsSrx' to '/var/www/html/brides/inc/class/upimg/.cshrc'
>> in /var/www/html/brides/inc/class/register.php on line 101
>>
>> Fatal error: Failed to save file to
>> /var/www/html/brides/inc/class/upimg/.cshrc in
>> /var/www/html/brides/inc/class/register.php on line 103
>>
>> petersprc napsal(a):
>>
>>> One thing to check is if error_reporting(E_ALL | E_STRICT) gives any
>>> notices. The php script below shows how to handle multiple and single
>>> file uploads.
>>> [upload.php]
>>> <?
>>> // This page will store the uploaded files in a directory
>>> // called "uploads".
>>> error_reporting(E_ALL);
>>> function storeUploads($id, $dir, $debug = false)
>>> {
>>> $ok = true;
>>> $count = 0;
>>> if (is_array($_FILES[$id]['error'])) {
>>> // Multiple files
>>> foreach ($_FILES[$id]['error'] as $key => $err) {
>>> if ($err != UPLOAD_ERR_OK && $err != UPLOAD_ERR_NO_FILE) {
>>> trigger_error("Upload of file $id failed with error " .
>>> "code $err.", E_USER_ERROR);
>>> $ok = false;
>>> } elseif ($err == UPLOAD_ERR_OK) {
>>> $tmp = $_FILES[$id]['tmp_name'][$key];
>>> $name = $_FILES[$id]['name'][$key];
>>> $dest = "$dir/" . basename($name);
>>> if ($debug) {
>>> echo "Storing file: id = $id, tmp = $tmp, name = $name, " .
>>> "dest = $dest<br>";
>>> }
>>> if (!move_uploaded_file($tmp, $dest)) {
>>> trigger_error("Failed to save file to $dest",
>>> E_USER_ERROR);
>>> $ok = false;
>>> } else {
>>> $count++;
>>> }
>>> }
>>> }
>>> } else {
>>> // Single file
>>> $err = $_FILES[$id]['error'];
>>> if ($err != UPLOAD_ERR_OK && $err != UPLOAD_ERR_NO_FILE) {
>>> trigger_error("Upload of file $id failed with error code " .
>>> "$err.", E_USER_ERROR);
>>> $ok = false;
>>> } elseif ($err == UPLOAD_ERR_OK) {
>>> $tmp = $_FILES[$id]['tmp_name'];
>>> $name = $_FILES[$id]['name'];
>>> $dest = "$dir/" . basename($name);
>>> if ($debug) {
>>> echo "Storing file: id = $id, tmp = $tmp, name = $name, " .
>>> "dest = $dest<br>";
>>> }
>>> if (!move_uploaded_file($tmp, $dest)) {
>>> trigger_error("Failed to save file to $dest",
>>> E_USER_ERROR);
>>> $ok = false;
>>> } else {
>>> $count++;
>>> }
>>> }
>>> }
>>> return $ok ? $count : $ok;
>>> }
>>> if ($_SERVER['REQUEST_METHOD'] == 'POST') {
>>> $count = storeUploads('file', dirname(__FILE__) . '/uploads',
>>> true);
>>> echo "Stored $count " . ($count == 1 ? 'file' : 'files') .
>>> '.<br>';
>>> }
>>> ?>
>>> <h3>Single Upload</h3>
>>> <form action="upload.php" method="post" enctype="multipart/form-data">
>>> <input type="file" name="file"><br><br>
>>> <input type="submit" value=" OK ">
>>> </p>
>>> </form>
>>> <h3>Multiple Uploads</h3>
>>> <form action="upload.php" method="post" enctype="multipart/form-data">
>>> <input type="file" name="file[]"><br>
>>> <input type="file" name="file[]"><br>
>>> <input type="file" name="file[]"><br><br>
>>> <input type="submit" value=" OK ">
>>> </p>
>>> </form>
>>> On Nov 1, 3:27 am, Milan Krejci <r...@n0spam.mail.cz> wrote:
>>>> while(list($key,$value) = each($_FILES["file"]["name"]))
>>>> {
>>>> if(!empty($value)){
>>>> $filename = $value;
>>>> $add = "upimg/$filename";
>>>> echo $_FILES["file"]["tmp_name"][$key];
>>>> $error=copy($_FILES["file"]["tmp_name"][$key], $add);
>>>> if (!$error) $progressUploadingPhotos=false;
>>>> $error=chmod($add,0777);
>>>> if (!$error) $progressUploadingPhotos=false;
>>>> } else $progressUploadingPhotos=false;
>>>> }
>>>> the thing is that the file is never saved. any ideas?
>
>

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация