Avatar billede bukselak Nybegynder
21. juni 2006 - 23:17 Der er 3 kommentarer og
1 løsning

Problemer med ZenPhoto på Surftown

Hej,

Jeg har uden held prøvet at installere ZenPhoto (www.zenphoto.org) på mit Surftown hotel. Når jeg forsøger at uploade billeder genereres mapperne fint, men ingen billeder bliver uploadet!? Er der nogle af jer, der har erfaringer med dette?

Surftown kræver at stierne inde i php scriptet skal være relative ("uploadedfiles/" og ikke "/hsphere/local/bruger/domæne.dk/uploadedfiles/"), men jeg har også forsøgt at ændre dette...

Håber nogle kan hjælpe.
Avatar billede whatever Nybegynder
22. juni 2006 - 23:44 #1
Problemet er umiddelbart, at Surftown's servere kører safe_mode. Det betyder reelt, at når zenphoto opretter mapper på serveren med mkdir, er det bruger x på serveren der opretter mappen. Når zenphoto uploader billedet til den oprettede mappe, er det bruger y på serveren der uploader billedet. Og da php kører safe_mode, må zenphoto ikke uploade billedet til mappen, da det er en anden php bruger der har oprettet mappen. Håber det giver mening ;-)

Problemet kan løses ved at ændre zenphoto, så mapperne oprettes via ftp i stedet for med mkdir. Og Surftown har slået ftp-extensionen til i php, så det er bare at gå igang med at ændre zenphoto.

Du kan læse mere om det her: http://www.zenphoto.org/support/topic.php?id=476
Avatar billede whatever Nybegynder
22. juni 2006 - 23:44 #2
Et svar.
Avatar billede bukselak Nybegynder
26. juni 2006 - 21:51 #3
Jeg her ikke fået prøvet det af endnu, men vender tilbage så snart det er gjort... Hold your horses!
Avatar billede bukselak Nybegynder
27. juni 2006 - 00:21 #4
Så fik jeg det til at virke ved at tilføje følgende: (OBS! ZenPhoto 1.0.3)


**********************
functions.php:
**********************

$ftp_server = 'xxxxxx';
$conn_id = ftp_connect($ftp_server);
$ftp_user_name = 'xxxxxx';
$ftp_user_pass = 'xxxxxx';

function mkdir_($str) {
  $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  if ((!$conn_id) || (!$login_result)) {
    echo "ftp connection failed!";
    exit;
  }
  ftp_mkdir($conn_id, "$str");
  $chmod_cmd="CHMOD 0777 ".$str;
  $chmod=ftp_site($conn_id, $chmod_cmd);
  ftp_close($conn_id);
}

function ftp_upload($destination_file,$source_file) {
  // set up basic connection
  $conn_id = ftp_connect($ftp_server);
   
  // login with username and password
  $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

  // IMPORTANT!!! turn passive mode on
  ftp_pasv ( $conn_id, true );

  // check connection
  if ((!$conn_id) || (!$login_result)) {
    //echo "FTP connection has failed!";
    //echo "Attempted to connect to $ftp_server for user $ftp_user_name";
    exit;
  } else {
    //echo "Connected to $ftp_server, for user $ftp_user_name";
  }
  // upload the file
  $upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
   
  // check upload status
  if (!$upload) {
    //echo "FTP upload has failed!";
  } else {
    //echo "Uploaded $source_file to $ftp_server as $destination_file";
  }
   
  // close the FTP stream
  ftp_close($conn_id);
}


**********************
admin.php:
**********************

$relativepath = 'tegneblog.dk/galleri/albums/' . $folder; /* Added for Surftown */
$uploaddir = SERVERPATH . '/albums/' . $folder;
       
if (!is_dir($relativepath)) {
  mkdir_($relativepath);
}
@chmod($relativepath,0777);

$error = false;
foreach ($_FILES['files']['error'] as $key => $error) {
  if ($_FILES['files']['name'][$key] == "") continue;
  if ($error == UPLOAD_ERR_OK) {
    $tmp_name = $_FILES['files']['tmp_name'][$key];
    $name = $_FILES['files']['name'][$key];
    if (is_image($name)) {
      $uploadfile = $uploaddir . '/' . $name;
      $uploadfile2 = $relativepath . '/' . $name;
      //move_uploaded_file($tmp_name, $uploadfile2);
      $source_file = $tmp_name;
      $destination_file = $uploadfile2;
      ftp_upload($destination_file, $source_file);
      @chmod($uploadfile, 0777);
    } else if (is_zip($name)) {
      unzip($tmp_name, $uploaddir);
    }
  }
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester